Skip to content

Update react-router-dom 7.15.0 → 7.17.0 (minor)#415

Open
depfu[bot] wants to merge 1 commit into
masterfrom
depfu/update/yarn/react-router-dom-7.17.0
Open

Update react-router-dom 7.15.0 → 7.17.0 (minor)#415
depfu[bot] wants to merge 1 commit into
masterfrom
depfu/update/yarn/react-router-dom-7.17.0

Conversation

@depfu

@depfu depfu Bot commented Jun 10, 2026

Copy link
Copy Markdown

Here is everything you need to know about this upgrade. Please take a good look at what changed and the test results before merging this pull request.

What changed?

✳️ react-router-dom (7.15.0 → 7.17.0) · Repo · Changelog

Release Notes

7.17.0 (from changelog)

Date: 2026-06-04

Minor Changes

  • react-router - Ship a subset of the official documentation inside the react-router package (#15121)
    • Markdown docs are now available in node_modules/react-router/docs, letting AI coding agents and the React Router agent skills read official docs locally
    • Excludes auto-generated API docs (api/), community/ content, and tutorials (tutorials/)

Patch Changes

  • @react-router/dev - Fix future flag warning URLs and only log each future flag warning one time (#15138)

Unstable Changes

⚠️ Unstable features are not recommended for production use

  • @react-router/dev - Prevent RSC route module server exports from being scanned by the client dependency optimizer when future.unstable_optimizeDeps is enabled. (#15005)

Full Changelog: v7.16.0...v7.17.0

7.16.0 (from changelog)

Date: 2026-05-28

What's Changed

Stabilized future.v8_trailingSlashAwareDataRequests

We've stabilized this flag in preparation for the upcoming v8 release. Unless you are doing specific path-inspection on .data requests or have specific CDN/caching/pre-rendering logic around .data requests, this should largely be a zero-code-change adoptions. Please see the docs for more info.

Pre-v8 Future Flag Warnings

In preparation for the upcoming v8 release, 7.16.0 begins logging console warnings during builds for future flags that you have not enabled yet. If you have all future flags enabled, the v8 upgrade should be mostly non-breaking (short of some underlying dependency minimum versions bumps - React 19, Node 22.12, Vite 7). You can suppress these warnings until you are ready top adopt flags by setting an explicit false in your react-router.config.ts.

Minor Changes

  • react-router - Stabilize future.unstable_trailingSlashAwareDataRequests as future.v8_trailingSlashAwareDataRequests (#15098)
  • @react-router/dev - Log future flag warnings for upcoming React Router v8 flags (#15029)
    • v8_middleware, v8_splitRouteModules, v8_viteEnvironmentApi, v8_passThroughRequests, v8_trailingSlashAwareDataRequests

Patch Changes

  • react-router - Disable manifest path when lazy route discovery is disabled (#15068)
  • react-router - Fix browser URL creation to use the configured history window instead of the global window (#15066)
    • Pass the history/router window through to createBrowserURLImpl so custom window contexts keep the correct URL origin.
  • react-router - Fix useNavigation() return type to preserve discriminated union across navigation states (#15095)
  • react-router - Widen MetaDescriptor script:ld+json type from LdJsonObject to LdJsonObject | LdJsonObject[] to permit multiple JSON-LD schemas in a single <script type="application/ld+json"> tag emitted by <Meta /> (#15082)
  • react-router-dom - Remove stale/invalid unpkg field from package.json (#15075)
    • This was removed from other packages with the release of v7 but missed in the react-router-dom re-export package
  • @react-router/express - Ignore writes after Express responses close (#15107)
    • Avoid surfacing client disconnects as adapter errors when the response stream has already been destroyed or ended
  • @react-router/node - Honor Node writable backpressure in writeReadableStreamToWritable and writeAsyncIterableToWritable (#15071)
    • Await 'drain' when writable.write() returns false instead of letting chunks accumulate in the writable's internal buffer
    • Reject (rather than hang) if the writable errors or closes mid-stream
  • @react-router/serve - Normalize assetsBuildDirectory path separators in react-router-serve so Windows-built server artifacts can serve /assets/* correctly when run on Linux (#14982)

Full Changelog: v7.15.1...v7.16.0

7.15.1 (from changelog)

Date: 2026-05-14

What's New

useRouterState (unstable)

Following our Less is More design goal, this release includes a new unstable_useRouterState() hook (Framework + Data Mode) that consolidates access to active and pending router states (RFC, Roadmap Issue).

This should allow you to consolidate usages of a bunch of different hooks which will likely be marked deprecated later on in v8 and potentially removed in an eventual v9:

let { active, pending } = unstable_useRouterState();

// Active is always populated with the current location
active.location; // replaces useLocation()
active.searchParams; // replaces useSearchParams()[0]
active.params; // replaces useParams()
active.matches; // replaces useMatches()
active.type; // replaces useNavigationType()

// Pending is only populated during a navigation
pending.location; // replaces useNavigation().location
pending.searchParams; // equivalent to new URLSearchParams(useNavigation().search)
pending.params; // Not directly accessible today
pending.matches; // Not directly accessible today
pending.type; // Not directly accessible today
pending.state; // replaces useNavigation().state
pending.formMethod; // replaces useNavigation().formMethod
pending.formAction; // replaces useNavigation().formAction
pending.formEncType; // replaces useNavigation().formEncType
pending.formData; // replaces useNavigation().formData
pending.json; // replaces useNavigation().json
pending.text; // replaces useNavigation().text

Patch Changes

  • react-router - Memoize useFetchers to return a stable identity and only change if fetchers changed (#15028)
  • react-router - Update router to operate on fetcher Maps in an immutable manner to avoid delayed React renders from potentially reading an updated but not yet committed Map. This could result in brief flickers in some fetcher-driven optimistic UI scenarios (#15028)
  • react-router - Fix serverLoader() returning stale SSR data when a client navigation aborts pending hydration before the hydration clientLoader resolves (#15022)
  • react-router - Fix RouterProvider onError callback not being called for synchronous initial loader errors in SPA mode (#15039) (#14942)
  • react-router - Internal refactor to consolidate mutation request detection through shared utility (#15033)
  • @react-router/dev - Fix basename conflicting with app directory name when Vite base is set (#15027)
    • When the Vite base config and React Router basename both match the app directory name (e.g. base: "/app/", basename: "/app/"), Vite would strip the base prefix from server-build virtual module import paths, causing "Failed to load url /root.tsx" errors
    • The fix uses /@fs/ absolute paths for those imports to bypass Vite's base-stripping logic

Unstable Changes

⚠️ Unstable features are not recommended for production use

  • react-router - Add a new unstable_useRouterState() hook that consolidates access to active and pending router states (RFC: #12358) (#15017)
    • Data/Framework/RSC only — throws when used without a data router

Full Changelog: v7.15.0...v7.15.1

Does any of this look wrong? Please let us know.


Depfu Status

Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with @depfu rebase.

All Depfu comment commands
@​depfu rebase
Rebases against your default branch and redoes this update
@​depfu recreate
Recreates this PR, overwriting any edits that you've made to it
@​depfu merge
Merges this PR once your tests are passing and conflicts are resolved
@​depfu cancel merge
Cancels automatic merging of this PR
@​depfu close
Closes this PR and deletes the branch
@​depfu reopen
Restores the branch and reopens this PR (if it's closed)
@​depfu pause
Ignores all future updates for this dependency and closes this PR
@​depfu pause [minor|major]
Ignores all future minor/major updates for this dependency and closes this PR
@​depfu resume
Future versions of this dependency will create PRs again (leaves this PR as is)

@depfu depfu Bot requested review from canova and fatadel as code owners June 10, 2026 14:55
@depfu depfu Bot added the dependencies Pull requests that update a dependency file label Jun 10, 2026
@netlify

netlify Bot commented Jun 10, 2026

Copy link
Copy Markdown

Deploy Preview for firefox-devtools-react-contextmenu ready!

Name Link
🔨 Latest commit 44fc951
🔍 Latest deploy log https://app.netlify.com/projects/firefox-devtools-react-contextmenu/deploys/6a297ae3fbb6190008d56708
😎 Deploy Preview https://deploy-preview-415--firefox-devtools-react-contextmenu.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants