Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Aug 24, 2025

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
react-router (source) 7.7.1 -> 7.8.1 age adoption passing confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

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

v7.8.1

Compare Source

Patch Changes
  • Fix usage of optional path segments in nested routes defined using absolute paths (#​14135)
  • Bubble client pre-next middleware error to the shallowest ancestor that needs to load, not strictly the shallowest ancestor with a loader (#​14150)
  • Fix optional static segment matching in matchPath (#​11813)
  • Fix prerendering when a basename is set with ssr:false (#​13791)
  • Provide isRouteErrorResponse utility in react-server environments (#​14166)
  • Propagate non-redirect Responses thrown from middleware to the error boundary on document/data requests (#​14182)
  • Handle meta and links Route Exports in RSC Data Mode (#​14136)
  • Properly convert returned/thrown data() values to Response instances via Response.json() in resource routes and middleware (#​14159, #​14181)

v7.8.0

Compare Source

Minor Changes
  • Add nonce prop to Links & PrefetchPageLinks (#​14048)
  • Add loaderData arguments/properties alongside existing data arguments/properties to provide consistency and clarity between loaderData and actionData across the board (#​14047)
    • Updated types: Route.MetaArgs, Route.MetaMatch, MetaArgs, MetaMatch, Route.ComponentProps.matches, UIMatch
    • @deprecated warnings have been added to the existing data properties to point users to new loaderData properties, in preparation for removing the data properties in a future major release
Patch Changes
  • Prevent "Did not find corresponding fetcher result" console error when navigating during a fetcher.submit revalidation (#​14114)

  • Bubble client-side middleware errors prior to next to the appropriate ancestor error boundary (#​14138)

  • Switch Lazy Route Discovery manifest URL generation to usea standalone URLSearchParams instance instead of URL.searchParams to avoid a major performance bottleneck in Chrome (#​14084)

  • Adjust internal RSC usage of React.use to avoid Webpack compilation errors when using React 18 (#​14113)

  • Remove dependency on @types/node in TypeScript declaration files (#​14059)

  • Fix types for UIMatch to reflect that the loaderData/data properties may be undefined (#​12206)

    • When an ErrorBoundary is being rendered, not all active matches will have loader data available, since it may have been their loader that threw to trigger the boundary
    • The UIMatch.data type was not correctly handing this and would always reflect the presence of data, leading to the unexpected runtime errors when an ErrorBoundary was rendered
    • ⚠️ This may cause some type errors to show up in your code for unguarded match.data accesses - you should properly guard for undefined values in those scenarios.
    // app/root.tsx
    export function loader() {
      someFunctionThatThrows(); // ❌ Throws an Error
      return { title: "My Title" };
    }
    
    export function Layout({ children }: { children: React.ReactNode }) {
      let matches = useMatches();
      let rootMatch = matches[0] as UIMatch<Awaited<ReturnType<typeof loader>>>;
      //  ^ rootMatch.data is incorrectly typed here, so TypeScript does not
      //    complain if you do the following which throws an error at runtime:
      let { title } = rootMatch.data; // 💥
    
      return <html>...</html>;
    }
  • [UNSTABLE] Ensure resource route errors go through handleError w/middleware enabled (#​14078)

  • [UNSTABLE] Propagate returned Response from server middleware if next wasn't called (#​14093)

  • [UNSTABLE] Allow server middlewares to return data() values which will be converted into a Response (#​14093)

  • [UNSTABLE] Update middleware error handling so that the next function never throws and instead handles any middleware errors at the proper ErrorBoundary and returns the Response up through the ancestor next function (#​14118)

  • [UNSTABLE] When middleware is enabled, make the context parameter read-only (via Readonly<unstable_RouterContextProvider>) so that TypeScript will not allow you to write arbitrary fields to it in loaders, actions, or middleware. (#​14097)

  • [UNSTABLE] Rename and alter the signature/functionality of the unstable_respond API in staticHandler.query/staticHandler.queryRoute (#​14103)

    • The API has been renamed to unstable_generateMiddlewareResponse for clarity
    • The main functional change is that instead of running the loaders/actions before calling unstable_respond and handing you the result, we now pass a query/queryRoute function as a parameter and you execute the loaders/actions inside your callback, giving you full access to pre-processing and error handling
    • The query version of the API now has a signature of (query: (r: Request) => Promise<StaticHandlerContext | Response>) => Promise<Response>
    • The queryRoute version of the API now has a signature of (queryRoute: (r: Request) => Promise<Response>) => Promise<Response>
    • This allows for more advanced usages such as running logic before/after calling query and direct error handling of errors thrown from query
    • ⚠️ This is a breaking change if you've adopted the staticHandler unstable_respond API
    let response = await staticHandler.query(request, {
      requestContext: new unstable_RouterContextProvider(),
      async unstable_generateMiddlewareResponse(query) {
        try {
          // At this point we've run middleware top-down so we need to call the
          // handlers and generate the Response to bubble back up the middleware
          let result = await query(request);
          if (isResponse(result)) {
            return result; // Redirects, etc.
          }
          return await generateHtmlResponse(result);
        } catch (error: unknown) {
          return generateErrorResponse(error);
        }
      },
    });
  • [UNSTABLE] Convert internal middleware implementations to use the new unstable_generateMiddlewareResponse API (#​14103)

  • [UNSTABLE] Change getLoadContext signature (type GetLoadContextFunction) when future.unstable_middleware is enabled so that it returns an unstable_RouterContextProvider instance instead of a Map used to contruct the instance internally (#​14097)

    • This also removes the type unstable_InitialContext export
    • ⚠️ This is a breaking change if you have adopted middleware and are using a custom server with a getLoadContext function
  • [UNSTABLE] Run client middleware on client navigations even if no loaders exist (#​14106)

  • [UNSTABLE] Change the unstable_getContext signature on RouterProvider/HydratedRouter/unstable_RSCHydratedRouter so that it returns an unstable_RouterContextProvider instance instead of a Map used to contruct the instance internally (#​14097)

    • ⚠️ This is a breaking change if you have adopted the unstable_getContext prop
  • [UNSTABLE] proxy server action side-effect redirects from actions for document and callServer requests (#​14131)

  • [UNSTABLE] Fix RSC Data Mode issue where routes that return false from shouldRevalidate would be replaced by an <Outlet /> (#​14071)


Configuration

📅 Schedule: Branch creation - "before 7am on the first day of the week" in timezone GMT, Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, 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 was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Aug 24, 2025
@renovate renovate bot enabled auto-merge (squash) August 24, 2025 02:06
@vercel
Copy link

vercel bot commented Aug 24, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
clerk-js-sandbox Ready Ready Preview Comment Aug 25, 2025 11:03pm

@changeset-bot
Copy link

changeset-bot bot commented Aug 24, 2025

⚠️ No Changeset found

Latest commit: 8cf3d85

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@pkg-pr-new
Copy link

pkg-pr-new bot commented Aug 24, 2025

Open in StackBlitz

@clerk/agent-toolkit

npm i https://pkg.pr.new/@clerk/agent-toolkit@6624

@clerk/astro

npm i https://pkg.pr.new/@clerk/astro@6624

@clerk/backend

npm i https://pkg.pr.new/@clerk/backend@6624

@clerk/chrome-extension

npm i https://pkg.pr.new/@clerk/chrome-extension@6624

@clerk/clerk-js

npm i https://pkg.pr.new/@clerk/clerk-js@6624

@clerk/dev-cli

npm i https://pkg.pr.new/@clerk/dev-cli@6624

@clerk/elements

npm i https://pkg.pr.new/@clerk/elements@6624

@clerk/clerk-expo

npm i https://pkg.pr.new/@clerk/clerk-expo@6624

@clerk/expo-passkeys

npm i https://pkg.pr.new/@clerk/expo-passkeys@6624

@clerk/express

npm i https://pkg.pr.new/@clerk/express@6624

@clerk/fastify

npm i https://pkg.pr.new/@clerk/fastify@6624

@clerk/localizations

npm i https://pkg.pr.new/@clerk/localizations@6624

@clerk/nextjs

npm i https://pkg.pr.new/@clerk/nextjs@6624

@clerk/nuxt

npm i https://pkg.pr.new/@clerk/nuxt@6624

@clerk/clerk-react

npm i https://pkg.pr.new/@clerk/clerk-react@6624

@clerk/react-router

npm i https://pkg.pr.new/@clerk/react-router@6624

@clerk/remix

npm i https://pkg.pr.new/@clerk/remix@6624

@clerk/shared

npm i https://pkg.pr.new/@clerk/shared@6624

@clerk/tanstack-react-start

npm i https://pkg.pr.new/@clerk/tanstack-react-start@6624

@clerk/testing

npm i https://pkg.pr.new/@clerk/testing@6624

@clerk/themes

npm i https://pkg.pr.new/@clerk/themes@6624

@clerk/types

npm i https://pkg.pr.new/@clerk/types@6624

@clerk/upgrade

npm i https://pkg.pr.new/@clerk/upgrade@6624

@clerk/vue

npm i https://pkg.pr.new/@clerk/vue@6624

commit: 8cf3d85

@renovate renovate bot force-pushed the renovate/react-router-dev-minor branch from 7cd71ec to 0ecb52c Compare August 24, 2025 02:25
@renovate renovate bot force-pushed the renovate/react-router-dev-minor branch from 0ecb52c to ac43f34 Compare August 24, 2025 02:31
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Aug 25, 2025

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Join our Discord community for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@renovate
Copy link
Contributor Author

renovate bot commented Aug 25, 2025

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@renovate renovate bot merged commit 5628b0d into main Aug 25, 2025
37 checks passed
@renovate renovate bot deleted the renovate/react-router-dev-minor branch August 25, 2025 23:16
jacekradko pushed a commit that referenced this pull request Aug 26, 2025
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Robert Soriano <[email protected]>
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 react-router

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants