Breaking changes v2 → v3:

Cameri🐦‍🔥

npub1qqqqqqyz0la2jjl752yv8h7wgs3v098mh9nztd4nr6gynaef6uqqt0n47m

hex

000016f23a49815a568f15f4ea218471362e14da835bd7087884bcb572b4245c

nevent

nevent1qqsqqqqk7gaynq262683ta82yxz8zd3wzndgxk7hppugf094w26zghqprpmhxue69uhhyetvv9ujuem4d36kwatvw5hx6mm9qgsqqqqqqzp8l74ff0l29zxrml8yggk8jnamje39k6e3ayzf7u5awqqcr4gwl

Kind-1 (TextNote)

2026-06-21T14:30:32Z

↳ 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:

  1. Node.js v24 LTS required (standalone only) — v2 ran on Node 14/16/18.

  2. npm replaced by pnpm (standalone only) — run "corepack enable && pnpm install" instead of "npm install".

  3. 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

  4. network.remote_ip_header renamed — must be network.remoteIpHeader (camelCase) in .nostr/settings.yaml.

  5. Pubkey whitelist/blacklist requires exact full hex pubkeys — partial/prefix matching no longer works. Review limits.event.pubkey.whitelist and blacklist in settings.

  6. NIP-26 Delegated Event Signing removed — the relay will reject delegated events.

  7. X-Forwarded-For no longer trusted unconditionally — if behind a reverse proxy, configure trusted proxies in settings to preserve correct client IPs.


Upgrade checklist:

  1. Back up your database
  2. Pull the v3.0.0 Docker image (or git pull && git checkout v3.0.0 for standalone)
  3. Run database migrations: pnpm db:migrate (Docker does this automatically on start)
  4. 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
  5. Update any systemd units or scripts referencing scripts/*
  6. (Standalone only) Upgrade Node.js to v24 and switch to pnpm
  7. 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"
}