chore(deps): Update dependency react-router to v8 #71

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

This PR contains the following updates:

Package Change Age Confidence
react-router (source) ^7.18.2^8.0.0 age confidence

Release Notes

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

v8.3.0

Compare Source

Patch Changes
  • Encode path params in href/generatePath per RFC 3986 path-segment rules instead of encodeURIComponent (#​15310)
    • Characters that are valid literally in a path segment ($ & + , ; = : @​ — RFC 3986 pchar) are no longer percent-encoded, so values like a semver build 1.0.0+1 interpolate unchanged instead of becoming 1.0.0%2B1
    • Structural/unsafe characters (/ ? # %, whitespace, non-ASCII) are still escaped exactly as before
  • Use crypto.randomUUID() for createMemorySessionStorage session ids (#​15302)
    • createMemorySessionStorage is only intended for local development and testing - sessions are lost when the server restarts
  • Fix NavLink not applying its pending state when to has a trailing slash (#​15300)
  • Preserve RSC route component metadata so routes with a clientLoader can skip unnecessary server requests once their components have rendered while still fetching missing server-rendered elements (#​15323)
  • Harden RSC CSRF code paths (#​15311)
  • Fix server crash (TypeError: Invalid state: Unable to enqueue) when a request is aborted while the RSC HTML stream has a pending flush (#​15286)
    • Handle cancellation of the injectRSCPayload readable side, clear the pending flush, and cancel the underlying RSC payload stream
Unstable Changes

⚠️ Unstable features are not recommended for production use

  • Detect stale RSC clients during lazy route discovery and reload the destination document (#​15318)
Migration

Apps using the default RSC Framework entry do not need to make any changes. Apps with a custom entry.rsc.tsx should import the generated client version and pass it to unstable_matchRSCServerRequest:

import clientVersion from "virtual:react-router/unstable_rsc/client-version";

return unstable_matchRSCServerRequest({
  // ...
  clientVersion,
});
  • Add CSP nonce support to RSC document rendering (#​15320)

    • Add nonce options to unstable_routeRSCServerRequest and unstable_RSCStaticRouter
    • Forward the nonce to the HTML renderer and apply it to injected RSC payload scripts and nonce-aware framework components

    To adopt nonce-based CSP, update your entry.ssr.tsx (run react-router reveal entry.ssr first in RSC Framework Mode) to generate a fresh nonce for each request. Pass it to routeRSCServerRequest, spread the renderHTML options into React's HTML renderer, pass options.nonce to RSCStaticRouter, and use the same nonce in the Content-Security-Policy response header:

    const nonce = crypto.randomUUID();
    const response = await routeRSCServerRequest({
      request,
      serverResponse,
      createFromReadableStream,
      nonce,
      async renderHTML(getPayload, options) {
        const payload = getPayload();
        return renderHTMLToReadableStream(
          <RSCStaticRouter getPayload={getPayload} nonce={options.nonce} />,
          {
            ...options,
            bootstrapScriptContent,
            formState: await payload.formState,
            signal: request.signal,
          },
        );
      },
    });
    response.headers.set(
      "Content-Security-Policy",
      `script-src 'self' 'nonce-${nonce}'`,
    );
    

v8.2.0

Compare Source

Patch Changes
  • Fix href() to properly stringify and URL-encode param values, matching generatePath() (#​15277)
    • splat params preserve path separators while encoding each segment individually
  • Fix dynamic param extraction for routes with optional static segments (#​15200)
    • When a route path contains optional static segments (e.g. /school?/user/:id), the internal regex's incorrectly shifted parameter indices resulting in incorrect parameter extraction
    • Consecutive optional static segments (e.g. /one?/two?) were only partially handled
  • Preserve navigation blocker state through a revalidation (#​15246)
  • Fix route ranking for dynamic parameters with static extension suffixes (#​15273)
    • These were not being detected as dynamic param segments and instead got incorrectly scored higher as a static segment
    • This meant they could potentially tie truly static routes like /sitemap.xml and outrank them based on definition order
    • These are now correctly identified as dynamic parameter segments and scored correctly
  • Use ReactFormState types instead of unknown (#​15263)

v8.1.0

Compare Source

Minor Changes
  • Return route metadata from server request, client navigation, and client fetcher instrumentations (#​15235)
    • Adds result metadata after instrumented calls complete, including the URL, matched route pattern, and params
    • Adds known HTTP status codes to server request handler instrumentation results

v8.0.1

Compare Source

Patch Changes
  • Remove the obsolete AppLoadContext type export accidentally left over from v7 now that middleware is always enabled and server request context is provided through RouterContextProvider. (#​15207)

v8.0.0

Compare Source

Major Changes
  • Remove the future.v8_trailingSlashAwareDataRequests flag (#​15100)
    • Trailing slash-aware data request URLs are now the default behavior.
  • Update tsconfig.json target/lib from ES2020 -> ES2022 (591853e)
  • Switch the published packages in packages/ to ESM-only. (#​14895) (59ebcf1)
  • Remove deprecated data parameter in favor of loaderData for meta APIs (to align with Route.ComponentProps) (#​14931)
    • Route.MetaArgs, Route.MetaMatch, MetaArgs, MetaMatch, Route.ComponentProps.matches, UIMatch
  • Remove future.v8_passThroughRequests flag - the raw incoming request is now always passed through to loader/action. Use url for the normalized URL without React Router-specific implementation details (.data suffixes, index/_routes search params). (#​15079)
  • Remove internal hasErrorBoundary field added to router.routes when using a data router (#​15074)
    • This should not impact user-facing code since this was an internal prop and was computed based on the presence of ErrorBoundary or errorElement on your route
    • hasErrorBoundary is no longer accepted on RouteObject (IndexRouteObject/NonIndexRouteObject), DataRouteObject, <Route> JSX props, or as a key in lazy route definitions.
    • The MapRoutePropertiesFunction signature no longer requires returning hasErrorBoundary; the router infers it directly.
  • Remove react-router-dom package (#​15076)
    • In v7 everything DOM-specific was collapsed into react-router/dom
      • react-router-dom was kept around as a convenience so existing v6 app imports would still work
    • For v8, you will need to swap react-router-dom imports:
      • RouterProvider/HydratedRouter should be imported from react-router/dom
      • Everything else should be imported from react-router
  • Remove future.v8_middleware flag — middleware is always enabled in v8 (#​15078)
    • The future.v8_middleware flag has been removed; middleware is now always enabled
    • The context parameter passed to loader, action, and middleware functions is always a RouterContextProvider instance
    • getLoadContext functions in custom servers must return a RouterContextProvider — returning a plain object is no longer supported
    • The MiddlewareEnabled type (previously exported as UNSAFE_MiddlewareEnabled) has been removed since the conditional it gated is now unconditional
    • The Future module augmentation pattern (interface Future { v8_middleware: true }) is no longer needed to type context in Data Mode
  • Update minimum Node version to 22.22.0 (#​14928)
  • Update minimum React version to 19.2.7 (#​15062)
Minor Changes
  • Bump dependencies (#​15080)
    • Bumped cookie from ^1.0.1 to ^1.1.1
    • Bumped set-cookie-parser from ^2.6.0 to ^3.1.0
Patch Changes
  • Ensure client middleware errors load lazy route error boundaries before bubbling (#​15086)
  • Remove explicit onSubmit type override from SharedFormProps to fix deprecation warning with @types/react@19.x (#​14932) (59ebcf1)
  • Update package builds to preserve individual module files in published artifacts. Public APIs and documented import paths are unchanged. (#​15092)
    • Updated package TypeScript configs to support modern module syntax used by the build configuration.
  • Migrate package builds from tsup to tsdown. Published package entry points and public APIs are unchanged. (#​15092)
  • Upgrade React Router's TypeScript tooling to TypeScript 6. Runtime behavior and public APIs are unchanged. (#​15092)

Configuration

📅 Schedule: (in timezone Europe/Copenhagen)

  • Branch creation
    • "before 6am on monday"
  • 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.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [react-router](https://github.com/remix-run/react-router) ([source](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router)) | [`^7.18.2` → `^8.0.0`](https://renovatebot.com/diffs/npm/react-router/7.18.2/8.3.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/react-router/8.3.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-router/7.18.2/8.3.0?slim=true) | --- ### Release Notes <details> <summary>remix-run/react-router (react-router)</summary> ### [`v8.3.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router/CHANGELOG.md#v830) [Compare Source](https://github.com/remix-run/react-router/compare/react-router@8.2.0...react-router@8.3.0) ##### Patch Changes - Encode path params in `href`/`generatePath` per RFC 3986 path-segment rules instead of `encodeURIComponent` ([#&#8203;15310](https://github.com/remix-run/react-router/pull/15310)) - Characters that are valid literally in a path segment (`$ & + , ; = : @&#8203;` — RFC 3986 `pchar`) are no longer percent-encoded, so values like a semver build `1.0.0+1` interpolate unchanged instead of becoming `1.0.0%2B1` - Structural/unsafe characters (`/ ? # %`, whitespace, non-ASCII) are still escaped exactly as before - Use `crypto.randomUUID()` for `createMemorySessionStorage` session ids ([#&#8203;15302](https://github.com/remix-run/react-router/pull/15302)) - `createMemorySessionStorage` is only intended for local development and testing - sessions are lost when the server restarts - Fix `NavLink` not applying its `pending` state when `to` has a trailing slash ([#&#8203;15300](https://github.com/remix-run/react-router/pull/15300)) - Preserve RSC route component metadata so routes with a `clientLoader` can skip unnecessary server requests once their components have rendered while still fetching missing server-rendered elements ([#&#8203;15323](https://github.com/remix-run/react-router/pull/15323)) - Harden RSC CSRF code paths ([#&#8203;15311](https://github.com/remix-run/react-router/pull/15311)) - Fix server crash (`TypeError: Invalid state: Unable to enqueue`) when a request is aborted while the RSC HTML stream has a pending flush ([#&#8203;15286](https://github.com/remix-run/react-router/pull/15286)) - Handle cancellation of the `injectRSCPayload` readable side, clear the pending flush, and cancel the underlying RSC payload stream ##### Unstable Changes ⚠️ *[Unstable features](https://reactrouter.com/community/api-development-strategy#unstable-flags) are not recommended for production use* - Detect stale RSC clients during lazy route discovery and reload the destination document ([#&#8203;15318](https://github.com/remix-run/react-router/pull/15318)) ##### Migration Apps using the default RSC Framework entry do not need to make any changes. Apps with a custom `entry.rsc.tsx` should import the generated client version and pass it to `unstable_matchRSCServerRequest`: ```tsx import clientVersion from "virtual:react-router/unstable_rsc/client-version"; return unstable_matchRSCServerRequest({ // ... clientVersion, }); ``` - Add CSP nonce support to RSC document rendering ([#&#8203;15320](https://github.com/remix-run/react-router/pull/15320)) - Add `nonce` options to `unstable_routeRSCServerRequest` and `unstable_RSCStaticRouter` - Forward the nonce to the HTML renderer and apply it to injected RSC payload scripts and nonce-aware framework components To adopt nonce-based CSP, update your `entry.ssr.tsx` (run `react-router reveal entry.ssr` first in RSC Framework Mode) to generate a fresh nonce for each request. Pass it to `routeRSCServerRequest`, spread the `renderHTML` options into React's HTML renderer, pass `options.nonce` to `RSCStaticRouter`, and use the same nonce in the `Content-Security-Policy` response header: ```tsx const nonce = crypto.randomUUID(); const response = await routeRSCServerRequest({ request, serverResponse, createFromReadableStream, nonce, async renderHTML(getPayload, options) { const payload = getPayload(); return renderHTMLToReadableStream( <RSCStaticRouter getPayload={getPayload} nonce={options.nonce} />, { ...options, bootstrapScriptContent, formState: await payload.formState, signal: request.signal, }, ); }, }); response.headers.set( "Content-Security-Policy", `script-src 'self' 'nonce-${nonce}'`, ); ``` ### [`v8.2.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router/CHANGELOG.md#v820) [Compare Source](https://github.com/remix-run/react-router/compare/react-router@8.1.0...react-router@8.2.0) ##### Patch Changes - Fix `href()` to properly stringify and URL-encode param values, matching `generatePath()` ([#&#8203;15277](https://github.com/remix-run/react-router/pull/15277)) - splat params preserve path separators while encoding each segment individually - Fix dynamic param extraction for routes with optional static segments ([#&#8203;15200](https://github.com/remix-run/react-router/pull/15200)) - When a route path contains optional static segments (e.g. `/school?/user/:id`), the internal regex's incorrectly shifted parameter indices resulting in incorrect parameter extraction - Consecutive optional static segments (e.g. `/one?/two?`) were only partially handled - Preserve navigation blocker state through a revalidation ([#&#8203;15246](https://github.com/remix-run/react-router/pull/15246)) - Fix route ranking for dynamic parameters with static extension suffixes ([#&#8203;15273](https://github.com/remix-run/react-router/pull/15273)) - These were not being detected as dynamic param segments and instead got incorrectly scored higher as a static segment - This meant they could potentially tie truly static routes like `/sitemap.xml` and outrank them based on definition order - These are now correctly identified as dynamic parameter segments and scored correctly - Use ReactFormState types instead of unknown ([#&#8203;15263](https://github.com/remix-run/react-router/pull/15263)) ### [`v8.1.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router/CHANGELOG.md#v810) [Compare Source](https://github.com/remix-run/react-router/compare/react-router@8.0.1...react-router@8.1.0) ##### Minor Changes - Return route metadata from server request, client navigation, and client fetcher instrumentations ([#&#8203;15235](https://github.com/remix-run/react-router/pull/15235)) - Adds result metadata after instrumented calls complete, including the URL, matched route pattern, and params - Adds known HTTP status codes to server request handler instrumentation results ### [`v8.0.1`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router/CHANGELOG.md#v801) [Compare Source](https://github.com/remix-run/react-router/compare/react-router@8.0.0...react-router@8.0.1) ##### Patch Changes - Remove the obsolete `AppLoadContext` type export accidentally left over from v7 now that middleware is always enabled and server request context is provided through `RouterContextProvider`. ([#&#8203;15207](https://github.com/remix-run/react-router/pull/15207)) ### [`v8.0.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router/CHANGELOG.md#v800) [Compare Source](https://github.com/remix-run/react-router/compare/react-router@7.18.2...react-router@8.0.0) ##### Major Changes - Remove the `future.v8_trailingSlashAwareDataRequests` flag ([#&#8203;15100](https://github.com/remix-run/react-router/pull/15100)) - Trailing slash-aware data request URLs are now the default behavior. - Update `tsconfig.json` `target`/`lib` from `ES2020 -> ES2022` ([591853e](https://github.com/remix-run/react-router/commit/591853e)) - Switch the published packages in `packages/` to ESM-only. ([#&#8203;14895](https://github.com/remix-run/react-router/pull/14895)) ([59ebcf1](https://github.com/remix-run/react-router/commit/59ebcf1)) - Remove deprecated `data` parameter in favor of `loaderData` for `meta` APIs (to align with `Route.ComponentProps`) ([#&#8203;14931](https://github.com/remix-run/react-router/pull/14931)) - `Route.MetaArgs`, `Route.MetaMatch`, `MetaArgs`, `MetaMatch`, `Route.ComponentProps.matches`, `UIMatch` - Remove `future.v8_passThroughRequests` flag - the raw incoming `request` is now always passed through to `loader`/`action`. Use `url` for the normalized URL without React Router-specific implementation details (`.data` suffixes, `index`/`_routes` search params). ([#&#8203;15079](https://github.com/remix-run/react-router/pull/15079)) - Remove internal `hasErrorBoundary` field added to `router.routes` when using a data router ([#&#8203;15074](https://github.com/remix-run/react-router/pull/15074)) - This should not impact user-facing code since this was an internal prop and was computed based on the presence of `ErrorBoundary` or `errorElement` on your route - `hasErrorBoundary` is no longer accepted on `RouteObject` (`IndexRouteObject`/`NonIndexRouteObject`), `DataRouteObject`, `<Route>` JSX props, or as a key in `lazy` route definitions. - The `MapRoutePropertiesFunction` signature no longer requires returning `hasErrorBoundary`; the router infers it directly. - Remove `react-router-dom` package ([#&#8203;15076](https://github.com/remix-run/react-router/pull/15076)) - In v7 everything DOM-specific was collapsed into `react-router/dom` - `react-router-dom` was kept around as a convenience so existing v6 app imports would still work - For v8, you will need to swap `react-router-dom` imports: - `RouterProvider`/`HydratedRouter` should be imported from `react-router/dom` - Everything else should be imported from `react-router` - Remove `future.v8_middleware` flag — middleware is always enabled in v8 ([#&#8203;15078](https://github.com/remix-run/react-router/pull/15078)) - The `future.v8_middleware` flag has been removed; middleware is now always enabled - The `context` parameter passed to `loader`, `action`, and `middleware` functions is always a `RouterContextProvider` instance - `getLoadContext` functions in custom servers must return a `RouterContextProvider` — returning a plain object is no longer supported - The `MiddlewareEnabled` type (previously exported as `UNSAFE_MiddlewareEnabled`) has been removed since the conditional it gated is now unconditional - The `Future` module augmentation pattern (`interface Future { v8_middleware: true }`) is no longer needed to type `context` in Data Mode - Update minimum Node version to 22.22.0 ([#&#8203;14928](https://github.com/remix-run/react-router/pull/14928)) - Update minimum React version to 19.2.7 ([#&#8203;15062](https://github.com/remix-run/react-router/pull/15062)) ##### Minor Changes - Bump dependencies ([#&#8203;15080](https://github.com/remix-run/react-router/pull/15080)) - Bumped `cookie` from `^1.0.1` to `^1.1.1` - Bumped `set-cookie-parser` from `^2.6.0` to `^3.1.0` ##### Patch Changes - Ensure client middleware errors load lazy route error boundaries before bubbling ([#&#8203;15086](https://github.com/remix-run/react-router/pull/15086)) - Remove explicit `onSubmit` type override from `SharedFormProps` to fix deprecation warning with `@types/react@19.x` ([#&#8203;14932](https://github.com/remix-run/react-router/pull/14932)) ([59ebcf1](https://github.com/remix-run/react-router/commit/59ebcf1)) - Update package builds to preserve individual module files in published artifacts. Public APIs and documented import paths are unchanged. ([#&#8203;15092](https://github.com/remix-run/react-router/pull/15092)) - Updated package TypeScript configs to support modern module syntax used by the build configuration. - Migrate package builds from `tsup` to `tsdown`. Published package entry points and public APIs are unchanged. ([#&#8203;15092](https://github.com/remix-run/react-router/pull/15092)) - Upgrade React Router's TypeScript tooling to TypeScript 6. Runtime behavior and public APIs are unchanged. ([#&#8203;15092](https://github.com/remix-run/react-router/pull/15092)) </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/Copenhagen) - Branch creation - "before 6am on monday" - 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](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yODEuMCIsInVwZGF0ZWRJblZlciI6IjQzLjI4MS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJtYWpvciJdfQ==-->
chore(deps): Update dependency react-router to v8
Some checks failed
CD Staging / Build & Push Docker Images (pull_request) Has been skipped
CD Staging / Build & Push Docker Images-1 (pull_request) Has been skipped
CD Staging / Deploy Staging (pull_request) Has been skipped
CD Staging / Deploy PR Preview (pull_request) Has been skipped
CD Staging / Tear Down PR Preview (pull_request) Has been skipped
renovate/stability-days Updates have met minimum release age requirement
CI / Security Scan (pull_request) Successful in 5m28s
CI / Dockerfile Package Check (pull_request) Successful in 42s
CI / Checks (pull_request) Failing after 6m24s
CI / E2E Tests (pull_request) Has been skipped
CI / Visual Tests (pull_request) Successful in 3m26s
CI / Journal Image Smoke Test (pull_request) Successful in 28m6s
1d234e65ba
renovate force-pushed renovate/react-router-8.x from 1d234e65ba
Some checks failed
CD Staging / Build & Push Docker Images (pull_request) Has been skipped
CD Staging / Build & Push Docker Images-1 (pull_request) Has been skipped
CD Staging / Deploy Staging (pull_request) Has been skipped
CD Staging / Deploy PR Preview (pull_request) Has been skipped
CD Staging / Tear Down PR Preview (pull_request) Has been skipped
renovate/stability-days Updates have met minimum release age requirement
CI / Security Scan (pull_request) Successful in 5m28s
CI / Dockerfile Package Check (pull_request) Successful in 42s
CI / Checks (pull_request) Failing after 6m24s
CI / E2E Tests (pull_request) Has been skipped
CI / Visual Tests (pull_request) Successful in 3m26s
CI / Journal Image Smoke Test (pull_request) Successful in 28m6s
to 920c1da1ef
Some checks failed
renovate/stability-days Updates have met minimum release age requirement
CD Staging / Build & Push Docker Images (pull_request) Has been skipped
CD Staging / Build & Push Docker Images-1 (pull_request) Has been skipped
CD Staging / Deploy Staging (pull_request) Has been skipped
CD Staging / Deploy PR Preview (pull_request) Has been skipped
CD Staging / Tear Down PR Preview (pull_request) Has been skipped
CI / Security Scan (pull_request) Successful in 1m20s
CI / Dockerfile Package Check (pull_request) Successful in 35s
CI / Checks (pull_request) Failing after 5m19s
CI / E2E Tests (pull_request) Has been skipped
CI / Visual Tests (pull_request) Successful in 5m10s
CI / Journal Image Smoke Test (pull_request) Successful in 25m58s
2026-08-03 03:51:27 +00:00
Compare
renovate force-pushed renovate/react-router-8.x from 920c1da1ef
Some checks failed
renovate/stability-days Updates have met minimum release age requirement
CD Staging / Build & Push Docker Images (pull_request) Has been skipped
CD Staging / Build & Push Docker Images-1 (pull_request) Has been skipped
CD Staging / Deploy Staging (pull_request) Has been skipped
CD Staging / Deploy PR Preview (pull_request) Has been skipped
CD Staging / Tear Down PR Preview (pull_request) Has been skipped
CI / Security Scan (pull_request) Successful in 1m20s
CI / Dockerfile Package Check (pull_request) Successful in 35s
CI / Checks (pull_request) Failing after 5m19s
CI / E2E Tests (pull_request) Has been skipped
CI / Visual Tests (pull_request) Successful in 5m10s
CI / Journal Image Smoke Test (pull_request) Successful in 25m58s
to d8c94972e1
Some checks failed
renovate/stability-days Updates have met minimum release age requirement
CD Staging / Build & Push Docker Images (pull_request) Has been skipped
CD Staging / Build & Push Docker Images-1 (pull_request) Has been skipped
CD Staging / Deploy Staging (pull_request) Has been skipped
CD Staging / Deploy PR Preview (pull_request) Has been skipped
CD Staging / Tear Down PR Preview (pull_request) Has been skipped
CI / Security Scan (pull_request) Successful in 2m46s
CI / Dockerfile Package Check (pull_request) Successful in 42s
CI / Checks (pull_request) Failing after 8m37s
CI / E2E Tests (pull_request) Has been skipped
CI / Visual Tests (pull_request) Successful in 4m39s
CI / Journal Image Smoke Test (pull_request) Successful in 22m5s
2026-08-04 12:12:08 +00:00
Compare
renovate force-pushed renovate/react-router-8.x from d8c94972e1
Some checks failed
renovate/stability-days Updates have met minimum release age requirement
CD Staging / Build & Push Docker Images (pull_request) Has been skipped
CD Staging / Build & Push Docker Images-1 (pull_request) Has been skipped
CD Staging / Deploy Staging (pull_request) Has been skipped
CD Staging / Deploy PR Preview (pull_request) Has been skipped
CD Staging / Tear Down PR Preview (pull_request) Has been skipped
CI / Security Scan (pull_request) Successful in 2m46s
CI / Dockerfile Package Check (pull_request) Successful in 42s
CI / Checks (pull_request) Failing after 8m37s
CI / E2E Tests (pull_request) Has been skipped
CI / Visual Tests (pull_request) Successful in 4m39s
CI / Journal Image Smoke Test (pull_request) Successful in 22m5s
to a09bc737d4
Some checks failed
renovate/stability-days Updates have met minimum release age requirement
CD Staging / Build & Push Docker Images (pull_request) Has been skipped
CD Staging / Build & Push Docker Images-1 (pull_request) Has been skipped
CD Staging / Deploy Staging (pull_request) Has been skipped
CD Staging / Deploy PR Preview (pull_request) Has been skipped
CI / Security Scan (pull_request) Successful in 54s
CI / Dockerfile Package Check (pull_request) Successful in 20s
CI / Visual Tests (pull_request) Successful in 5m57s
CI / Checks (pull_request) Failing after 10m19s
CI / E2E Tests (pull_request) Has been skipped
CI / Journal Image Smoke Test (pull_request) Successful in 31m20s
Cancel superseded CI / Cancel in-flight CI (pull_request) Successful in 15s
CD Staging / Tear Down PR Preview (pull_request) Successful in 26s
2026-08-14 12:10:00 +00:00
Compare
ullrich referenced this pull request from a commit 2026-08-18 16:16:46 +00:00
Owner

Superseded by #79, which is merged: main now has react-router and all three adapters at ^8.3.0.

These four PRs each bumped one catalog entry to ^8.0.0 while leaving the other three at ^7.18.2, so every one was a v8 runtime against v7 tooling and none could pass — #71's TS2305: no exported member 'AppLoadContext' was that split version set, not a migration bug. #79 moved all four together and carried the actual migration (AppLoadContextRouterContextProvider, meta dataloaderData in seven routes, dropping the now-default v8_middleware flag).

renovate.json5 now groups the four packages, placed after the majors → groupName: null rule so the grouping survives a major — which is when they most need to arrive together. Closing rather than rebasing; the update is already satisfied on main.

Superseded by #79, which is merged: main now has react-router and all three adapters at `^8.3.0`. These four PRs each bumped one catalog entry to `^8.0.0` while leaving the other three at `^7.18.2`, so every one was a v8 runtime against v7 tooling and none could pass — #71's `TS2305: no exported member 'AppLoadContext'` was that split version set, not a migration bug. #79 moved all four together and carried the actual migration (`AppLoadContext` → `RouterContextProvider`, meta `data` → `loaderData` in seven routes, dropping the now-default `v8_middleware` flag). `renovate.json5` now groups the four packages, placed after the majors → `groupName: null` rule so the grouping survives a major — which is when they most need to arrive together. Closing rather than rebasing; the update is already satisfied on main.
ullrich closed this pull request 2026-08-18 20:29:09 +00:00
Some checks failed
renovate/stability-days Updates have met minimum release age requirement
CD Staging / Build & Push Docker Images (pull_request) Has been skipped
CD Staging / Build & Push Docker Images-1 (pull_request) Has been skipped
CD Staging / Deploy Staging (pull_request) Has been skipped
CD Staging / Deploy PR Preview (pull_request) Has been skipped
CI / Security Scan (pull_request) Successful in 54s
Required
Details
CI / Dockerfile Package Check (pull_request) Successful in 20s
Required
Details
CI / Visual Tests (pull_request) Successful in 5m57s
Required
Details
CI / Checks (pull_request) Failing after 10m19s
Required
Details
CI / E2E Tests (pull_request) Has been skipped
Required
Details
CI / Journal Image Smoke Test (pull_request) Successful in 31m20s
Required
Details
Cancel superseded CI / Cancel in-flight CI (pull_request) Successful in 15s
CD Staging / Tear Down PR Preview (pull_request) Successful in 26s

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
trails-cool/trails!71
No description provided.