Skip to content

Conversation

@renovate-coveo
Copy link
Contributor

@renovate-coveo renovate-coveo bot commented Oct 21, 2025

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@lit/react (source) 1.0.6 -> 1.0.8 age adoption passing confidence
@react-router/dev (source) 7.8.2 -> 7.9.4 age adoption passing confidence
@react-router/fs-routes (source) 7.8.2 -> 7.9.4 age adoption passing confidence
@react-router/node (source) 7.8.2 -> 7.9.4 age adoption passing confidence
@react-router/serve (source) 7.8.2 -> 7.9.4 age adoption passing confidence
@types/react (source) 19.1.1 -> 19.2.2 age adoption passing confidence
@types/react (source) 18.3.23 -> 18.3.26 age adoption passing confidence
@types/react (source) 18.3.3 -> 18.3.26 age adoption passing confidence
@types/react-dom (source) 19.1.2 -> 19.2.2 age adoption passing confidence
@types/react-dom (source) 18.3.0 -> 18.3.7 age adoption passing confidence
@vitejs/plugin-react (source) 5.0.3 -> 5.0.4 age adoption passing confidence
next (source) 15.2.4 -> 15.5.6 age adoption passing confidence
react (source) 19.1.1 -> 19.2.0 age adoption passing confidence
react-dom (source) 19.1.1 -> 19.2.0 age adoption passing confidence
react-router (source) 7.8.2 -> 7.9.4 age adoption passing confidence

Release Notes

lit/lit (@​lit/react)

v1.0.8

Compare Source

Patch Changes

v1.0.7

Compare Source

Patch Changes
remix-run/react-router (@​react-router/dev)

v7.9.4

Compare Source

Patch Changes
  • Update valibot dependency to ^1.1.0 (#​14379)

  • New (unstable) useRoute hook for accessing data from specific routes (#​14407)

    For example, let's say you have an admin route somewhere in your app and you want any child routes of admin to all have access to the loaderData and actionData from admin.

    // app/routes/admin.tsx
    import { Outlet } from "react-router";
    
    export const loader = () => ({ message: "Hello, loader!" });
    
    export const action = () => ({ count: 1 });
    
    export default function Component() {
      return (
        <div>
          {/* ... */}
          <Outlet />
          {/* ... */}
        </div>
      );
    }

    You might even want to create a reusable widget that all of the routes nested under admin could use:

    import { unstable_useRoute as useRoute } from "react-router";
    
    export function AdminWidget() {
      // How to get `message` and `count` from `admin` route?
    }

    In framework mode, useRoute knows all your app's routes and gives you TS errors when invalid route IDs are passed in:

    export function AdminWidget() {
      const admin = useRoute("routes/dmin");
      //                      ^^^^^^^^^^^
    }

    useRoute returns undefined if the route is not part of the current page:

    export function AdminWidget() {
      const admin = useRoute("routes/admin");
      if (!admin) {
        throw new Error(`AdminWidget used outside of "routes/admin"`);
      }
    }

    Note: the root route is the exception since it is guaranteed to be part of the current page.
    As a result, useRoute never returns undefined for root.

    loaderData and actionData are marked as optional since they could be accessed before the action is triggered or after the loader threw an error:

    export function AdminWidget() {
      const admin = useRoute("routes/admin");
      if (!admin) {
        throw new Error(`AdminWidget used outside of "routes/admin"`);
      }
      const { loaderData, actionData } = admin;
      console.log(loaderData);
      //          ^? { message: string } | undefined
      console.log(actionData);
      //          ^? { count: number } | undefined
    }

    If instead of a specific route, you wanted access to the current route's loaderData and actionData, you can call useRoute without arguments:

    export function AdminWidget() {
      const currentRoute = useRoute();
      currentRoute.loaderData;
      currentRoute.actionData;
    }

    This usage is equivalent to calling useLoaderData and useActionData, but consolidates all route data access into one hook: useRoute.

    Note: when calling useRoute() (without a route ID), TS has no way to know which route is the current route.
    As a result, loaderData and actionData are typed as unknown.
    If you want more type-safety, you can either narrow the type yourself with something like zod or you can refactor your app to pass down typed props to your AdminWidget:

    export function AdminWidget({
      message,
      count,
    }: {
      message: string;
      count: number;
    }) {
      /* ... */
    }
  • Updated dependencies:

v7.9.3

Compare Source

Patch Changes

v7.9.2

Compare Source

Patch Changes
  • Fix preset future flags being ignored during config resolution (#​14369)

    Fixes a bug where future flags defined by presets were completely ignored. The config resolution was incorrectly reading from reactRouterUserConfig.future instead of the merged userAndPresetConfigs.future, causing all preset-defined future flags to be lost.

    This fix ensures presets can properly enable experimental features as intended by the preset system design.

  • Add unstable support for RSC Framework Mode (#​14336)

  • Switch internal vite plugin Response logic to use @remix-run/node-fetch-server (#​13927)

  • Updated dependencies:

v7.9.1

Compare Source

Patch Changes

v7.9.0

Compare Source

Minor Changes
Patch Changes
remix-run/react-router (@​react-router/fs-routes)

v7.9.4

Compare Source

Patch Changes

v7.9.3

Compare Source

Patch Changes

v7.9.2

Compare Source

Patch Changes

v7.9.1

Compare Source

Patch Changes

v7.9.0

Compare Source

Patch Changes
remix-run/react-router (@​react-router/node)

v7.9.4

Compare Source

Patch Changes

v7.9.3

Compare Source

Patch Changes

v7.9.2

Compare Source

Patch Changes

v7.9.1

Compare Source

Patch Changes

v7.9.0

Compare Source

Minor Changes
Patch Changes
remix-run/react-router (@​react-router/serve)

v7.9.4

Compare Source

Patch Changes

v7.9.3

Compare Source

Patch Changes

v7.9.2

Compare Source

Patch Changes

v7.9.1

Compare Source

Patch Changes

v7.9.0

Compare Source

Patch Changes
vitejs/vite-plugin-react (@​vitejs/plugin-react)

v5.0.4

Compare Source

Perf: use native refresh wrapper plugin in rolldown-vite (#​881)
vercel/next.js (next)

v15.5.6

Compare Source

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes
  • Turbopack: don't define process.cwd() in node_modules #​83452
Credits

Huge thanks to @​mischnic for helping!

v15.5.5

Compare Source

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes
  • Split code-frame into separate compiled package (#​84238)
  • Add deprecation warning to Runtime config (#​84650)
  • fix: unstable_cache should perform blocking revalidation during ISR revalidation (#​84716)
  • feat: experimental.middlewareClientMaxBodySize body cloning limit (#​84722)
  • fix: missing next/link types with typedRoutes (#​84779)
Misc Changes
  • docs: early October improvements and fixes (#​84334)
Credits

Huge thanks to @​devjiwonchoi, @​ztanner, and @​icyJoseph for helping!

v15.5.4

Compare Source

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes
  • fix: ensure onRequestError is invoked when otel enabled (#​83343)
  • fix: devtools initial position should be from next config (#​83571)
  • [devtool] fix overlay styles are missing (#​83721)
  • Turbopack: don't match dynamic pattern for node_modules packages (#​83176)
  • Turbopack: don't treat metadata routes as RSC (#​82911)
  • [turbopack] Improve handling of symlink resolution errors in track_glob and read_glob (#​83357)
  • Turbopack: throw large static metadata error earlier (#​82939)
  • fix: error overlay not closing when backdrop clicked (#​83981)
  • Turbopack: flush Node.js worker IPC on error (#​84077)
Misc Changes
  • [CNA] use linter preference (#​83194)
  • CI: use KV for test timing data (#​83745)
  • docs: september improvements and fixes (#​83997)
Credits

Huge thanks to @​yiminghe, @​huozhi, @​devjiwonchoi, @​mischnic, @​lukesandberg, @​ztanner, @​icyJoseph, @​leerob, @​fufuShih, @​dwrth, @​aymericzip, @​obendev, @​molebox, @​OoMNoO, @​pontasan, @​styfle, @​HondaYt, @​ryuapp, @​lpalmes, and @​ijjk for helping!

v15.5.3

Compare Source

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes
  • fix: validation return types of pages API routes (#​83069)
  • fix: relative paths in dev in validator.ts (#​83073)
  • fix: remove satisfies keyword from type validation to preserve old TS compatibility (#​83071)
Credits

Huge thanks to @​bgub for helping!

v15.5.2

Compare Source

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes
  • fix: disable unknownatrules lint rule entirely (#​83059)
  • revert: add ?dpl to fonts in /_next/static/media (#​83062)
Credits

Huge thanks to @​bgub and @​ztanner for helping!

v15.5.1

Compare Source

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes
  • fix: aliased navigations should apply scroll handling (#​82900)
  • Turbopack: fix invalid NFT entry with file behind symlink (#​82887)
  • fix: typesafe linking to route handlers and pages API routes (#​82858)
  • fix: change "noUnknownAtRules" to "warn" for Biome (#​82974)
  • fix: add path normalization to getRelativePath for Windows (#​82918)
  • feat: add typesafety with config.typedRoutes to redirect() and permanentRedirect() (#​82860)
  • fix: avoid importing types that will be unused (#​82856)
  • fix: update the config.api.responseLimit type (#​82852)
  • fix: update validation return types (#​82854)
Credits

Huge thanks to @​bgub, @​mischnic, and @​ztanner for helping!

v15.5.0

Compare Source

Core Changes
  • Use and enforce exhaustive switch statements for work unit store: #​81577
  • Enable @typescript-eslint/switch-exhaustiveness-check rule: #​81583
  • [dynamicIO] use RSC dynamicness to control partial vs complete PPR result: #​81627
  • [dynamicIO] Do not use React.unstable_postpone(): #​81652
  • feat: new detachable panel UI: #​81483
  • Turbopack: content-hash PageLoaderAsset: #​81450
  • [segment explorer] fix content overflow styling: #​81649
  • Improve reliability of owner stacks for async I/O errors: #​81501
  • fix(router): Prevent redirect loop on root data requests with basePath: #​81096
  • Ensure custom NextServer config is honored: #​81681
  • Fix before interactive incorrectly render css: #​81146
  • perf: memorize exclude function in webpack config: #​81525
  • Also enforce experimental features when there's no next config file: #​81679
  • feat(next/image): warn when images.qualities is undefined: #​81690
  • feat(build): optimize filterUniqueParamsCombinations to generate sub-combinations: #​81321
  • Update NextAdapter type and re-export: #​81692
  • upgrade to path-to-regexp@​6.3.0: #​80123
  • [metadata] replace for initial body icon case: #​81688
  • [segment explorer] remove dev panel ui flag: #​81670
  • Simplify running test apps locally with ppr or dynamicIO enabled: #​81668
  • [turbopack] Return cached Promise from __turbopack_load_by_url__ : #​81663
  • Upgrade React from 97cdd5d3-20250710 to 2f0e7e57-20250715: #​81678
  • Delete unused renderToString function: #​81707
  • Discard prerendered route handler data from FS cache after revalidation: #​81611
  • Upgrade React from 2f0e7e57-20250715 to d85ec5f5-20250716: #​81708
  • Ignore pending revalidations during prerendering: #​81621
  • [turbopack] Clear chunk cache on HMR instead of creating new next-server VM: #​81664
  • fix: rootParams should throw in client when fallbackParams are not present: #​81711
  • perf(build): optimize buildAppStaticPaths performance and add helper function: #​81386
  • Turbopack: Support string without options for @​next/mdx: #​81713
  • [Segment Cache] Support dynamic head prefetching: #​81677
  • [sourcemaps] Consistent cursor columns: #​81375
  • fix: revert client segment route changes for sub shell generation: #​81731
  • fix: pages router metadata bugs with React 19: #​81733
  • Improve error handling for headers/cookies/draftMode in 'use cache': #​81716
  • [devtool] fix duplicate rendered indicator on server: #​81729
  • [devtool] enable segment explorer by default: #​81737
  • [turbopack] Stop exposing globals from Turbopack runtime: #​81727
  • Remove unnecessary await: #​81761
  • [chore] bump zod to latest v3: #​81757
  • feat(turbopack): Log anonymized internal error (panic) information to telemetry: #​81272
  • fix: revert client segment route changes for sub shell generation: #​81740
  • bugfix: static resources staleTime should be renewed once refetched: #​81771
  • [devtool] move font styling to global.css: #​81782
  • [devtool] copy decoded info of error details: #​81735
  • fix(build): add sourcePage context for PPR dynamic route lambda creation: #​81781
  • refactor: rename experimental.dynamicIO to experimental.cacheComponents: #​81562
  • Properly handle hanging promise rejections during prerendering: #​81754
  • Upgrade React from d85ec5f5-20250716 to dffacc7b-20250717: #​81767
  • Refactor: Get rid of overly generic getExpectedRequestStore function: #​81791
  • [devtool] migrate css reset to global.css: #​81783
  • [dev-tools] Robust shortcut detection: #​81756
  • [segment explorer] hide for pages router: #​81813
  • [devtool] fix scrollbar styling: #​81814
  • fix(ppr): ensure fallback route params trigger dynamic resume: #​81812
  • [devtools] restart server pending state: #​80858
  • Turbopack: fix dist dir on Windows: #​81758
  • fix: remove boundary sentinel from RSC responses: #​81857
  • [sourcemaps] Try VM for retrieving source maps first: #​81869
  • [devtools] save user config inside .next/cache: #​81807
  • Server: Remove unused code: #​81886
  • refactor: encapsulate content type within RenderResult: #​81861
  • refactor: handle null RenderResult responses gracefully: #​81895
  • Upgrade React from dffacc7b-20250717 to e9638c33-20250721: #​81899
  • chore(devtools): sync todos to linear: #​81901
  • Introduce 'use cache: private': #​81816
  • chore(deps): update browserslist: #​81851
  • Remove web-server from edge-ssr-app: #​81389
  • Stabilize node middleware support: #​81907
  • Add run-turbopack-compiler trace span: #​81917
  • fix: support calling onClose multiple times in edge-ssr-app: #​81911
  • fix: logging the correct process for listened port: #​81903
  • Build: Include rewrites in manifest generation: #​81894
  • Routing: Clean up some code: #​81932
  • [sourcemaps] Ensure codeframe when calling Client Functions from Server: #​81918
  • [segment explorer] missing file suggestion: #​81617
  • [turbopack] Always print trace labels in headers: #​81728
  • Revert "[metadata] use https protocol for schema urls": #​81934
  • Upgrade React from e9638c33-20250721 to 7513996f-20250722: #​81940
  • Upgrade to swc v33: #​81750
  • Remove extra base-server code: #​81944
  • Turbopack: flatten sourceInfo to avoid objects, reorder args, compress node.js entry: #​81545
  • Fix dynamicParams false layout case in dev: #​81990
  • Initial MCP implementation: #​81770
  • Fix: Unresolved param in x-nextjs-rewritten-query: #​81991
  • Turbopack: Add an option to use system TLS certificates (fixes #​79060, fixes #​79059): #​81818
  • Turbopack: Remove unused proxy option in turbo-tasks-fetch, lightly document HTTP_PROXY/HTTPS_PROXY environment variables: #​81905
  • Upgrade React from 7513996f-20250722 to edac0dde-20250723: #​81984
  • [devtools] Cleanup folder structure: #​82012
  • [devtools] Fix "open in editor" for locations in stackframes: #​82013
  • [Segment Cache] Fix: Key by rewritten search: #​81986
  • Upgrade vercel og and remove yoga type patching: #​81937
  • [perf] cache load config results: #​80570
  • Turbopack: use prototype for turbopack context for better runtime performance: #​81547
  • [reactcompiler] Test with latest RC: #​82002
  • [devtools] Fix various exhaustive-deps violations: #​82010
  • [devtools] Apply React Compiler to Next.js DevTools source: #​82004
  • Upgrade React from edac0dde-20250723 to 3d14fcf0-20250724: #​82020
  • Adjusted the warning message to be more descriptive: #​82054
  • Track fallback params on workUnitStore: #​82003
  • Fix API stripping JSON incorrectly: #​82061
  • Upgrade React from 3d14fcf0-20250724 to 19baee81-20250725: #​82063
  • use FetchStrategy to control prefetching behavior everywhere: #​82032
  • [Segment Cache] set fetchStrategy on segments from a dynamic request: #​82059
  • Revert "Upgrade vercel og and remove yoga type patching (#​81937)": #​82066
  • Optimize segment data routes: #​82033
  • Turbopack: write tasks doesn't need to be session dependent, as effects will restore: #​78727
  • [sourcemaps] Fully sourcemap stacks on the Server: #​81904
  • fix(Rspack): use loaderContext.utils.contextify to replace ModuleFilenameHelpers.createFilename: #​82104
  • next/root-params: #​80255
  • fix(next/image): fix image-optimizer.ts headers: #​82114
  • Upgrade React from 19baee81-20250725 to eaee5308-20250728: #​82120
  • Fix validateRSCRequestHeaders incorrect redirect: #​82119
  • fix(next/image): improve and simplify detect-content-type: #​82118
  • [CacheComponents] Use fallback params when validating dynamic routes in dev: #​82069
  • Extract getDynamicParam to a shared module: #​82137
  • Fix i18n fallback: false collision: #​82136
  • [segment explorer] normalize path when running inside monorepo: #​82146
  • [segment explorer] windows compatibility: #​82147
  • Upgrade React from eaee5308-20250728 to 9be531cd-20250729: #​82159
  • Ensure setAssetPrefix updates config instance: #​82160
  • Revert "Fix tracing of server actions imported by client components (#​78968): #​82161
  • Remove useMDXComponents argument: #​80871
  • Fix RSC hash validation for middleware external rewrites: #​82176
  • @next/codemod: update docs url in README: #​82135
  • @next/codemod: Add experimental.turbo to turbopack codemod for Next.js configs: #​82134
  • refactor: lowercase app router header values: #​82169
  • Strip internals from NextRequest types: #​82172
  • allow root params access in private caches: #​82125
  • [devtool] bump base-ui to 1.0.0-beta.2: #​82206
  • Upgrade @​vercel og: #​82201
  • Upgrade React from 9be531cd-20250729 to 9784cb37-20250730: #​82207
  • Fix: the unexpected clearing of symbolic link directories: #​82191
  • [next-dev] Set TURBOPACK env before loading config: #​82162
  • fix: display multiple lockfile warn if neither outputFileTracingRoot or turbopack.root option is provided: #​82164
  • Revert "Initial MCP implementation (#​81770)": #​82217
  • Revert "Upgrade @​vercel og (#​82201)": #​82219
  • Fix: Don't bail out of prefetch if head is missing: #​82216
  • Upgrade React from 9784cb37-20250730 to c260b38d-20250731: #​82247
  • [Cache Components] Runtime prefetching: #​81088
  • Parse dynamic params on the client: #​82185
  • Mark bun builtin modules as external (fixes #​75220): #​77616
  • Turbopack: Compact only at the end for short sessions: #​82224
  • feat: add fallback root params support for prefetch segment data routes: #​82282
  • feat: add route context to prerender error messages: #​82283
  • feat: automatically generate route types: #​81396
  • [Cache Components] Reset PrerenderStore after generating RSC payload: #​82286
  • Include eslint-plugin-react-hooks in React sync: #​82294
  • [devtools] Remove unnecessary cascading update: #​82295
  • Turbopack: name the module factory function: [#​7

Configuration

📅 Schedule: Branch creation - "before 4:00am on Tuesday" in timezone America/Toronto, Automerge - "after 9:00am and before 12:00pm on tuesday, wednesday, thursday" in timezone America/Toronto.

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

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

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


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

This PR has been generated by Renovate Bot.

@renovate-coveo renovate-coveo bot requested a review from a team as a code owner October 21, 2025 05:08
@renovate-coveo renovate-coveo bot added the dependencies Pull requests that update a dependency file label Oct 21, 2025
@renovate-coveo renovate-coveo bot added the dependencies Pull requests that update a dependency file label Oct 21, 2025
@developer-experience-bot
Copy link
Contributor

developer-experience-bot bot commented Oct 21, 2025

Pull Request Report

PR Title

✅ Title follows the conventional commit spec.

Live demo links

Bundle Size

File Old (kb) New (kb) Change (%)
case-assist 255.7 255.7 0
commerce 369.5 369.5 0
search 427.4 427.4 0
insight 419.3 419.3 0
recommendation 266.5 266.5 0
ssr 421.8 421.8 0
ssr-commerce 386.7 386.7 0
ssr-commerce-next 387.9 387.9 0
ssr-next 422.4 422.4 0

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