unstale

npm / @react-router/dev

@react-router/dev

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

1 breaking1 security1 deprecations11 new APIs and options2 behavior and defaults6 tooling8 fixes and other

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

npx @unstale/cli init

@unstale/cli 0.2.0 on npm

@react-router/dev 825 changes

Breaking changes 1

  • API-only configuration is rejected in RSC Framework Mode.

    8.5.0release notes

Security 1

  • Action submissions behind an HTTPS reverse proxy now construct request.url using X-Forwarded-Proto; configure proxies to overwrite client-supplied values.

    8.4.0release notes

Deprecations 1

  • The --no-typescript flag is deprecated ahead of its removal in React Router v9.

    8.3.1release notes

New APIs and options 7

  • This flag opts into application-controlled route discovery in conventional Framework Mode.

    8.5.0release notes

  • Set ssr: "unstable_api-only" to retain a runtime server for loaders, actions, and route discovery while disabling production document rendering; API-only builds default to lazy route discovery and support prerendered pages and data files with a SPA fallback.

    8.5.0release notes

  • Configure the origin for API-only loader, action, and route discovery requests.

    8.5.0release notes

  • RSC Framework Mode now supports the subResourceIntegrity config option.

    8.3.0release notes

  • Adds a client build version virtual module for RSC.

    8.3.0release notes

  • Custom app/entry.ssr.tsx files can import this virtual module and pass its hashes to React's importMap render option.

    8.3.0release notes

  • This flag opts Node Framework mode apps into renderToReadableStream instead of renderToPipeableStream; it has no effect when an app has its own entry.server.tsx.

    8.2.0release notes

Behavior and default changes 2

  • Non-Node Framework mode apps use a Web Streams default server entry with renderToReadableStream; apps using Node server adapter dependencies continue to use renderToPipeableStream.

    8.2.0release notes

  • The Vite server condition is added only for Framework mode apps that declare a Node server adapter dependency, preventing non-Node SSR runtimes from resolving Node-specific package exports by default.

    8.1.0release notes

Tooling 5

  • Vite preview serves prerendered pages and the SPA fallback while retaining live data requests and route discovery.

    8.5.0release notes

  • Using --no-typescript no longer requires Prettier at runtime because JavaScript entry files are generated at package build time.

    8.3.1release notes

  • Restarts the dev server with --conditions=development when that condition is not already configured.

    8.3.0release notes

  • TypeScript 7 can now be used with this package.

    8.3.0release notes

  • The framework dependency installer detects nub as a supported package manager.

    8.2.0release notes

Fixes and other changes 8

  • Dev critical CSS collection no longer registers server-only route imports as client dependencies, avoiding dependency re-optimization and full page reloads.

    8.5.0release notes

  • Prerender requests use the Vite preview server's bound address and avoid re-resolving localhost, preventing intermittent connection-refused errors.

    8.5.0release notes

  • Source maps for route modules are fixed in unstable RSC Framework Mode.

    8.5.0release notes

  • Server-only route exports are preserved in additional Vite server environments in both API-only and SSR modes.

    8.5.0release notes

  • Development conditions are passed as CLI flags when the dev process is relaunched.

    8.4.0release notes

  • Stack trace locations for split route modules are fixed when source maps are enabled in the reactRouter Vite plugin.

    8.4.0release notes

  • Fixes crashes under the Bun runtime when Babel default imports are already unwrapped.

    8.1.0release notes

  • The buildEnd hook now runs after prerendering is completed when using the new prerendering plugin.

    8.1.0release notes

@react-router/dev 75 changes

New APIs and options 4

  • Enables middleware in Framework mode, allowing code to run before and after Response generation for a matched path.

    7.0.0upgrade guide

  • 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

  • Enables client-side route exports to be split into independently loaded chunks, improving performance for client-side data loading.

    7.0.0upgrade guide

  • 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

  • Enables support for Vite's experimental Environment API; custom configuration relying on isSsrBuild may need to move under per-environment configuration.

    7.0.0upgrade guide