Renovate: Update dependency react-router to v8.4.0 #66

Open
renovate-bot wants to merge 1 commit from renovate/react-router-8.x-lockfile into main
Collaborator

This PR contains the following updates:

Package Type Update Change
react-router (source) dependencies minor 8.3.08.4.0

Release Notes

remix-run/react-router (react-router)

v8.4.0

Compare Source

Minor Changes
  • Deprecate the createStaticRouter({ branches }) option (#​15297)
    • createStaticRouter now caches route branches internally, ignores branches, and logs a deprecation warning when the option is provided
    • The deprecated EntryContext.branches property remains available for compatibility but is always an empty array
Patch Changes
  • Prevent stale route discovery during manifest version-mismatch recovery (#​15489)
    • Keep concurrent manifest responses pending while a document reload is in progress
    • Report a discovery error when a previous reload failed to resolve a version mismatch instead of loading a stale route or reloading repeatedly
    • Fail pending requests if a document reload does not complete within five seconds or the document is restored from the back-forward cache, allowing subsequent requests to recover
  • Preserve lazy route module import errors during SPA navigations instead of replacing them with a missing dataStrategy result error (#​15464)
  • Switch to more granular internal router contexts to avoid unnecessary route component re-renders when unrelated data router state changes (#​15376)
    • ⚠️ This contains some breaking changes to exported UNSAFE_ contexts, so please review carefully if you are using those unsafe exports
  • Correctly escape streamed RSC redirect locations in meta tag attributes (#​15491)
  • Avoid unintended document.startViewTransition calls during initial hydration and router.revalidate() calls (#​15484)
  • Fix SingleFetchNoResultError thrown when a fetcher revalidates against a splat route during lazy route discovery (#​15395)
    • Track discovery per fetcher load so revalidation waits for the current load's discovery, even when the fetcher key is reused, while still restarting interrupted loaders after discovery completes
  • Preserve the underlying decode failure as the cause of the Unable to decode turbo-stream response error (#​15450)
Unstable Changes

⚠️ Unstable features are not recommended for production use

  • Add a Data Mode future.unstable_routePatternMatching flag for more efficient route matching powered by @remix-run/route-pattern (#​15298)
    • Add an unstable_validateParams route field to reject invalid parameter values and continue matching
  • Document access control requirements for RSC Server Functions (#​15490)
    • Treat every Server Function as a public endpoint that must perform all of its own access control checks
    • Recommend route actions when access control should be provided by route middleware

v8.3.1

Compare Source

Patch Changes
  • Fix Expected fetcher: <key> error thrown on navigation when a fetcher is aborted during its post-action revalidation (#​15365)
  • Fix lazy route discovery caching a path as discovered when the triggering navigation was aborted after the manifest response settled but before the route tree was patched, which permanently (for the session) shadowed the real route behind a catch-all or produced 404s on every subsequent visit (#​15399)
  • Improve route matching performance for long paths (#​15417)
  • Improve validation of action request origins (#​15419)
  • Fix <ScrollRestoration> leaving history.scrollRestoration set to "auto" after a bfcache restore, which let the browser restore scroll on subsequent history traversals before the destination route had rendered (#​15397)
  • Properly respect the relative option in useSubmit/fetcher.submit when resolivng the action path (#​15400)
  • Add additional URL validation on client side navigations/redirects (#​15445)

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [react-router](https://github.com/remix-run/react-router) ([source](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router)) | dependencies | minor | [`8.3.0` → `8.4.0`](https://renovatebot.com/diffs/npm/react-router/8.3.0/8.4.0) | --- ### Release Notes <details> <summary>remix-run/react-router (react-router)</summary> ### [`v8.4.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router/CHANGELOG.md#v840) [Compare Source](https://github.com/remix-run/react-router/compare/react-router@8.3.1...react-router@8.4.0) ##### Minor Changes - Deprecate the `createStaticRouter({ branches })` option ([#&#8203;15297](https://github.com/remix-run/react-router/pull/15297)) - `createStaticRouter` now caches route branches internally, ignores `branches`, and logs a deprecation warning when the option is provided - The deprecated `EntryContext.branches` property remains available for compatibility but is always an empty array ##### Patch Changes - Prevent stale route discovery during manifest version-mismatch recovery ([#&#8203;15489](https://github.com/remix-run/react-router/pull/15489)) - Keep concurrent manifest responses pending while a document reload is in progress - Report a discovery error when a previous reload failed to resolve a version mismatch instead of loading a stale route or reloading repeatedly - Fail pending requests if a document reload does not complete within five seconds or the document is restored from the back-forward cache, allowing subsequent requests to recover - Preserve lazy route module import errors during SPA navigations instead of replacing them with a missing `dataStrategy` result error ([#&#8203;15464](https://github.com/remix-run/react-router/pull/15464)) - Switch to more granular internal router contexts to avoid unnecessary route component re-renders when unrelated data router state changes ([#&#8203;15376](https://github.com/remix-run/react-router/pull/15376)) - ⚠️ This contains some breaking changes to exported `UNSAFE_` contexts, so please review carefully if you are using those unsafe exports - Correctly escape streamed RSC redirect locations in meta tag attributes ([#&#8203;15491](https://github.com/remix-run/react-router/pull/15491)) - Avoid unintended `document.startViewTransition` calls during initial hydration and `router.revalidate()` calls ([#&#8203;15484](https://github.com/remix-run/react-router/pull/15484)) - Fix `SingleFetchNoResultError` thrown when a fetcher revalidates against a splat route during lazy route discovery ([#&#8203;15395](https://github.com/remix-run/react-router/pull/15395)) - Track discovery per fetcher load so revalidation waits for the current load's discovery, even when the fetcher key is reused, while still restarting interrupted loaders after discovery completes - Preserve the underlying decode failure as the `cause` of the `Unable to decode turbo-stream response` error ([#&#8203;15450](https://github.com/remix-run/react-router/pull/15450)) ##### Unstable Changes ⚠️ *[Unstable features](https://reactrouter.com/community/api-development-strategy#unstable-flags) are not recommended for production use* - Add a Data Mode `future.unstable_routePatternMatching` flag for more efficient route matching powered by `@remix-run/route-pattern` ([#&#8203;15298](https://github.com/remix-run/react-router/pull/15298)) - Add an `unstable_validateParams` route field to reject invalid parameter values and continue matching - Document access control requirements for RSC Server Functions ([#&#8203;15490](https://github.com/remix-run/react-router/pull/15490)) - Treat every Server Function as a public endpoint that must perform all of its own access control checks - Recommend route actions when access control should be provided by route middleware ### [`v8.3.1`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router/CHANGELOG.md#v831) [Compare Source](https://github.com/remix-run/react-router/compare/react-router@8.3.0...react-router@8.3.1) ##### Patch Changes - Fix `Expected fetcher: <key>` error thrown on navigation when a fetcher is aborted during its post-action revalidation ([#&#8203;15365](https://github.com/remix-run/react-router/pull/15365)) - Fix lazy route discovery caching a path as discovered when the triggering navigation was aborted after the manifest response settled but before the route tree was patched, which permanently (for the session) shadowed the real route behind a catch-all or produced 404s on every subsequent visit ([#&#8203;15399](https://github.com/remix-run/react-router/pull/15399)) - Improve route matching performance for long paths ([#&#8203;15417](https://github.com/remix-run/react-router/pull/15417)) - Improve validation of action request origins ([#&#8203;15419](https://github.com/remix-run/react-router/pull/15419)) - Fix `<ScrollRestoration>` leaving `history.scrollRestoration` set to `"auto"` after a bfcache restore, which let the browser restore scroll on subsequent history traversals before the destination route had rendered ([#&#8203;15397](https://github.com/remix-run/react-router/pull/15397)) - Properly respect the `relative` option in `useSubmit`/`fetcher.submit` when resolivng the `action` path ([#&#8203;15400](https://github.com/remix-run/react-router/pull/15400)) - Add additional URL validation on client side navigations/redirects ([#&#8203;15445](https://github.com/remix-run/react-router/pull/15445)) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC41MS4yIiwidXBkYXRlZEluVmVyIjoiNDQuOTMuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Renovate: Update dependency react-router to v8.3.1
All checks were successful
Web Deployment Container / determine-workflow (pull_request) Successful in 3s
Web Deployment Container / nonprod-deploy (dev) (pull_request) Has been skipped
Web Deployment Container / prod-deploy (dev) (pull_request) Has been skipped
289f6b2e77
renovate-bot force-pushed renovate/react-router-8.x-lockfile from 289f6b2e77
All checks were successful
Web Deployment Container / determine-workflow (pull_request) Successful in 3s
Web Deployment Container / nonprod-deploy (dev) (pull_request) Has been skipped
Web Deployment Container / prod-deploy (dev) (pull_request) Has been skipped
to 39cfe09ba8
All checks were successful
Web Deployment Container / determine-workflow (pull_request) Successful in 9s
Web Deployment Container / nonprod-deploy (dev) (pull_request) Has been skipped
Web Deployment Container / prod-deploy (dev) (pull_request) Has been skipped
2026-09-16 00:03:33 +00:00
Compare
renovate-bot changed title from Renovate: Update dependency react-router to v8.3.1 to Renovate: Update dependency react-router to v8.4.0 2026-09-16 00:03:45 +00:00
All checks were successful
Web Deployment Container / determine-workflow (pull_request) Successful in 9s
Required
Details
Web Deployment Container / nonprod-deploy (dev) (pull_request) Has been skipped
Required
Details
Web Deployment Container / prod-deploy (dev) (pull_request) Has been skipped
Required
Details
This pull request doesn't have enough approvals yet. 0 of 1 approvals granted.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/react-router-8.x-lockfile:renovate/react-router-8.x-lockfile
git switch renovate/react-router-8.x-lockfile
Sign in to join this conversation.
No description provided.