unstale

npm / @react-router/node

@react-router/node

What changed in @react-router/node 7 to 8, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-20.

1 breaking3 new APIs and options1 tooling7 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli on npm

@react-router/node 86 changes

Breaking changes 1

  • The minimum supported Node version is now 22.22.0.

    8.0.0release notes

Fixes and other changes 5

  • Session data is written to a temporary file and renamed into place to prevent concurrent commits from corrupting the file, while preserving existing file permissions.

    8.5.0release notes

  • Fixes memory retention for the lifetime of a long-running stream while preserving error handling when the destination closes as the next chunk is read.

    8.4.0release notes

  • Fixes memory retention for the lifetime of a long-running stream while preserving error handling when the destination closes as the next chunk is read.

    8.4.0release notes

  • Prevents client disconnects during streaming from crashing the Node process.

    8.3.1release notes

  • TypeScript 7 can now be used with @react-router/node.

    8.3.0release notes

@react-router/node 76 changes

New APIs and options 3

  • Opting in enables middleware; custom servers using getLoadContext may need to migrate to the middleware getLoadContext API.

    7.0.0upgrade guide

  • Opting in passes the raw HTTP request to handlers instead of normalizing request.url; use the sibling url parameter for normalized routing logic.

    7.0.0upgrade guide

  • Opting in preserves trailing-slash semantics in data request URLs, using /_.data for trailing-slash routes and the root data request.

    7.0.0upgrade guide

Tooling 1

  • TypeScript 6 is now supported by the peer dependency ranges.

    7.14.1release notes

Fixes and other changes 2

  • Awaits drain when writable.write() returns false and rejects if the writable errors or closes mid-stream, preventing buffer buildup and hangs.

    7.16.0release notes

  • Awaits drain when writable.write() returns false and rejects if the writable errors or closes mid-stream, preventing buffer buildup and hangs.

    7.16.0release notes