Skip to content

Conversation

@depfu
Copy link
Contributor

@depfu depfu bot commented Jan 8, 2026


Welcome to Depfu πŸ‘‹

This is one of the first three pull requests with dependency updates we've sent your way. We tried to start with a few easy patch-level updates. Hopefully your tests will pass and you can merge this pull request without too much risk. This should give you an idea how Depfu works in general.

After you merge your first pull request, we'll send you a few more. We'll never open more than seven PRs at the same time so you're not getting overwhelmed with updates.

Let us know if you have any questions. Thanks so much for giving Depfu a try!



🚨 Your current dependencies have known security vulnerabilities 🚨

This dependency update fixes known security vulnerabilities. Please see the details below and assess their impact carefully. We recommend to merge and deploy this as soon as possible!


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

What changed?

✳️ react-router (7.11.0 β†’ 7.12.0) Β· Repo Β· Changelog

Security Advisories 🚨

🚨 React Router vulnerable to XSS via Open Redirects

React Router (and Remix v1/v2) SPA open navigation redirects originating from loaders or actions in Framework Mode, Data Mode, or the unstable RSC modes can result in unsafe URLs causing unintended javascript execution on the client. This is only an issue if developers are creating redirect paths from untrusted content or via an open redirect.

Note

This does not impact applications that use Declarative Mode (<BrowserRouter>).

🚨 React Router has CSRF issue in Action/Server Action Request Processing

React Router (or Remix v2) is vulnerable to CSRF attacks on document POST requests to UI routes when using server-side route action handlers in Framework Mode, or when using React Server Actions in the new unstable RSC modes.

Note

This does not impact applications that use Declarative Mode (<BrowserRouter>) or Data Mode (createBrowserRouter/<RouterProvider>).

🚨 React Router SSR XSS in ScrollRestoration

A XSS vulnerability exists in in React Router's <ScrollRestoration> API in Framework Mode when using the getKey/storageKey props during Server-Side Rendering which could allow arbitrary JavaScript execution during SSR if untrusted content is used to generate the keys.

Note

This does not impact applications if developers have disabled server-side rendering in Framework Mode, or if they are using Declarative Mode (<BrowserRouter>) or Data Mode (createBrowserRouter/<RouterProvider>).

Release Notes

7.12.0 (from changelog)

Date: 2026-01-07

Minor Changes

  • react-router - Add additional layer of CSRF protection by rejecting submissions to UI routes from external origins (#14708)
    • If you need to permit access to specific external origins, there is a new allowedActionOrigins config field in react-router.config.ts where you can specify external origins

Patch Changes

  • react-router - Fix generatePath when used with suffixed params (i.e., /books/:id.json) (#14269)
  • react-router - Escape HTML in scroll restoration keys (#14705)
  • react-router - Validate redirect locations (#14706)
  • @react-router/dev - Fix Maximum call stack size exceeded errors when HMR is triggered against code with cyclic imports (#14522)
  • @react-router/dev - Skip SSR middleware in vite preview server for SPA mode (#14673)

Unstable Changes

⚠️ Unstable features are not recommended for production use

  • react-router - Preserve clientLoader.hydrate=true when using <HydratedRouter unstable_instrumentations> (#14674)
  • react-router - Pass <Scripts nonce> value through to the underlying importmap script tag when using future.unstable_subResourceIntegrity (#14675)
  • react-router - Export UNSAFE_createMemoryHistory and UNSAFE_createHashHistory alongside UNSAFE_createBrowserHistory for consistency (#14663)
    • These are not intended to be used for new apps but intended to help apps using unstable_HistoryRouter migrate from v6->v7 so they can adopt the newer APIs
  • @react-router/dev - Add a new future.unstable_trailingSlashAwareDataRequests flag to provide consistent behavior of request.pathname inside middleware, loader, and action functions on document and data requests when a trailing slash is present in the browser URL. (#14644)
    • Currently, your HTTP and request pathnames would be as follows for /a/b/c and /a/b/c/

      URL /a/b/c HTTP pathname request pathname`
      Document /a/b/c /a/b/c βœ…
      Data /a/b/c.data /a/b/c βœ…
      URL /a/b/c/ HTTP pathname request pathname`
      Document /a/b/c/ /a/b/c/ βœ…
      Data /a/b/c.data /a/b/c ⚠️
    • With this flag enabled, these pathnames will be made consistent though a new _.data format for client-side .data requests:

      URL /a/b/c HTTP pathname request pathname`
      Document /a/b/c /a/b/c βœ…
      Data /a/b/c.data /a/b/c βœ…
      URL /a/b/c/ HTTP pathname request pathname`
      Document /a/b/c/ /a/b/c/ βœ…
      Data /a/b/c/_.data ⬅️ /a/b/c/ βœ…
    • This a bug fix but we are putting it behind an opt-in flag because it has the potential to be a "breaking bug fix" if you are relying on the URL format for any other application or caching logic

    • Enabling this flag also changes the format of client side .data requests from /_root.data to /_.data when navigating to / to align with the new format - This does not impact the request pathname which is still / in all cases

Full Changelog: v7.11.0...v7.12.0

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 added the dependencies Pull requests that update a dependency file label Jan 8, 2026
@netlify
Copy link

netlify bot commented Jan 8, 2026

βœ… Deploy Preview for mozilla-perfcompare ready!

Name Link
πŸ”¨ Latest commit 9f5a2dd
πŸ” Latest deploy log https://app.netlify.com/projects/mozilla-perfcompare/deploys/69613c5cbe76ad00083c34d9
😎 Deploy Preview https://deploy-preview-987--mozilla-perfcompare.netlify.app
πŸ“± Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

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

@codecov
Copy link

codecov bot commented Jan 8, 2026

Codecov Report

βœ… All modified and coverable lines are covered by tests.
βœ… Project coverage is 96.35%. Comparing base (c0b105e) to head (9f5a2dd).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #987   +/-   ##
=======================================
  Coverage   96.35%   96.35%           
=======================================
  Files         104      104           
  Lines        3015     3015           
  Branches      686      686           
=======================================
  Hits         2905     2905           
  Misses        109      109           
  Partials        1        1           

β˜” View full report in Codecov by Sentry.
πŸ“’ Have feedback on the report? Share it here.

πŸš€ New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • πŸ“¦ JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@depfu depfu bot changed the title 🚨 [security] Update react-router 7.10.1 β†’ 7.12.0 (minor) 🚨 [security] Update react-router 7.11.0 β†’ 7.12.0 (minor) Jan 9, 2026
@depfu depfu bot force-pushed the depfu/update/npm/react-router-7.12.0 branch from b340b44 to 9f5a2dd Compare January 9, 2026 17:35
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.

1 participant