Skip to content

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented May 6, 2025

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to release-next, this PR will be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

release-next is currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, run changeset pre exit on release-next.

⚠️⚠️⚠️⚠️⚠️⚠️

Releases

react-router@7.6.0-pre.0

Minor Changes

  • Added a new react-router.config.ts routeDiscovery option to configure Lazy Route Discovery behavior. (#13451)

    • By default, Lazy Route Discovery is enabled and makes manifest requests to the /__manifest path:
      • routeDiscovery: { mode: "lazy", manifestPath: "/__manifest" }
    • You can modify the manifest path used:
      • routeDiscovery: { mode: "lazy", manifestPath: "/custom-manifest" }
    • Or you can disable this feature entirely and include all routes in the manifest on initial document load:
      • routeDiscovery: { mode: "initial" }
  • Add support for route component props in createRoutesStub. This allows you to unit test your route components using the props instead of the hooks: (#13528)

    let RoutesStub = createRoutesStub([ { path: "/", Component({ loaderData }) { let data = loaderData as { message: string }; return <pre data-testid="data">Message: {data.message}</pre>; }, loader() { return { message: "hello" }; }, }, ]); render(<RoutesStub />); await waitFor(() => screen.findByText("Message: hello"));

Patch Changes

  • Fix react-router module augmentation for NodeNext (#13498)

  • Don't bundle react-router in react-router/dom CJS export (#13497)

  • Fix bug where a submitting fetcher would get stuck in a loading state if a revalidating loader redirected (#12873)

  • Fix hydration error if a server loader returned undefined (#13496)

  • Fix initial load 404 scenarios in data mode (#13500)

  • Stabilize useRevalidator's revalidate function (#13542)

  • Preserve status code if a clientAction throws a data() result in framework mode (#13522)

  • Be defensive against leading double slashes in paths to avoid Invalid URL errors from the URL constructor (#13510)

    • Note we do not sanitize/normalize these paths - we only detect them so we can avoid the error that would be thrown by new URL("//", window.location.origin)
  • Remove Navigator declaration for navigator.connection.saveData to avoid messing with any other types beyond saveData in userland (#13512)

  • Fix handleError params values on .data requests for routes with a dynamic param as the last URL segment (#13481)

  • Don't trigger an ErrorBoundary UI before the reload when we detect a manifest verison mismatch in Lazy Route Discovery (#13480)

  • Inline turbo-stream@2.4.1 dependency and fix decoding ordering of Map/Set instances (#13518)

  • Only render dev warnings in DEV mode (#13461)

  • UNSTABLE: Fix a few bugs with error bubbling in middleware use-cases (#13538)

  • Short circuit post-processing on aborted dataStrategy requests (#13521)

    • This resolves non-user-facing console errors of the form Cannot read properties of undefined (reading 'result')

@react-router/dev@7.6.0-pre.0

Minor Changes

  • Added a new react-router.config.ts routeDiscovery option to configure Lazy Route Discovery behavior. (#13451)

    • By default, Lazy Route Discovery is enabled and makes manifest requests to the /__manifest path:
      • routeDiscovery: { mode: "lazy", manifestPath: "/__manifest" }
    • You can modify the manifest path used:
      • routeDiscovery: { mode: "lazy", manifestPath: "/custom-manifest" }
    • Or you can disable this feature entirely and include all routes in the manifest on initial document load:
      • routeDiscovery: { mode: "initial" }
  • Automatic types for future flags (#13506)

    Some future flags alter the way types should work in React Router.
    Previously, you had to remember to manually opt-in to the new types.

    For example, for unstable_middleware:

    // react-router.config.ts // Step 1: Enable middleware export default { future: { unstable_middleware: true, }, }; // Step 2: Enable middleware types declare module "react-router" { interface Future { unstable_middleware: true; // 👈 Enable middleware types } }

    It was up to you to keep the runtime future flags synced with the types for those future flags.
    This was confusing and error-prone.

    Now, React Router will automatically enable types for future flags.
    That means you only need to specify the runtime future flag:

    // react-router.config.ts // Step 1: Enable middleware export default { future: { unstable_middleware: true, }, }; // No step 2! That's it!

    Behind the scenes, React Router will generate the corresponding declare module into .react-router/types.
    Currently this is done in .react-router/types/+register.ts but this is an implementation detail that may change in the future.

Patch Changes

  • Support project root directories without a package.json if it exists in a parent directory (#13472)

  • When providing a custom Vite config path via the CLI --config/-c flag, default the project root directory to the directory containing the Vite config when not explicitly provided (#13472)

  • In a routes.ts context, ensure the --mode flag is respected for import.meta.env.MODE (#13485)

    Previously, import.meta.env.MODE within a routes.ts context was always "development" for the dev and typegen --watch commands, but otherwise resolved to "production". These defaults are still in place, but if a --mode flag is provided, this will now take precedence.

  • Ensure consistent project root directory resolution logic in CLI commands (#13472)

  • When executing react-router.config.ts and routes.ts with vite-node, ensure that PostCSS config files are ignored (#13489)

  • When extracting critical CSS during development, ensure it's loaded from the client environment to avoid issues with plugins that handle the SSR environment differently (#13503)

  • When future.unstable_viteEnvironmentApi is enabled, ensure that build.assetsDir in Vite config is respected when environments.client.build.assetsDir is not configured (#13491)

  • Fix "Status message is not supported by HTTP/2" error during dev when using HTTPS (#13460)

  • Update config when react-router.config.ts is created or deleted during development. (#12319)

  • Skip unnecessary routes.ts evaluation before Vite build is started (#13513)

  • Fix TS2300: Duplicate identifier errors caused by generated types (#13499)

    Previously, routes that had the same full path would cause duplicate entries in the generated types for href (.react-router/types/+register.ts), causing type checking errors.

  • Updated dependencies:

    • react-router@7.6.0-pre.0
    • @react-router/node@7.6.0-pre.0
    • @react-router/serve@7.6.0-pre.0

@react-router/architect@7.6.0-pre.0

Patch Changes

  • Updated dependencies:
    • react-router@7.6.0-pre.0
    • @react-router/node@7.6.0-pre.0

@react-router/cloudflare@7.6.0-pre.0

Patch Changes

  • Updated dependencies:
    • react-router@7.6.0-pre.0

react-router-dom@7.6.0-pre.0

Patch Changes

  • Updated dependencies:
    • react-router@7.6.0-pre.0

@react-router/express@7.6.0-pre.0

Patch Changes

  • Updated dependencies:
    • react-router@7.6.0-pre.0
    • @react-router/node@7.6.0-pre.0

@react-router/fs-routes@7.6.0-pre.0

Patch Changes

  • Updated dependencies:
    • @react-router/dev@7.6.0-pre.0

@react-router/node@7.6.0-pre.0

Patch Changes

  • Updated dependencies:
    • react-router@7.6.0-pre.0

@react-router/remix-routes-option-adapter@7.6.0-pre.0

Patch Changes

  • Updated dependencies:
    • @react-router/dev@7.6.0-pre.0

@react-router/serve@7.6.0-pre.0

Patch Changes

  • Updated dependencies:
    • react-router@7.6.0-pre.0
    • @react-router/node@7.6.0-pre.0
    • @react-router/express@7.6.0-pre.0

create-react-router@7.6.0-pre.0

@brophdawg11 brophdawg11 merged commit 3adc571 into release-next May 6, 2025
1 check passed
@brophdawg11 brophdawg11 deleted the changeset-release/release-next branch May 6, 2025 17:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant