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@react-router/node 86 changes
Breaking changes 1
The minimum supported Node version is now 22.22.0.
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.
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.
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.
Prevents client disconnects during streaming from crashing the Node process.
TypeScript 7 can now be used with @react-router/node.
@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.
Opting in passes the raw HTTP request to handlers instead of normalizing request.url; use the sibling url parameter for normalized routing logic.
Opting in preserves trailing-slash semantics in data request URLs, using /_.data for trailing-slash routes and the root data request.
Tooling 1
TypeScript 6 is now supported by the peer dependency ranges.
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.
Awaits drain when writable.write() returns false and rejects if the writable errors or closes mid-stream, preventing buffer buildup and hangs.