chore(deps): update all-dependencies #12

Merged
Renovate-Clanker merged 1 commits from renovate/all-dependencies into main 2026-04-29 22:01:29 +07:00
Collaborator

This PR contains the following updates:

Package Change Age Confidence
@react-router/dev (source) 7.13.17.14.2 age confidence
@react-router/node (source) 7.13.17.14.2 age confidence
@react-router/serve (source) 7.13.17.14.2 age confidence
@tailwindcss/vite (source) 4.2.14.2.4 age confidence
@types/node (source) 24.12.024.12.2 age confidence
isbot (source) 5.1.355.1.39 age confidence
react (source) 19.2.419.2.5 age confidence
react-dom (source) 19.2.419.2.5 age confidence
react-router (source) 7.13.17.14.2 age confidence
tailwindcss (source) 4.2.14.2.4 age confidence
vite (source) 7.3.17.3.2 age confidence

⚠️ Warning

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


Release Notes

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

v7.14.2

Patch Changes
  • Fix typegen for layouts without pages ([aabf4a1)

    Previously, typegen could produce pages: ; in .react-router/types/+routes.ts when a route corresponded to 0 pages.
    Now, pages: never; is correctly generated for those cases.

Unstable Changes

⚠️ Unstable features are not recommended for production use

  • For unstable_reactRouterRSC Vite plugin consumers, require @vitejs/plugin-react in user Vite config, and more reliably split route modules. (#​14965) ([aabf4a1)

    • ⚠️ This is a breaking change if you have begun using the unstable_reactRouterRSC Vite plugin - please install @vitejs/plugin-react and add the react plugin to your Vite plugins array.
  • Updated dependencies:

v7.14.1

Patch Changes

v7.14.0

Minor Changes
Patch Changes
  • support for prerendering multiple server bundles with v8_viteEnvironmentApi (#​14921)

  • rsc framework mode prerender / spa mode support (#​14907)

  • UNSTABLE RSC FRAMEWORK MODE BREAKING CHANGE - Existing route module exports remain unchanged from stable v7 non-RSC mode, but new exports are added for RSC mode. If you want to use RSC features, you will need to update your route modules to export the new annotations. (#​14901)

    If you are using RSC framework mode currently, you will need to update your route modules to the new conventions. The following route module components have their own mutually exclusive server component counterparts:

    Server Component Export Client Component
    ServerComponent default
    ServerErrorBoundary ErrorBoundary
    ServerLayout Layout
    ServerHydrateFallback HydrateFallback

    If you were previously exporting a ServerComponent, your ErrorBoundary, Layout, and HydrateFallback were also server components. If you want to keep those as server components, you can rename them and prefix them with Server. If you were previously importing the implementations of those components from a client module, you can simply inline them.

    Example:

    Before

    import { ErrorBoundary as ClientErrorBoundary } from "./client";
    
    export function ServerComponent() {
      // ...
    }
    
    export function ErrorBoundary() {
      return <ClientErrorBoundary />;
    }
    
    export function Layout() {
      // ...
    }
    
    export function HydrateFallback() {
      // ...
    }
    

    After

    export function ServerComponent() {
      // ...
    }
    
    export function ErrorBoundary() {
      // previous implementation of ClientErrorBoundary, this is now a client component
    }
    
    export function ServerLayout() {
      // rename previous Layout export to ServerLayout to make it a server component
    }
    
    export function ServerHydrateFallback() {
      // rename previous HydrateFallback export to ServerHydrateFallback to make it a server component
    }
    
  • update the reveal command to support rsc for entry.client, entry.rsc, entry.ssr (#​14904)

  • Updated dependencies:

    • react-router@7.14.0
    • @react-router/node@7.14.0
    • @react-router/serve@7.14.0

v7.13.2

Patch Changes
  • Fix react-router dev crash when Unix socket files exist in the project root (#​14854)

  • Escape redirect locations in prerendered redirect HTML (#​14880)

  • Add future.unstable_passThroughRequests flag (#​14775)

    By default, React Router normalizes the request.url passed to your loader, action, and middleware functions by removing React Router's internal implementation details (.data suffixes, index + _routes query params).

    Enabling this flag removes that normalization and passes the raw HTTP request instance to your handlers. This provides a few benefits:

    • Reduces server-side overhead by eliminating multiple new Request() calls on the critical path
    • Allows you to distinguish document from data requests in your handlers base don the presence of a .data suffix (useful for observability purposes)

    If you were previously relying on the normalization of request.url, you can switch to use the new sibling unstable_url parameter which contains a URL instance representing the normalized location:

    // ❌ Before: you could assume there was no `.data` suffix in `request.url`
    export async function loader({ request }: Route.LoaderArgs) {
      let url = new URL(request.url);
      if (url.pathname === "/path") {
        // This check will fail with the flag enabled because the `.data` suffix will
        // exist on data requests
      }
    }
    
    // ✅ After: use `unstable_url` for normalized routing logic and `request.url`
    // for raw routing logic
    export async function loader({ request, unstable_url }: Route.LoaderArgs) {
      if (unstable_url.pathname === "/path") {
        // This will always have the `.data` suffix stripped
      }
    
      // And now you can distinguish between document versus data requests
      let isDataRequest = new URL(request.url).pathname.endsWith(".data");
    }
    
  • Add a new unstable_url: URL parameter to route handler methods (loader, action, middleware, etc.) representing the normalized URL the application is navigating to or fetching, with React Router implementation details removed (.datasuffix, index/_routes query params) (#​14775)

    This is being added alongside the new future.unstable_passthroughRequests future flag so that users still have a way to access the normalized URL when that flag is enabled and non-normalized request's are being passed to your handlers. When adopting this flag, you will only need to start leveraging this new parameter if you are relying on the normalization of request.url in your application code.

    If you don't have the flag enabled, then unstable_url will match request.url.

  • Updated dependencies:

    • react-router@7.13.2
    • @react-router/node@7.13.2
    • @react-router/serve@7.13.2
remix-run/react-router (@​react-router/node)

v7.14.2

Patch Changes

v7.14.1

Patch Changes

v7.14.0

Patch Changes
  • Updated dependencies:
    • react-router@7.14.0

v7.13.2

Patch Changes
  • Updated dependencies:
    • react-router@7.13.2
remix-run/react-router (@​react-router/serve)

v7.14.2

Patch Changes

v7.14.1

Patch Changes

v7.14.0

Patch Changes
  • Updated dependencies:
    • react-router@7.14.0
    • @react-router/node@7.14.0
    • @react-router/express@7.14.0

v7.13.2

Patch Changes
  • Updated dependencies:
    • react-router@7.13.2
    • @react-router/node@7.13.2
    • @react-router/express@7.13.2
tailwindlabs/tailwindcss (@​tailwindcss/vite)

v4.2.4

Fixed
  • Ensure imports in @import and @plugin still resolve correctly when using Vite aliases in @tailwindcss/vite (#​19947)

v4.2.3

Fixed
  • Canonicalization: improve canonicalization for tracking-* utilities by preferring non-negative utilities (e.g. -tracking-tightertracking-wider) (#​19827)
  • Fix crash due to invalid characters in candidate (exceeding valid unicode code point range) (#​19829)
  • Ensure query params in imports are considered unique resources when using @tailwindcss/webpack (#​19723)
  • Canonicalization: collapse arbitrary values into shorthand utilities (e.g. px-[1.2rem] py-[1.2rem]p-[1.2rem]) (#​19837)
  • Canonicalization: collapse border-{t,b}-* into border-y-*, border-{l,r}-* into border-x-*, and border-{t,r,b,l}-* into border-* (#​19842)
  • Canonicalization: collapse scroll-m{t,b}-* into scroll-my-*, scroll-m{l,r}-* into scroll-mx-*, and scroll-m{t,r,b,l}-* into scroll-m-* (#​19842)
  • Canonicalization: collapse scroll-p{t,b}-* into scroll-py-*, scroll-p{l,r}-* into scroll-px-*, and scroll-p{t,r,b,l}-* into scroll-p-* (#​19842)
  • Canonicalization: collapse overflow-{x,y}-* into overflow-* (#​19842)
  • Canonicalization: collapse overscroll-{x,y}-* into overscroll-* (#​19842)
  • Read from --placeholder-color instead of --background-color for placeholder-* utilities (#​19843)
  • Upgrade: ensure files are not emptied out when killing the upgrade process while it's running (#​19846)
  • Upgrade: use config.content when migrating from Tailwind CSS v3 to Tailwind CSS v4 (#​19846)
  • Upgrade: never migrate files that are ignored by git (#​19846)
  • Add .env and .env.* to default ignored content files (#​19846)
  • Canonicalization: migrate overflow-ellipsis into text-ellipsis (#​19849)
  • Canonicalization: migrate start-fullinset-s-full, start-autoinset-s-auto, start-pxinset-s-px, and start-<number>inset-s-<number> as well as negative versions (#​19849)
  • Canonicalization: migrate end-fullinset-e-full, end-autoinset-e-auto, end-pxinset-e-px, and end-<number>inset-e-<number> as well as negative versions (#​19849)
  • Canonicalization: move the - sign inside the arbitrary value -left-[9rem]left-[-9rem] (#​19858)
  • Canonicalization: move the - sign outside the arbitrary value ml-[calc(-1*var(--width))]-ml-(--width) (#​19858)
  • Improve performance when scanning JSONL / NDJSON files (#​19862)
  • Support NODE_PATH environment variable in standalone CLI (#​19617)

v4.2.2

Fixed
  • Don't crash when candidates contain prototype properties like row-constructor (#​19725)
  • Canonicalize calc(var(--spacing)*…) expressions into --spacing(…) (#​19769)
  • Fix crash in canonicalization step when handling utilities containing @property at-rules (e.g. shadow-sm border) (#​19727)
  • Skip full reload for server only modules scanned by client CSS when using @tailwindcss/vite (#​19745)
  • Add support for Vite 8 in @tailwindcss/vite (#​19790)
  • Improve canonicalization for bare values exceeding default spacing scale suggestions (e.g. w-1234 h-1234size-1234) (#​19809)
  • Fix canonicalization resulting in empty list (e.g. w-5 h-5 size-5'' instead of size-5) (#​19812)
  • Resolve tsconfig paths to allow for @import '@&#8203;/path/to/file'; when using @tailwindcss/vite (#​19803)
omrilotan/isbot (isbot)

v5.1.39

Compare Source

  • Pattern updates

v5.1.38

Compare Source

  • Pattern updates

v5.1.37

Compare Source

  • Better checking for non empty strings in the interface functions
  • [Internal] Build with tsup

v5.1.36

Compare Source

  • [Pattern] Pattern updates
facebook/react (react)

v19.2.5: 19.2.5 (April 8th, 2026)

React Server Components
remix-run/react-router (react-router)

v7.14.2

Patch Changes
  • Remove the un-documented custom error serialization logic from the internal turbo-stream implementation. React Router only automatically handles serialization of Error and it's standard subtypes (SyntaxError, TypeError, etc.). ([aabf4a1)

  • Properly handle parent middleware redirects during fetcher.load ([aabf4a1)

  • Remove redundant Omit<RouterProviderProps, "flushSync"> from react-router/dom RouterProvider ([aabf4a1)

  • Improved types for generatePath's param arg ([aabf4a1)

    Type errors when required params are omitted:

    // Before
    // Passes type checks, but throws at runtime 💥
    generatePath(":required", { required: null });
    
    // After
    generatePath(":required", { required: null });
    //                          ^^^^^^^^ Type 'null' is not assignable to type 'string'.ts(2322)
    

    Allow omission of optional params:

    // Before
    generatePath(":optional?", {});
    //                         ^^ Property 'optional' is missing in type '{}' but required in type '{ optional: string | null | undefined; }'.ts(2741)
    
    // After
    generatePath(":optional?", {});
    

    Allows extra keys:

    // Before
    generatePath(":a", { a: "1", b: "2" });
    //                           ^ Object literal may only specify known properties, and 'b' does not exist in type '{ a: string; }'.ts(2353)
    
    // After
    generatePath(":a", { a: "1", b: "2" });
    

v7.14.1

Patch Changes
  • Fix a potential race condition that can occur when rendering a HydrateFallback and initial loaders land before the router.subscribe call happens in the RouterProvider layout effect
  • Normalize double-slashes in redirect paths

v7.14.0

Patch Changes
  • UNSTABLE RSC FRAMEWORK MODE BREAKING CHANGE - Existing route module exports remain unchanged from stable v7 non-RSC mode, but new exports are added for RSC mode. If you want to use RSC features, you will need to update your route modules to export the new annotations. (#​14901)

    If you are using RSC framework mode currently, you will need to update your route modules to the new conventions. The following route module components have their own mutually exclusive server component counterparts:

    Server Component Export Client Component
    ServerComponent default
    ServerErrorBoundary ErrorBoundary
    ServerLayout Layout
    ServerHydrateFallback HydrateFallback

    If you were previously exporting a ServerComponent, your ErrorBoundary, Layout, and HydrateFallback were also server components. If you want to keep those as server components, you can rename them and prefix them with Server. If you were previously importing the implementations of those components from a client module, you can simply inline them.

    Example:

    Before

    import { ErrorBoundary as ClientErrorBoundary } from "./client";
    
    export function ServerComponent() {
      // ...
    }
    
    export function ErrorBoundary() {
      return <ClientErrorBoundary />;
    }
    
    export function Layout() {
      // ...
    }
    
    export function HydrateFallback() {
      // ...
    }
    

    After

    export function ServerComponent() {
      // ...
    }
    
    export function ErrorBoundary() {
      // previous implementation of ClientErrorBoundary, this is now a client component
    }
    
    export function ServerLayout() {
      // rename previous Layout export to ServerLayout to make it a server component
    }
    
    export function ServerHydrateFallback() {
      // rename previous HydrateFallback export to ServerHydrateFallback to make it a server component
    }
    
  • rsc Link prefetch (#​14902)

  • Remove recursion from turbo-stream v2 allowing for encoding / decoding of massive payloads. (#​14838)

  • encodeViaTurboStream leaked memory via unremoved AbortSignal listener (#​14900)

v7.13.2

Patch Changes
  • Fix clientLoader.hydrate when an ancestor route is also hydrating a clientLoader (#​14835)

  • Fix type error when passing Framework Mode route components using Route.ComponentProps to createRoutesStub (#​14892)

  • Fix percent encoding in relative path navigation (#​14786)

  • Add future.unstable_passThroughRequests flag (#​14775)

    By default, React Router normalizes the request.url passed to your loader, action, and middleware functions by removing React Router's internal implementation details (.data suffixes, index + _routes query params).

    Enabling this flag removes that normalization and passes the raw HTTP request instance to your handlers. This provides a few benefits:

    • Reduces server-side overhead by eliminating multiple new Request() calls on the critical path
    • Allows you to distinguish document from data requests in your handlers base don the presence of a .data suffix (useful for observability purposes)

    If you were previously relying on the normalization of request.url, you can switch to use the new sibling unstable_url parameter which contains a URL instance representing the normalized location:

    // ❌ Before: you could assume there was no `.data` suffix in `request.url`
    export async function loader({ request }: Route.LoaderArgs) {
      let url = new URL(request.url);
      if (url.pathname === "/path") {
        // This check will fail with the flag enabled because the `.data` suffix will
        // exist on data requests
      }
    }
    
    // ✅ After: use `unstable_url` for normalized routing logic and `request.url`
    // for raw routing logic
    export async function loader({ request, unstable_url }: Route.LoaderArgs) {
      if (unstable_url.pathname === "/path") {
        // This will always have the `.data` suffix stripped
      }
    
      // And now you can distinguish between document versus data requests
      let isDataRequest = new URL(request.url).pathname.endsWith(".data");
    }
    
  • Internal refactor to consolidate framework-agnostic/React-specific route type layers - no public API changes (#​14765)

  • Sync protocol validation to rsc flows (#​14882)

  • Add a new unstable_url: URL parameter to route handler methods (loader, action, middleware, etc.) representing the normalized URL the application is navigating to or fetching, with React Router implementation details removed (.datasuffix, index/_routes query params) (#​14775)

    This is being added alongside the new future.unstable_passthroughRequests future flag so that users still have a way to access the normalized URL when that flag is enabled and non-normalized request's are being passed to your handlers. When adopting this flag, you will only need to start leveraging this new parameter if you are relying on the normalization of request.url in your application code.

    If you don't have the flag enabled, then unstable_url will match request.url.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, 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.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [@react-router/dev](https://reactrouter.com) ([source](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dev)) | [`7.13.1` → `7.14.2`](https://renovatebot.com/diffs/npm/@react-router%2fdev/7.13.1/7.14.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@react-router%2fdev/7.14.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@react-router%2fdev/7.13.1/7.14.2?slim=true) | | [@react-router/node](https://github.com/remix-run/react-router) ([source](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-node)) | [`7.13.1` → `7.14.2`](https://renovatebot.com/diffs/npm/@react-router%2fnode/7.13.1/7.14.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@react-router%2fnode/7.14.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@react-router%2fnode/7.13.1/7.14.2?slim=true) | | [@react-router/serve](https://github.com/remix-run/react-router) ([source](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-serve)) | [`7.13.1` → `7.14.2`](https://renovatebot.com/diffs/npm/@react-router%2fserve/7.13.1/7.14.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@react-router%2fserve/7.14.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@react-router%2fserve/7.13.1/7.14.2?slim=true) | | [@tailwindcss/vite](https://tailwindcss.com) ([source](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite)) | [`4.2.1` → `4.2.4`](https://renovatebot.com/diffs/npm/@tailwindcss%2fvite/4.2.1/4.2.4) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2fvite/4.2.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2fvite/4.2.1/4.2.4?slim=true) | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`24.12.0` → `24.12.2`](https://renovatebot.com/diffs/npm/@types%2fnode/24.12.0/24.12.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/24.12.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/24.12.0/24.12.2?slim=true) | | [isbot](https://isbot.js.org) ([source](https://github.com/omrilotan/isbot)) | [`5.1.35` → `5.1.39`](https://renovatebot.com/diffs/npm/isbot/5.1.35/5.1.39) | ![age](https://developer.mend.io/api/mc/badges/age/npm/isbot/5.1.39?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/isbot/5.1.35/5.1.39?slim=true) | | [react](https://react.dev/) ([source](https://github.com/facebook/react/tree/HEAD/packages/react)) | [`19.2.4` → `19.2.5`](https://renovatebot.com/diffs/npm/react/19.2.4/19.2.5) | ![age](https://developer.mend.io/api/mc/badges/age/npm/react/19.2.5?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react/19.2.4/19.2.5?slim=true) | | [react-dom](https://react.dev/) ([source](https://github.com/facebook/react/tree/HEAD/packages/react-dom)) | [`19.2.4` → `19.2.5`](https://renovatebot.com/diffs/npm/react-dom/19.2.4/19.2.5) | ![age](https://developer.mend.io/api/mc/badges/age/npm/react-dom/19.2.5?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-dom/19.2.4/19.2.5?slim=true) | | [react-router](https://github.com/remix-run/react-router) ([source](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router)) | [`7.13.1` → `7.14.2`](https://renovatebot.com/diffs/npm/react-router/7.13.1/7.14.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/react-router/7.14.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-router/7.13.1/7.14.2?slim=true) | | [tailwindcss](https://tailwindcss.com) ([source](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss)) | [`4.2.1` → `4.2.4`](https://renovatebot.com/diffs/npm/tailwindcss/4.2.1/4.2.4) | ![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/4.2.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/4.2.1/4.2.4?slim=true) | | [vite](https://vite.dev) ([source](https://github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`7.3.1` → `7.3.2`](https://renovatebot.com/diffs/npm/vite/7.3.1/7.3.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/vite/7.3.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/7.3.1/7.3.2?slim=true) | --- > ⚠️ **Warning** > > Some dependencies could not be looked up. Check the [Dependency Dashboard](issues/2) for more information. --- ### Release Notes <details> <summary>remix-run/react-router (@&#8203;react-router/dev)</summary> ### [`v7.14.2`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-dev/CHANGELOG.md#v7142) ##### Patch Changes - Fix typegen for layouts without pages (\[[aabf4a1](https://github.com/remix-run/react-router/commit/aabf4a1)) Previously, typegen could produce `pages: ;` in `.react-router/types/+routes.ts` when a route corresponded to 0 pages. Now, `pages: never;` is correctly generated for those cases. ##### Unstable Changes ⚠️ *[Unstable features](https://reactrouter.com/community/api-development-strategy#unstable-flags) are not recommended for production use* - For `unstable_reactRouterRSC` Vite plugin consumers, require `@vitejs/plugin-react` in user Vite config, and more reliably split route modules. ([#&#8203;14965](https://github.com/remix-run/react-router/pull/14965)) (\[[aabf4a1](https://github.com/remix-run/react-router/commit/aabf4a1)) - ⚠️ This is a breaking change if you have begun using the `unstable_reactRouterRSC` Vite plugin - please install `@vitejs/plugin-react` and add the `react` plugin to your Vite plugins array. - Updated dependencies: - [`react-router@7.14.2`](https://github.com/remix-run/react-router/releases/tag/react-router@7.14.2) - [`@react-router/node@7.14.2`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/node@7.14.2) - [`@react-router/serve@7.14.2`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/serve@7.14.2) ### [`v7.14.1`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-dev/CHANGELOG.md#v7141) ##### Patch Changes - Add TypeScript 6 support to peer dependency ranges - Updated dependencies: - [`react-router@7.14.1`](https://github.com/remix-run/react-router/releases/tag/react-router@7.14.1) - [`@react-router/node@7.14.1`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/node@7.14.1) - [`@react-router/serve@7.14.1`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/serve@7.14.1) ### [`v7.14.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-dev/CHANGELOG.md#7140) ##### Minor Changes - Add support for Vite 8 ([#&#8203;14876](https://github.com/remix-run/react-router/pull/14876)) ##### Patch Changes - support for prerendering multiple server bundles with v8\_viteEnvironmentApi ([#&#8203;14921](https://github.com/remix-run/react-router/pull/14921)) - rsc framework mode prerender / spa mode support ([#&#8203;14907](https://github.com/remix-run/react-router/pull/14907)) - UNSTABLE RSC FRAMEWORK MODE BREAKING CHANGE - Existing route module exports remain unchanged from stable v7 non-RSC mode, but new exports are added for RSC mode. If you want to use RSC features, you will need to update your route modules to export the new annotations. ([#&#8203;14901](https://github.com/remix-run/react-router/pull/14901)) If you are using RSC framework mode currently, you will need to update your route modules to the new conventions. The following route module components have their own mutually exclusive server component counterparts: | Server Component Export | Client Component | | ----------------------- | ----------------- | | `ServerComponent` | `default` | | `ServerErrorBoundary` | `ErrorBoundary` | | `ServerLayout` | `Layout` | | `ServerHydrateFallback` | `HydrateFallback` | If you were previously exporting a `ServerComponent`, your `ErrorBoundary`, `Layout`, and `HydrateFallback` were also server components. If you want to keep those as server components, you can rename them and prefix them with `Server`. If you were previously importing the implementations of those components from a client module, you can simply inline them. Example: Before ```tsx import { ErrorBoundary as ClientErrorBoundary } from "./client"; export function ServerComponent() { // ... } export function ErrorBoundary() { return <ClientErrorBoundary />; } export function Layout() { // ... } export function HydrateFallback() { // ... } ``` After ```tsx export function ServerComponent() { // ... } export function ErrorBoundary() { // previous implementation of ClientErrorBoundary, this is now a client component } export function ServerLayout() { // rename previous Layout export to ServerLayout to make it a server component } export function ServerHydrateFallback() { // rename previous HydrateFallback export to ServerHydrateFallback to make it a server component } ``` - update the reveal command to support rsc for `entry.client`, `entry.rsc`, `entry.ssr` ([#&#8203;14904](https://github.com/remix-run/react-router/pull/14904)) - Updated dependencies: - `react-router@7.14.0` - `@react-router/node@7.14.0` - `@react-router/serve@7.14.0` ### [`v7.13.2`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-dev/CHANGELOG.md#7132) ##### Patch Changes - Fix `react-router dev` crash when Unix socket files exist in the project root ([#&#8203;14854](https://github.com/remix-run/react-router/pull/14854)) - Escape redirect locations in prerendered redirect HTML ([#&#8203;14880](https://github.com/remix-run/react-router/pull/14880)) - Add `future.unstable_passThroughRequests` flag ([#&#8203;14775](https://github.com/remix-run/react-router/pull/14775)) By default, React Router normalizes the `request.url` passed to your `loader`, `action`, and `middleware` functions by removing React Router's internal implementation details (`.data` suffixes, `index` + `_routes` query params). Enabling this flag removes that normalization and passes the raw HTTP `request` instance to your handlers. This provides a few benefits: - Reduces server-side overhead by eliminating multiple `new Request()` calls on the critical path - Allows you to distinguish document from data requests in your handlers base don the presence of a `.data` suffix (useful for observability purposes) If you were previously relying on the normalization of `request.url`, you can switch to use the new sibling `unstable_url` parameter which contains a `URL` instance representing the normalized location: ```tsx // ❌ Before: you could assume there was no `.data` suffix in `request.url` export async function loader({ request }: Route.LoaderArgs) { let url = new URL(request.url); if (url.pathname === "/path") { // This check will fail with the flag enabled because the `.data` suffix will // exist on data requests } } // ✅ After: use `unstable_url` for normalized routing logic and `request.url` // for raw routing logic export async function loader({ request, unstable_url }: Route.LoaderArgs) { if (unstable_url.pathname === "/path") { // This will always have the `.data` suffix stripped } // And now you can distinguish between document versus data requests let isDataRequest = new URL(request.url).pathname.endsWith(".data"); } ``` - Add a new `unstable_url: URL` parameter to route handler methods (`loader`, `action`, `middleware`, etc.) representing the normalized URL the application is navigating to or fetching, with React Router implementation details removed (`.data`suffix, `index`/`_routes` query params) ([#&#8203;14775](https://github.com/remix-run/react-router/pull/14775)) This is being added alongside the new `future.unstable_passthroughRequests` future flag so that users still have a way to access the normalized URL when that flag is enabled and non-normalized `request`'s are being passed to your handlers. When adopting this flag, you will only need to start leveraging this new parameter if you are relying on the normalization of `request.url` in your application code. If you don't have the flag enabled, then `unstable_url` will match `request.url`. - Updated dependencies: - `react-router@7.13.2` - `@react-router/node@7.13.2` - `@react-router/serve@7.13.2` </details> <details> <summary>remix-run/react-router (@&#8203;react-router/node)</summary> ### [`v7.14.2`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-node/CHANGELOG.md#v7142) ##### Patch Changes - Updated dependencies: - [`react-router@7.14.2`](https://github.com/remix-run/react-router/releases/tag/react-router@7.14.2) ### [`v7.14.1`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-node/CHANGELOG.md#v7141) ##### Patch Changes - Add TypeScript 6 support to peer dependency ranges - Updated dependencies: - [`react-router@7.14.1`](https://github.com/remix-run/react-router/releases/tag/react-router@7.14.1) ### [`v7.14.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-node/CHANGELOG.md#7140) ##### Patch Changes - Updated dependencies: - `react-router@7.14.0` ### [`v7.13.2`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-node/CHANGELOG.md#7132) ##### Patch Changes - Updated dependencies: - `react-router@7.13.2` </details> <details> <summary>remix-run/react-router (@&#8203;react-router/serve)</summary> ### [`v7.14.2`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-serve/CHANGELOG.md#v7142) ##### Patch Changes - Updated dependencies: - [`react-router@7.14.2`](https://github.com/remix-run/react-router/releases/tag/react-router@7.14.2) - [`@react-router/express@7.14.2`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/express@7.14.2) - [`@react-router/node@7.14.2`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/node@7.14.2) ### [`v7.14.1`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-serve/CHANGELOG.md#v7141) ##### Patch Changes - Updated dependencies: - [`react-router@7.14.1`](https://github.com/remix-run/react-router/releases/tag/react-router@7.14.1) - [`@react-router/express@7.14.1`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/express@7.14.1) - [`@react-router/node@7.14.1`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/node@7.14.1) ### [`v7.14.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-serve/CHANGELOG.md#7140) ##### Patch Changes - Updated dependencies: - `react-router@7.14.0` - `@react-router/node@7.14.0` - `@react-router/express@7.14.0` ### [`v7.13.2`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-serve/CHANGELOG.md#7132) ##### Patch Changes - Updated dependencies: - `react-router@7.13.2` - `@react-router/node@7.13.2` - `@react-router/express@7.13.2` </details> <details> <summary>tailwindlabs/tailwindcss (@&#8203;tailwindcss/vite)</summary> ### [`v4.2.4`](https://github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#424---2026-04-21) ##### Fixed - Ensure imports in `@import` and `@plugin` still resolve correctly when using Vite aliases in `@tailwindcss/vite` ([#&#8203;19947](https://github.com/tailwindlabs/tailwindcss/pull/19947)) ### [`v4.2.3`](https://github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#423---2026-04-20) ##### Fixed - Canonicalization: improve canonicalization for `tracking-*` utilities by preferring non-negative utilities (e.g. `-tracking-tighter` → `tracking-wider`) ([#&#8203;19827](https://github.com/tailwindlabs/tailwindcss/pull/19827)) - Fix crash due to invalid characters in candidate (exceeding valid unicode code point range) ([#&#8203;19829](https://github.com/tailwindlabs/tailwindcss/pull/19829)) - Ensure query params in imports are considered unique resources when using `@tailwindcss/webpack` ([#&#8203;19723](https://github.com/tailwindlabs/tailwindcss/pull/19723)) - Canonicalization: collapse arbitrary values into shorthand utilities (e.g. `px-[1.2rem] py-[1.2rem]` → `p-[1.2rem]`) ([#&#8203;19837](https://github.com/tailwindlabs/tailwindcss/pull/19837)) - Canonicalization: collapse `border-{t,b}-*` into `border-y-*`, `border-{l,r}-*` into `border-x-*`, and `border-{t,r,b,l}-*` into `border-*` ([#&#8203;19842](https://github.com/tailwindlabs/tailwindcss/pull/19842)) - Canonicalization: collapse `scroll-m{t,b}-*` into `scroll-my-*`, `scroll-m{l,r}-*` into `scroll-mx-*`, and `scroll-m{t,r,b,l}-*` into `scroll-m-*` ([#&#8203;19842](https://github.com/tailwindlabs/tailwindcss/pull/19842)) - Canonicalization: collapse `scroll-p{t,b}-*` into `scroll-py-*`, `scroll-p{l,r}-*` into `scroll-px-*`, and `scroll-p{t,r,b,l}-*` into `scroll-p-*` ([#&#8203;19842](https://github.com/tailwindlabs/tailwindcss/pull/19842)) - Canonicalization: collapse `overflow-{x,y}-*` into `overflow-*` ([#&#8203;19842](https://github.com/tailwindlabs/tailwindcss/pull/19842)) - Canonicalization: collapse `overscroll-{x,y}-*` into `overscroll-*` ([#&#8203;19842](https://github.com/tailwindlabs/tailwindcss/pull/19842)) - Read from `--placeholder-color` instead of `--background-color` for `placeholder-*` utilities ([#&#8203;19843](https://github.com/tailwindlabs/tailwindcss/pull/19843)) - Upgrade: ensure files are not emptied out when killing the upgrade process while it's running ([#&#8203;19846](https://github.com/tailwindlabs/tailwindcss/pull/19846)) - Upgrade: use `config.content` when migrating from Tailwind CSS v3 to Tailwind CSS v4 ([#&#8203;19846](https://github.com/tailwindlabs/tailwindcss/pull/19846)) - Upgrade: never migrate files that are ignored by git ([#&#8203;19846](https://github.com/tailwindlabs/tailwindcss/pull/19846)) - Add `.env` and `.env.*` to default ignored content files ([#&#8203;19846](https://github.com/tailwindlabs/tailwindcss/pull/19846)) - Canonicalization: migrate `overflow-ellipsis` into `text-ellipsis` ([#&#8203;19849](https://github.com/tailwindlabs/tailwindcss/pull/19849)) - Canonicalization: migrate `start-full` → `inset-s-full`, `start-auto` → `inset-s-auto`, `start-px` → `inset-s-px`, and `start-<number>` → `inset-s-<number>` as well as negative versions ([#&#8203;19849](https://github.com/tailwindlabs/tailwindcss/pull/19849)) - Canonicalization: migrate `end-full` → `inset-e-full`, `end-auto` → `inset-e-auto`, `end-px` → `inset-e-px`, and `end-<number>` → `inset-e-<number>` as well as negative versions ([#&#8203;19849](https://github.com/tailwindlabs/tailwindcss/pull/19849)) - Canonicalization: move the `-` sign inside the arbitrary value `-left-[9rem]` → `left-[-9rem]` ([#&#8203;19858](https://github.com/tailwindlabs/tailwindcss/pull/19858)) - Canonicalization: move the `-` sign outside the arbitrary value `ml-[calc(-1*var(--width))]` → `-ml-(--width)` ([#&#8203;19858](https://github.com/tailwindlabs/tailwindcss/pull/19858)) - Improve performance when scanning JSONL / NDJSON files ([#&#8203;19862](https://github.com/tailwindlabs/tailwindcss/pull/19862)) - Support `NODE_PATH` environment variable in standalone CLI ([#&#8203;19617](https://github.com/tailwindlabs/tailwindcss/pull/19617)) ### [`v4.2.2`](https://github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#422---2026-03-18) ##### Fixed - Don't crash when candidates contain prototype properties like `row-constructor` ([#&#8203;19725](https://github.com/tailwindlabs/tailwindcss/pull/19725)) - Canonicalize `calc(var(--spacing)*…)` expressions into `--spacing(…)` ([#&#8203;19769](https://github.com/tailwindlabs/tailwindcss/pull/19769)) - Fix crash in canonicalization step when handling utilities containing `@property` at-rules (e.g. `shadow-sm border`) ([#&#8203;19727](https://github.com/tailwindlabs/tailwindcss/pull/19727)) - Skip full reload for server only modules scanned by client CSS when using `@tailwindcss/vite` ([#&#8203;19745](https://github.com/tailwindlabs/tailwindcss/pull/19745)) - Add support for Vite 8 in `@tailwindcss/vite` ([#&#8203;19790](https://github.com/tailwindlabs/tailwindcss/pull/19790)) - Improve canonicalization for bare values exceeding default spacing scale suggestions (e.g. `w-1234 h-1234` → `size-1234`) ([#&#8203;19809](https://github.com/tailwindlabs/tailwindcss/pull/19809)) - Fix canonicalization resulting in empty list (e.g. `w-5 h-5 size-5` → `''` instead of `size-5`) ([#&#8203;19812](https://github.com/tailwindlabs/tailwindcss/pull/19812)) - Resolve tsconfig paths to allow for `@import '@&#8203;/path/to/file';` when using `@tailwindcss/vite` ([#&#8203;19803](https://github.com/tailwindlabs/tailwindcss/pull/19803)) </details> <details> <summary>omrilotan/isbot (isbot)</summary> ### [`v5.1.39`](https://github.com/omrilotan/isbot/blob/HEAD/CHANGELOG.md#5139) [Compare Source](https://github.com/omrilotan/isbot/compare/800ae1e6cf5b846e208ad9ed01ed7a374ee698cb...860045c9975432dd96f2846494435f00eb2fd73a) - Pattern updates ### [`v5.1.38`](https://github.com/omrilotan/isbot/blob/HEAD/CHANGELOG.md#5138) [Compare Source](https://github.com/omrilotan/isbot/compare/7d612e2ad25db8cbd9f31953ed3f35b9f3009c83...800ae1e6cf5b846e208ad9ed01ed7a374ee698cb) - Pattern updates ### [`v5.1.37`](https://github.com/omrilotan/isbot/blob/HEAD/CHANGELOG.md#5137) [Compare Source](https://github.com/omrilotan/isbot/compare/4eeafc928bad5dc9857d1b4a9530699bb7affdf3...7d612e2ad25db8cbd9f31953ed3f35b9f3009c83) - Better checking for non empty strings in the interface functions - \[Internal] Build with tsup ### [`v5.1.36`](https://github.com/omrilotan/isbot/blob/HEAD/CHANGELOG.md#5136) [Compare Source](https://github.com/omrilotan/isbot/compare/e9567311b30030d09b93605004c8cb53f3c08763...4eeafc928bad5dc9857d1b4a9530699bb7affdf3) - \[Pattern] Pattern updates </details> <details> <summary>facebook/react (react)</summary> ### [`v19.2.5`](https://github.com/facebook/react/releases/tag/v19.2.5): 19.2.5 (April 8th, 2026) ##### React Server Components - Add more cycle protections ([#&#8203;36236](https://github.com/facebook/react/pull/36236) by [@&#8203;eps1lon](https://github.com/eps1lon) and [@&#8203;unstubbable](https://github.com/unstubbable)) </details> <details> <summary>remix-run/react-router (react-router)</summary> ### [`v7.14.2`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router/CHANGELOG.md#v7142) ##### Patch Changes - Remove the un-documented custom error serialization logic from the internal turbo-stream implementation. React Router only automatically handles serialization of `Error` and it's standard subtypes (`SyntaxError`, `TypeError`, etc.). (\[[aabf4a1](https://github.com/remix-run/react-router/commit/aabf4a1)) - Properly handle parent middleware redirects during `fetcher.load` (\[[aabf4a1](https://github.com/remix-run/react-router/commit/aabf4a1)) - Remove redundant `Omit<RouterProviderProps, "flushSync">` from `react-router/dom` `RouterProvider` (\[[aabf4a1](https://github.com/remix-run/react-router/commit/aabf4a1)) - Improved types for `generatePath`'s `param` arg (\[[aabf4a1](https://github.com/remix-run/react-router/commit/aabf4a1)) Type errors when required params are omitted: ```ts // Before // Passes type checks, but throws at runtime 💥 generatePath(":required", { required: null }); // After generatePath(":required", { required: null }); // ^^^^^^^^ Type 'null' is not assignable to type 'string'.ts(2322) ``` Allow omission of optional params: ```ts // Before generatePath(":optional?", {}); // ^^ Property 'optional' is missing in type '{}' but required in type '{ optional: string | null | undefined; }'.ts(2741) // After generatePath(":optional?", {}); ``` Allows extra keys: ```ts // Before generatePath(":a", { a: "1", b: "2" }); // ^ Object literal may only specify known properties, and 'b' does not exist in type '{ a: string; }'.ts(2353) // After generatePath(":a", { a: "1", b: "2" }); ``` ### [`v7.14.1`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router/CHANGELOG.md#v7141) ##### Patch Changes - Fix a potential race condition that can occur when rendering a `HydrateFallback` and initial loaders land before the `router.subscribe` call happens in the `RouterProvider` layout effect - Normalize double-slashes in redirect paths ### [`v7.14.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router/CHANGELOG.md#7140) ##### Patch Changes - UNSTABLE RSC FRAMEWORK MODE BREAKING CHANGE - Existing route module exports remain unchanged from stable v7 non-RSC mode, but new exports are added for RSC mode. If you want to use RSC features, you will need to update your route modules to export the new annotations. ([#&#8203;14901](https://github.com/remix-run/react-router/pull/14901)) If you are using RSC framework mode currently, you will need to update your route modules to the new conventions. The following route module components have their own mutually exclusive server component counterparts: | Server Component Export | Client Component | | ----------------------- | ----------------- | | `ServerComponent` | `default` | | `ServerErrorBoundary` | `ErrorBoundary` | | `ServerLayout` | `Layout` | | `ServerHydrateFallback` | `HydrateFallback` | If you were previously exporting a `ServerComponent`, your `ErrorBoundary`, `Layout`, and `HydrateFallback` were also server components. If you want to keep those as server components, you can rename them and prefix them with `Server`. If you were previously importing the implementations of those components from a client module, you can simply inline them. Example: Before ```tsx import { ErrorBoundary as ClientErrorBoundary } from "./client"; export function ServerComponent() { // ... } export function ErrorBoundary() { return <ClientErrorBoundary />; } export function Layout() { // ... } export function HydrateFallback() { // ... } ``` After ```tsx export function ServerComponent() { // ... } export function ErrorBoundary() { // previous implementation of ClientErrorBoundary, this is now a client component } export function ServerLayout() { // rename previous Layout export to ServerLayout to make it a server component } export function ServerHydrateFallback() { // rename previous HydrateFallback export to ServerHydrateFallback to make it a server component } ``` - rsc Link prefetch ([#&#8203;14902](https://github.com/remix-run/react-router/pull/14902)) - Remove recursion from turbo-stream v2 allowing for encoding / decoding of massive payloads. ([#&#8203;14838](https://github.com/remix-run/react-router/pull/14838)) - encodeViaTurboStream leaked memory via unremoved AbortSignal listener ([#&#8203;14900](https://github.com/remix-run/react-router/pull/14900)) ### [`v7.13.2`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router/CHANGELOG.md#7132) ##### Patch Changes - Fix clientLoader.hydrate when an ancestor route is also hydrating a clientLoader ([#&#8203;14835](https://github.com/remix-run/react-router/pull/14835)) - Fix type error when passing Framework Mode route components using `Route.ComponentProps` to `createRoutesStub` ([#&#8203;14892](https://github.com/remix-run/react-router/pull/14892)) - Fix percent encoding in relative path navigation ([#&#8203;14786](https://github.com/remix-run/react-router/pull/14786)) - Add `future.unstable_passThroughRequests` flag ([#&#8203;14775](https://github.com/remix-run/react-router/pull/14775)) By default, React Router normalizes the `request.url` passed to your `loader`, `action`, and `middleware` functions by removing React Router's internal implementation details (`.data` suffixes, `index` + `_routes` query params). Enabling this flag removes that normalization and passes the raw HTTP `request` instance to your handlers. This provides a few benefits: - Reduces server-side overhead by eliminating multiple `new Request()` calls on the critical path - Allows you to distinguish document from data requests in your handlers base don the presence of a `.data` suffix (useful for observability purposes) If you were previously relying on the normalization of `request.url`, you can switch to use the new sibling `unstable_url` parameter which contains a `URL` instance representing the normalized location: ```tsx // ❌ Before: you could assume there was no `.data` suffix in `request.url` export async function loader({ request }: Route.LoaderArgs) { let url = new URL(request.url); if (url.pathname === "/path") { // This check will fail with the flag enabled because the `.data` suffix will // exist on data requests } } // ✅ After: use `unstable_url` for normalized routing logic and `request.url` // for raw routing logic export async function loader({ request, unstable_url }: Route.LoaderArgs) { if (unstable_url.pathname === "/path") { // This will always have the `.data` suffix stripped } // And now you can distinguish between document versus data requests let isDataRequest = new URL(request.url).pathname.endsWith(".data"); } ``` - Internal refactor to consolidate framework-agnostic/React-specific route type layers - no public API changes ([#&#8203;14765](https://github.com/remix-run/react-router/pull/14765)) - Sync protocol validation to rsc flows ([#&#8203;14882](https://github.com/remix-run/react-router/pull/14882)) - Add a new `unstable_url: URL` parameter to route handler methods (`loader`, `action`, `middleware`, etc.) representing the normalized URL the application is navigating to or fetching, with React Router implementation details removed (`.data`suffix, `index`/`_routes` query params) ([#&#8203;14775](https://github.com/remix-run/react-router/pull/14775)) This is being added alongside the new `future.unstable_passthroughRequests` future flag so that users still have a way to access the normalized URL when that flag is enabled and non-normalized `request`'s are being passed to your handlers. When adopting this flag, you will only need to start leveraging this new parameter if you are relying on the normalization of `request.url` in your application code. If you don't have the flag enabled, then `unstable_url` will match `request.url`. </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMjAuMiIsInVwZGF0ZWRJblZlciI6IjQzLjEyMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Renovate-Clanker added 1 commit 2026-04-29 22:01:26 +07:00
Renovate-Clanker scheduled this pull request to auto merge when all checks succeed 2026-04-29 22:01:26 +07:00
Renovate-Clanker merged commit a3dd5a1c50 into main 2026-04-29 22:01:29 +07:00
Renovate-Clanker deleted branch renovate/all-dependencies 2026-04-29 22:01:29 +07:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: bagas/porto#12