Breaking changes v2 → v3:

npub1qqqqqqyz0la2jjl752yv8h7wgs3v098mh9nztd4nr6gynaef6uqqt0n47m
hex
000016f23a49815a568f15f4ea218471362e14da835bd7087884bcb572b4245cnevent
nevent1qqsqqqqk7gaynq262683ta82yxz8zd3wzndgxk7hppugf094w26zghqprpmhxue69uhhyetvv9ujuem4d36kwatvw5hx6mm9qgsqqqqqqzp8l74ff0l29zxrml8yggk8jnamje39k6e3ayzf7u5awqqcr4gwlKind-1 (TextNote)
↳ Reply to Cameri🐦🔥 (npub1qqqqqqyz0la2jjl752yv8h7wgs3v098mh9nztd4nr6gynaef6uqqt0n47m)
Nostream v3.0.0 released! 🚀✊ https://github.com/cameri/nostream/releases/tag/v3.0.0 Thanks to each of the following students from the Summer of Bitc...
Breaking changes v2 → v3:
-
Node.js v24 LTS required (standalone only) — v2 ran on Node 14/16/18.
-
npm replaced by pnpm (standalone only) — run "corepack enable && pnpm install" instead of "npm install".
-
scripts/ shell wrappers removed — replaced by the unified nostream CLI. Anything referencing scripts/start, scripts/stop, etc. (including systemd units) must be updated: scripts/start → nostream start scripts/start_with_tor → nostream start --tor scripts/start_with_i2p → nostream start --i2p scripts/start_with_nginx → nostream start --nginx scripts/stop → nostream stop scripts/print_tor_hostname → nostream info --tor-hostname
-
network.remote_ip_header renamed — must be network.remoteIpHeader (camelCase) in .nostr/settings.yaml.
-
Pubkey whitelist/blacklist requires exact full hex pubkeys — partial/prefix matching no longer works. Review limits.event.pubkey.whitelist and blacklist in settings.
-
NIP-26 Delegated Event Signing removed — the relay will reject delegated events.
-
X-Forwarded-For no longer trusted unconditionally — if behind a reverse proxy, configure trusted proxies in settings to preserve correct client IPs.
Upgrade checklist:
- Back up your database
- Pull the v3.0.0 Docker image (or git pull && git checkout v3.0.0 for standalone)
- Run database migrations: pnpm db:migrate (Docker does this automatically on start)
- Update .nostr/settings.yaml:
- Rename network.remote_ip_header → network.remoteIpHeader
- Replace partial pubkeys in whitelist/blacklist with full hex pubkeys
- Add trusted proxy config if behind a reverse proxy
- Update any systemd units or scripts referencing scripts/*
- (Standalone only) Upgrade Node.js to v24 and switch to pnpm
- NIP-26 delegated events are no longer accepted
Raw JSON
{
"kind": 1,
"id": "000016f23a49815a568f15f4ea218471362e14da835bd7087884bcb572b4245c",
"pubkey": "00000000827ffaa94bfea288c3dfce4422c794fbb96625b6b31e9049f729d700",
"created_at": 1782052232,
"tags": [
[
"e",
"0000098f1d09b2d06b17a96b1617760ccdb8590f8a0abd36f2f68f6f8c9eaa5f",
"",
"root"
],
[
"p",
"00000000827ffaa94bfea288c3dfce4422c794fbb96625b6b31e9049f729d700"
],
[
"client",
"Wisp"
],
[
"nonce",
"13206",
"18"
]
],
"content": "Breaking changes v2 → v3:\n\n1. Node.js v24 LTS required (standalone only) — v2 ran on Node 14/16/18.\n\n2. npm replaced by pnpm (standalone only) — run \"corepack enable \u0026\u0026 pnpm install\" instead of \"npm install\".\n\n3. scripts/ shell wrappers removed — replaced by the unified nostream CLI. Anything referencing scripts/start, scripts/stop, etc. (including systemd units) must be updated:\n scripts/start → nostream start\n scripts/start_with_tor → nostream start --tor\n scripts/start_with_i2p → nostream start --i2p\n scripts/start_with_nginx → nostream start --nginx\n scripts/stop → nostream stop\n scripts/print_tor_hostname → nostream info --tor-hostname\n\n4. network.remote_ip_header renamed — must be network.remoteIpHeader (camelCase) in .nostr/settings.yaml.\n\n5. Pubkey whitelist/blacklist requires exact full hex pubkeys — partial/prefix matching no longer works. Review limits.event.pubkey.whitelist and blacklist in settings.\n\n6. NIP-26 Delegated Event Signing removed — the relay will reject delegated events.\n\n7. X-Forwarded-For no longer trusted unconditionally — if behind a reverse proxy, configure trusted proxies in settings to preserve correct client IPs.\n\n---\n\nUpgrade checklist:\n\n1. Back up your database\n2. Pull the v3.0.0 Docker image (or git pull \u0026\u0026 git checkout v3.0.0 for standalone)\n3. Run database migrations: pnpm db:migrate (Docker does this automatically on start)\n4. Update .nostr/settings.yaml:\n - Rename network.remote_ip_header → network.remoteIpHeader\n - Replace partial pubkeys in whitelist/blacklist with full hex pubkeys\n - Add trusted proxy config if behind a reverse proxy\n5. Update any systemd units or scripts referencing scripts/*\n6. (Standalone only) Upgrade Node.js to v24 and switch to pnpm\n7. NIP-26 delegated events are no longer accepted",
"sig": "49245e9b0d0f2a5a21ef29841dfd4068d799a6d30629ab9aa97b069d2886635c281508331f6728846925ca44099e0ad47a642fcb63e4d8d9325a78423d33d1b6"
}