chore(deps): update all-dependencies #14

Merged
Renovate-Clanker merged 1 commits from renovate/all-dependencies into main 2026-07-08 23:09:18 +07:00
Collaborator

This PR contains the following updates:

Package Change Age Confidence
@react-router/dev (source) 7.14.27.18.1 age confidence
@react-router/node (source) 7.14.27.18.1 age confidence
@react-router/serve (source) 7.14.27.18.1 age confidence
@tailwindcss/vite (source) 4.2.44.3.2 age confidence
@types/node (source) 24.12.224.13.3 age confidence
@types/react (source) 19.2.1419.2.17 age confidence
isbot (source) 5.1.395.2.0 age confidence
react (source) 19.2.519.2.7 age confidence
react-dom (source) 19.2.519.2.7 age confidence
react-router (source) 7.14.27.18.1 age confidence
tailwindcss (source) 4.2.44.3.2 age confidence
vite (source) 7.3.27.3.6 age confidence

Release Notes

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

v7.18.1

Compare Source

v7.18.0

Compare Source

Patch Changes
  • Pass Vite server.watch config to child compiler in development mode. (#​15178)

  • Ignore external Vite server environments in Framework Mode build hooks (#​14883)

    When future.v8_viteEnvironmentApi is enabled, React Router previously treated any non-client Vite environment as its own server build. This caused issues with integrations like Nitro, where plugins can register additional environments.

    Framework Mode build hooks now ignore external server environments and only process the app's own server build.

  • Updated dependencies:

v7.17.0

Compare Source

Patch Changes
  • Fix future flag warning URLs and only log each future flag warning one time (#​15138)
Unstable Changes

⚠️ Unstable features are not recommended for production use

v7.16.0

Compare Source

Minor Changes
  • Stabilize future.unstable_trailingSlashAwareDataRequests as future.v8_trailingSlashAwareDataRequests (#​15098)

    • The unstable flag is no longer supported and will error during config resolution
  • Log future flag warnings for upcoming React Router v8 flags (#​15029)

    • v8_middleware, v8_splitRouteModules, v8_viteEnvironmentApi, v8_passThroughRequests, v8_trailingSlashAwareDataRequests
Patch Changes

v7.15.1

Compare Source

Patch Changes
  • Fix basename conflicting with app directory name when Vite base is set (#​15027)

    When the Vite base config and React Router basename both match the
    app directory name (e.g. base: "/app/", basename: "/app/"), Vite would
    strip the base prefix from server-build virtual module import paths, causing
    "Failed to load url /root.tsx" errors. The fix uses /@​fs/ absolute paths
    for those imports to bypass Vite's base-stripping logic.

  • Updated dependencies:

v7.15.0

Compare Source

Minor Changes
  • Stabilize future.unstable_passThroughRequests as future.v8_passThroughRequests (a993f09)

    • ⚠️ This is a breaking change if you have already opted into the unstable version - you will need to update your code accordingly
  • Stabilize prerender.unstable_concurrency as prerender.concurrency (a993f09)

    • ⚠️ This is a breaking change if you have already opted into the unstable version - you will need to update your code accordingly
  • Stabilize future.unstable_subResourceIntegrity as a top-level subResourceIntegrity config option in react-router.config.ts (a993f09)

    • ⚠️ This is a breaking change if you have already opted into the unstable version - you will need to update your code accordingly
Patch Changes
remix-run/react-router (@​react-router/node)

v7.18.1

Compare Source

v7.18.0

Compare Source

Patch Changes

v7.17.0

Compare Source

Patch Changes

v7.16.0

Compare Source

Patch Changes
  • Honor Node writable backpressure in writeReadableStreamToWritable and writeAsyncIterableToWritable (#​15071)

    • Await 'drain' when writable.write() returns false instead of letting chunks accumulate in the writable's internal buffer.
    • Reject (rather than hang) if the writable errors or closes mid-stream.
  • Updated dependencies:

v7.15.1

Compare Source

Patch Changes

v7.15.0

Compare Source

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

v7.18.1

Compare Source

v7.18.0

Compare Source

Patch Changes

v7.17.0

Compare Source

Patch Changes

v7.16.0

Compare Source

Patch Changes

v7.15.1

Compare Source

Patch Changes

v7.15.0

Compare Source

Patch Changes
tailwindlabs/tailwindcss (@​tailwindcss/vite)

v4.3.2

Compare Source

Fixed
  • Support bare spacing values for auto-rows-* and auto-cols-* utilities (e.g. auto-rows-12 and auto-cols-16) (#​20229)
  • Prevent @tailwindcss/cli in --watch mode from crashing on Windows when @source points to a directory that doesn't exist (#​20242)
  • Prevent @tailwindcss/vite from crashing in Deno v2.8.x when context.parentURL is not a valid URL (#​20245)
  • Ensure @tailwindcss/cli in --watch mode rebuilds when the input CSS file changes in an ignored directory (#​20246)
  • Allow @variant rules used in addBase(…) to use custom variants defined later (#​20247)
  • Prevent @tailwindcss/vite from crashing during HMR when scanned files or directories are deleted (#​20259)
  • Generate font-size instead of color declarations for text-[--spacing(…)] (#​20260)
  • Prevent @source patterns from scanning unrelated sibling files and folders (#​20263)
  • Extract class candidates adjacent to Template Toolkit delimiters like %]…[% in .tt, .tt2, and .tx files (#​20269)
  • Extract class candidates from conditional Maud syntax like p.text-black[condition] (#​20269)
  • Prevent @position-try rules from triggering unknown at-rule warnings when optimizing CSS (#​20277)
  • Support class suggestions for named opacity modifiers from --opacity theme values (#​20287)
  • Prevent type errors in @tailwindcss/postcss when used with newer PostCSS patch releases (#​20289)

v4.3.1

Compare Source

Added
  • Add --silent option to suppress output in @tailwindcss/cli (#​20100)
Fixed
  • Remove deprecation warnings by using Module#registerHooks instead of Module#register on Node 26+ (#​20028)
  • Canonicalization: don't crash when plugin utilities throw for unsupported values (#​20052)
  • Allow @apply to be used with CSS mixins (#​19427)
  • Ensure not-* correctly negates @container queries, including style(…) queries (#​20059)
  • Ensure drop-shadow-* color utilities work with custom shadow values containing calc(…) (#​20080)
  • Fix 'Sourcemap is likely to be incorrect' warnings when using @tailwindcss/vite (#​20103)
  • Ensure @tailwindcss/webpack can be installed in Rspack projects without requiring webpack as a peer dependency (#​20027)
  • Canonicalization: don't suggest invalid calc(…) expressions (e.g. px-[calc(1rem+0px)]px-[calc(1rem+0)]) (#​20127)
  • Canonicalization: avoid suggesting large spacing-scale values for arbitrary lengths (e.g. left-[99999px]left-[99999px], not left-24999.75) (#​20130)
  • Ensure @tailwindcss/cli in --watch mode recovers when a tracked dependency is deleted and restored (#​20137)
  • Ensure standalone @tailwindcss/cli binaries are ignored when scanning for class candidates (#​20139)
  • Ensure class candidates are extracted from Twig addClass(…) and removeClass(…) calls (#​20198)
  • Don't crash in the Ruby or Vue preprocessors when scanning files containing invalid UTF-8 bytes (#​19588)
  • Allow @variant to be used inside addBase (#​19480)
  • Ensure @source globs with symlinks are preserved (#​20203)
  • Ensure later @source rules can re-include files excluded by earlier @source not rules (#​20203)
  • Upgrade: don't migrate empty class rules to invalid @utility rules (#​20205)
  • Ensure transitions between inset-shadow-none and other inset shadows work correctly (#​20208)
  • Ensure explicitly referenced @source directories are scanned even when ignored by git (#​20214)
  • Ensure @source globs ending in **/* preserve dynamic path segments to avoid scanning too many files (#​20217)
  • Canonicalization: don't fold calc(…) divisions when the result would require high precision (e.g. w-[calc(100%/3.5)]w-[calc(100%/3.5)], not w-[28.571428571428573%]) (#​20221)
  • Serve ESM type declarations to ESM importers of @tailwindcss/postcss (#​20228)
Changed
  • Generate 0 instead of calc(var(--spacing) * 0) for spacing utilities like m-0 and left-0 (#​20196)
  • Generate var(--spacing) instead of calc(var(--spacing) * 1) for spacing utilities like m-1 and left-1 (#​20196)

v4.3.0

Compare Source

Added
  • Add @container-size utility (#​18901)
  • Add scrollbar-{auto,thin,none} utilities for scrollbar-width, and scrollbar-thumb-* / scrollbar-track-* color utilities for scrollbar-color (#​19981, #​20019)
  • Add scrollbar-gutter-* utilities (#​20018)
  • Add zoom-* utilities (#​20020)
  • Add tab-* utilities (#​20022)
  • Allow using @variant with stacked variants (e.g. @variant hover:focus { … }) (#​19996)
  • Allow using @variant with compound variants (e.g. @variant hover, focus { … }) (#​19996)
  • Support --default(…) in --value(…) and --modifier(…) for functional @utility definitions (#​19989)
Fixed
  • Ensure @plugin resolves package JavaScript entries instead of browser CSS entries when using @tailwindcss/vite (#​19949)
  • Fix relative @import and @plugin paths resolving from the wrong directory when using @tailwindcss/vite (#​19965)
  • Ensure CSS files containing @variant are processed by @tailwindcss/vite (#​19966)
  • Resolve imports relative to base when result.opts.from is not provided when using @tailwindcss/postcss (#​19980)
  • Canonicalization: preserve significant _ whitespace in arbitrary values (#​19986)
  • Canonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. w-[calc(100%---spacing(60))]w-[calc(100%-(--spacing(60)))]) (#​19986)
  • Canonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. -mt-[20in]mt-[-20in], not mt-[-1920px]) (#​19988)
  • Canonicalization: migrate arbitrary :has() variants from [&:has(…)] to has-[…] (#​19991)
  • Upgrade: don’t migrate inline style attributes (e.g. style="flex-grow: 1"style="flex-grow: 1", not style="grow: 1") (#​19918)
  • Allow multiple @utility definitions with the same name but different value types (#​19777)
  • Export missing PluginWithConfig type from tailwindcss/plugin to fix errors when inferring plugin config types (#​19707)
  • Ensure start and end legacy utilities without values do not generate CSS (#​20003)
  • Ensure --value(…) is required in functional @utility definitions (#​20005)
  • Canonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. -left-[(var(--a)+var(--b))]) (#​20011)
omrilotan/isbot (isbot)

v5.2.0

Compare Source

  • Rename all imports but keep backwards compatibility with the old names. The new names are more consistent with common Javascript naming conventions. No breaking changes.
  • Pattern updates
New Names Map
Old Name New Name
isbot isBot
isbotNaive isBotNaive
createIsbot createIsBot
createIsbotFromList createIsBotFromList
isbotMatch findBotMatch
isbotMatches findBotMatches
isbotPattern findBotPattern
isbotPatterns findBotPatterns

All old names are still available for backwards compatibility, but can be deprecated in future major versions.

v5.1.44

Compare Source

  • Pattern updates
  • Maintenance: remove defunct services from crawlers list

v5.1.43

Compare Source

  • Pattern updates

v5.1.42

Compare Source

  • Pattern updates

v5.1.41

Compare Source

  • [FIX] Browser entry: was missing from package output
  • Pattern updates

v5.1.40

Compare Source

  • Browser entry. Use Object.defineProperty instead of direct assignment
facebook/react (react)

v19.2.7

Compare Source

React Server Components

v19.2.6

Compare Source

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

v7.18.1: v7.18.1

Compare Source

See the changelog for release notes: https://github.com/remix-run/react-router/blob/v7/CHANGELOG.md#v7181

v7.18.0

Compare Source

Patch Changes
  • Fix server handler prerender responses when using ssr: false and future.v8_trailingSlashAwareDataRequests: true. Avoids false positive "SPA Mode" detection when serving prerendered paths (#​15173)
  • Use the ServerRouter nonce for nonce-aware SSR components when they don't provide their own value so strict CSP pages can load them. (#​15170)
  • Use turbo-stream to serialize and deserialize Framework Mode hydration errors (#​15175)
  • Precompute route branch matchers to avoid recompiling route path regexes during matching (#​15186)
  • Use the constructed request URL host when validating action request origins. (#​15185)
  • Remove the un-documented custom error serialization logic from Data Mode SSR built-in hydration flows (#​15175)
  • Validate protocols in RSC render redirects (#​15177)
  • Consolidate url normalization logic and better handle mixed slashes (#​15176)

v7.17.0

Compare Source

Minor Changes
  • Ship a subset of the official documentation inside the react-router package (#​15121)
    • Markdown docs are now available in node_modules/react-router/docs, letting AI coding agents and the React Router agent skills read official docs locally
    • Excludes auto-generated API docs (api/), community/ content, and tutorials (tutorials/)

v7.16.0

Compare Source

Minor Changes
  • Stabilize future.unstable_trailingSlashAwareDataRequests as future.v8_trailingSlashAwareDataRequests (#​15098)
Patch Changes
  • Disable manifest path when lazy route dicovery is disabled (#​15068)

  • Fix browser URL creation to use the configured history window instead of the global window. (#​15066)

    • Pass the history/router window through to createBrowserURLImpl so custom window contexts keep the correct URL origin.
  • Fix useNavigation() return type to preserve discriminated union across navigation states (#​15095)

  • Widen MetaDescriptor script:ld+json type from LdJsonObject to LdJsonObject | LdJsonObject[] to permit multiple JSON-LD schemas in a single <script type="application/ld+json"> tag emitted by <Meta /> (#​15082)

v7.15.1

Compare Source

Patch Changes
  • Update router to operate on fetcher Maps in an immutable manner to avoid delayed React renders from potentially reading an updated but not yet committed Map. This could result in brief flickers in some fetcher-driven optimistic UI scenarios. (#​15028)
  • Fix serverLoader() returning stale SSR data when a client navigation aborts pending hydration before the hydration clientLoader resolves (#​15022)
  • Fix RouterProvider onError callback not being called for synchronous initial loader errors in SPA mode (#​15039) (#​14942)
  • Memoize useFetchers to return a stable identity and only change if fetchers changed (#​15028)
  • Internal refactor to consolidate mutation request detection through shared utility (#​15033)
Unstable Changes

⚠️ Unstable features are not recommended for production use

  • Add a new unstable_useRouterState() hook that consolidates access to active and pending router states (RFC: #​12358) (#​15017)
    • Data/Framework/RSC only — throws when used without a data router

    • This should allow you to consolidate usages of the following hooks which will likely be deprecated and removed in a future major version

      • useLocation
      • useSearchParams
      • useParams
      • useMatches
      • useNavigationType
      • useNavigation
      let { active, pending } = unstable_useRouterState();
      
      // Active is always populated with the current location
      active.location; // replaces `useLocation()`
      active.searchParams; // replaces `useSearchParams()[0]`
      active.params; // replaces `useParams()`
      active.matches; // replaces `useMatches()`
      active.type; // replaces `useNavigationType()`
      
      // Pending is only populated during a navigation
      pending.location; // replaces `useNavigation().location`
      pending.searchParams; // equivalent to `new URLSearchParams(useNavigation().search)`
      pending.params; // Not directly accessible today
      pending.matches; // Not directly accessible today
      pending.type; // Not directly accessible today
      pending.state; // replaces `useNavigation().state`
      pending.formMethod; // replaces useNavigation().formMethod
      pending.formAction; // replaces useNavigation().formAction
      pending.formEncType; // replaces useNavigation().formEncType
      pending.formData; // replaces useNavigation().formData
      pending.json; // replaces useNavigation().json
      pending.text; // replaces useNavigation().text
      

v7.15.0

Compare Source

Minor Changes
  • Stabilize unstable_defaultShouldRevalidate as defaultShouldRevalidate on <Link>, <Form>, useLinkClickHandler, useSubmit, fetcher.submit, and setSearchParams (a993f09)

    • ⚠️ This is a breaking change if you have already opted into the unstable version - you will need to update your code accordingly
  • Stabilize the instrumentation APIs. unstable_instrumentations is now instrumentations and unstable_pattern is now pattern (a993f09)

    • The unstable_ServerInstrumentation, unstable_ClientInstrumentation, unstable_InstrumentRequestHandlerFunction, unstable_InstrumentRouterFunction, unstable_InstrumentRouteFunction, and unstable_InstrumentationHandlerResult types have had their unstable_ prefixes removed
    • ⚠️ This is a breaking change if you have already opted into the unstable version - you will need to update your code accordingly
  • Stabilize unstable_mask as mask on <Link>, useLinkClickHandler, and useNavigate, and rename the corresponding Location.unstable_mask field to Location.mask (a993f09)

    • ⚠️ This is a breaking change if you have already opted into the unstable version - you will need to update your code accordingly
  • Stabilize the unstable_normalizePath option on staticHandler.query and staticHandler.queryRoute as normalizePath (a993f09)

    • ⚠️ This is a breaking change if you have already opted into the unstable version - you will need to update your code accordingly
  • Stabilize future.unstable_passThroughRequests as future.v8_passThroughRequests (a993f09)

    • ⚠️ This is a breaking change if you have already opted into the unstable version - you will need to update your code accordingly
  • Remove unstable_subResourceIntegrity from the runtime FutureConfig type; the flag is now controlled by the top-level subResourceIntegrity option in react-router.config.ts (a993f09)

    • ⚠️ This is a breaking change if you have already opted into the unstable version - you will need to update your code accordingly
  • Stabilize unstable_url as url on loader, action, and middleware function args (a993f09)

    • ⚠️ This is a breaking change if you have already opted into the unstable version - you will need to update your code accordingly
  • Stabilize unstable_useTransitions as useTransitions on <BrowserRouter>, <HashRouter>, <HistoryRouter>, <MemoryRouter>, <Router>, <RouterProvider>, <HydratedRouter>, and useLinkClickHandler (a993f09)

    • ⚠️ This is a breaking change if you have already opted into the unstable version - you will need to update your code accordingly
Patch Changes
  • Add nonce to <Scripts> <link rel="modulepreload"> elements (if provided) (af5d49b)

  • Fix a bug with unstable_defaultShouldRevalidate={false} where parent routes that did not export a shouldRevalidate function could be incorrectly included in the single fetch call for new child route data (#​15012)

  • Improve server-side route matching performance by pre-computing flattened/cached route branches (#​14967) (af5d49b)

    • Performance benchmarks showed roughly a 10-15% improvement in server-side request handling performance
  • Mark mask as an optional field in Location for easier mocking in unit tests (#​14999)

  • Cache flattened/ranked route branches to optimize server-side route matching (#​14967)

  • Improve route matching performance in Framework/Data Mode (#​14971) (af5d49b)

    • Avoiding unnecessary calls to matchRoutes in data router scenarios
      • This includes adding back the optimization that was removed in 7.6.0 (#​13562)
      • The issues that prompted the revert have been addressed by using the available router matches but always updating match.route to the latest route in the manifest
    • Leverage pre-computed pre-computing flattened/cached route branches during client side route matching
    • Performance benchmarks showed roughly a 15-30% improvement in server-side request handling performance
vitejs/vite (vite)

v7.3.6

Compare Source

Please refer to CHANGELOG.md for details.

v7.3.5

Compare Source

Please refer to CHANGELOG.md for details.

v7.3.3

Compare Source

Please refer to CHANGELOG.md for 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 if that's undesired.


  • 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/dev](https://reactrouter.com) ([source](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dev)) | [`7.14.2` → `7.18.1`](https://renovatebot.com/diffs/npm/@react-router%2fdev/7.14.2/7.18.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@react-router%2fdev/7.18.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@react-router%2fdev/7.14.2/7.18.1?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.14.2` → `7.18.1`](https://renovatebot.com/diffs/npm/@react-router%2fnode/7.14.2/7.18.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@react-router%2fnode/7.18.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@react-router%2fnode/7.14.2/7.18.1?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.14.2` → `7.18.1`](https://renovatebot.com/diffs/npm/@react-router%2fserve/7.14.2/7.18.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@react-router%2fserve/7.18.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@react-router%2fserve/7.14.2/7.18.1?slim=true) | | [@tailwindcss/vite](https://tailwindcss.com) ([source](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite)) | [`4.2.4` → `4.3.2`](https://renovatebot.com/diffs/npm/@tailwindcss%2fvite/4.2.4/4.3.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2fvite/4.3.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2fvite/4.2.4/4.3.2?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.2` → `24.13.3`](https://renovatebot.com/diffs/npm/@types%2fnode/24.12.2/24.13.3) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/24.13.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/24.12.2/24.13.3?slim=true) | | [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)) | [`19.2.14` → `19.2.17`](https://renovatebot.com/diffs/npm/@types%2freact/19.2.14/19.2.17) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/19.2.17?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/19.2.14/19.2.17?slim=true) | | [isbot](https://isbot.js.org) ([source](https://github.com/omrilotan/isbot)) | [`5.1.39` → `5.2.0`](https://renovatebot.com/diffs/npm/isbot/5.1.39/5.2.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/isbot/5.2.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/isbot/5.1.39/5.2.0?slim=true) | | [react](https://react.dev/) ([source](https://github.com/facebook/react/tree/HEAD/packages/react)) | [`19.2.5` → `19.2.7`](https://renovatebot.com/diffs/npm/react/19.2.5/19.2.7) | ![age](https://developer.mend.io/api/mc/badges/age/npm/react/19.2.7?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react/19.2.5/19.2.7?slim=true) | | [react-dom](https://react.dev/) ([source](https://github.com/facebook/react/tree/HEAD/packages/react-dom)) | [`19.2.5` → `19.2.7`](https://renovatebot.com/diffs/npm/react-dom/19.2.5/19.2.7) | ![age](https://developer.mend.io/api/mc/badges/age/npm/react-dom/19.2.7?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-dom/19.2.5/19.2.7?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.14.2` → `7.18.1`](https://renovatebot.com/diffs/npm/react-router/7.14.2/7.18.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/react-router/7.18.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-router/7.14.2/7.18.1?slim=true) | | [tailwindcss](https://tailwindcss.com) ([source](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss)) | [`4.2.4` → `4.3.2`](https://renovatebot.com/diffs/npm/tailwindcss/4.2.4/4.3.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/4.3.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/4.2.4/4.3.2?slim=true) | | [vite](https://vite.dev) ([source](https://github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`7.3.2` → `7.3.6`](https://renovatebot.com/diffs/npm/vite/7.3.2/7.3.6) | ![age](https://developer.mend.io/api/mc/badges/age/npm/vite/7.3.6?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/7.3.2/7.3.6?slim=true) | --- ### Release Notes <details> <summary>remix-run/react-router (@&#8203;react-router/dev)</summary> ### [`v7.18.1`](https://github.com/remix-run/react-router/compare/@react-router/dev@7.18.0...@react-router/dev@7.18.1) [Compare Source](https://github.com/remix-run/react-router/compare/@react-router/dev@7.18.0...@react-router/dev@7.18.1) ### [`v7.18.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-dev/CHANGELOG.md#v7180) [Compare Source](https://github.com/remix-run/react-router/compare/@react-router/dev@7.17.0...@react-router/dev@7.18.0) ##### Patch Changes - Pass Vite `server.watch` config to child compiler in development mode. ([#&#8203;15178](https://github.com/remix-run/react-router/pull/15178)) - Ignore external Vite server environments in Framework Mode build hooks ([#&#8203;14883](https://github.com/remix-run/react-router/pull/14883)) When `future.v8_viteEnvironmentApi` is enabled, React Router previously treated any non-client Vite environment as its own server build. This caused issues with integrations like Nitro, where plugins can register additional environments. Framework Mode build hooks now ignore external server environments and only process the app's own server build. - Updated dependencies: - [`react-router@7.18.0`](https://github.com/remix-run/react-router/releases/tag/react-router@7.18.0) - [`@react-router/node@7.18.0`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/node@7.18.0) - [`@react-router/serve@7.18.0`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/serve@7.18.0) ### [`v7.17.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-dev/CHANGELOG.md#v7170) [Compare Source](https://github.com/remix-run/react-router/compare/@react-router/dev@7.16.0...@react-router/dev@7.17.0) ##### Patch Changes - Fix future flag warning URLs and only log each future flag warning one time ([#&#8203;15138](https://github.com/remix-run/react-router/pull/15138)) ##### Unstable Changes ⚠️ *[Unstable features](https://reactrouter.com/community/api-development-strategy#unstable-flags) are not recommended for production use* - Prevent RSC route module server exports from being scanned by the client dependency optimizer when `future.unstable_optimizeDeps` is enabled. ([#&#8203;15005](https://github.com/remix-run/react-router/pull/15005)) - Updated dependencies: - [`react-router@7.17.0`](https://github.com/remix-run/react-router/releases/tag/react-router@7.17.0) - [`@react-router/node@7.17.0`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/node@7.17.0) - [`@react-router/serve@7.17.0`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/serve@7.17.0) ### [`v7.16.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-dev/CHANGELOG.md#v7160) [Compare Source](https://github.com/remix-run/react-router/compare/@react-router/dev@7.15.1...@react-router/dev@7.16.0) ##### Minor Changes - Stabilize `future.unstable_trailingSlashAwareDataRequests` as `future.v8_trailingSlashAwareDataRequests` ([#&#8203;15098](https://github.com/remix-run/react-router/pull/15098)) - The unstable flag is no longer supported and will error during config resolution - Log future flag warnings for upcoming React Router v8 flags ([#&#8203;15029](https://github.com/remix-run/react-router/pull/15029)) - `v8_middleware`, `v8_splitRouteModules`, `v8_viteEnvironmentApi`, `v8_passThroughRequests`, `v8_trailingSlashAwareDataRequests` ##### Patch Changes - Updated dependencies: - [`react-router@7.16.0`](https://github.com/remix-run/react-router/releases/tag/react-router@7.16.0) - [`@react-router/node@7.16.0`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/node@7.16.0) - [`@react-router/serve@7.16.0`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/serve@7.16.0) ### [`v7.15.1`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-dev/CHANGELOG.md#v7151) [Compare Source](https://github.com/remix-run/react-router/compare/@react-router/dev@7.15.0...@react-router/dev@7.15.1) ##### Patch Changes - Fix `basename` conflicting with `app` directory name when Vite `base` is set ([#&#8203;15027](https://github.com/remix-run/react-router/pull/15027)) When the Vite `base` config and React Router `basename` both match the app directory name (e.g. `base: "/app/"`, `basename: "/app/"`), Vite would strip the base prefix from server-build virtual module import paths, causing "Failed to load url /root.tsx" errors. The fix uses `/@&#8203;fs/` absolute paths for those imports to bypass Vite's base-stripping logic. - Updated dependencies: - [`react-router@7.15.1`](https://github.com/remix-run/react-router/releases/tag/react-router@7.15.1) - [`@react-router/node@7.15.1`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/node@7.15.1) - [`@react-router/serve@7.15.1`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/serve@7.15.1) ### [`v7.15.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-dev/CHANGELOG.md#v7150) [Compare Source](https://github.com/remix-run/react-router/compare/@react-router/dev@7.14.2...@react-router/dev@7.15.0) ##### Minor Changes - Stabilize `future.unstable_passThroughRequests` as `future.v8_passThroughRequests` ([a993f09](https://github.com/remix-run/react-router/commit/a993f09)) - ⚠️ This is a breaking change if you have already opted into the unstable version - you will need to update your code accordingly - Stabilize `prerender.unstable_concurrency` as `prerender.concurrency` ([a993f09](https://github.com/remix-run/react-router/commit/a993f09)) - ⚠️ This is a breaking change if you have already opted into the unstable version - you will need to update your code accordingly - Stabilize `future.unstable_subResourceIntegrity` as a top-level `subResourceIntegrity` config option in `react-router.config.ts` ([a993f09](https://github.com/remix-run/react-router/commit/a993f09)) - ⚠️ This is a breaking change if you have already opted into the unstable version - you will need to update your code accordingly ##### Patch Changes - Updated dependencies: - [`react-router@7.15.0`](https://github.com/remix-run/react-router/releases/tag/react-router@7.15.0) - [`@react-router/node@7.15.0`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/node@7.15.0) - [`@react-router/serve@7.15.0`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/serve@7.15.0) </details> <details> <summary>remix-run/react-router (@&#8203;react-router/node)</summary> ### [`v7.18.1`](https://github.com/remix-run/react-router/compare/@react-router/node@7.18.0...@react-router/node@7.18.1) [Compare Source](https://github.com/remix-run/react-router/compare/@react-router/node@7.18.0...@react-router/node@7.18.1) ### [`v7.18.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-node/CHANGELOG.md#v7180) [Compare Source](https://github.com/remix-run/react-router/compare/@react-router/node@7.17.0...@react-router/node@7.18.0) ##### Patch Changes - Updated dependencies: - [`react-router@7.18.0`](https://github.com/remix-run/react-router/releases/tag/react-router@7.18.0) ### [`v7.17.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-node/CHANGELOG.md#v7170) [Compare Source](https://github.com/remix-run/react-router/compare/@react-router/node@7.16.0...@react-router/node@7.17.0) ##### Patch Changes - Updated dependencies: - [`react-router@7.17.0`](https://github.com/remix-run/react-router/releases/tag/react-router@7.17.0) ### [`v7.16.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-node/CHANGELOG.md#v7160) [Compare Source](https://github.com/remix-run/react-router/compare/@react-router/node@7.15.1...@react-router/node@7.16.0) ##### Patch Changes - Honor Node writable backpressure in `writeReadableStreamToWritable` and `writeAsyncIterableToWritable` ([#&#8203;15071](https://github.com/remix-run/react-router/pull/15071)) - Await `'drain'` when `writable.write()` returns `false` instead of letting chunks accumulate in the writable's internal buffer. - Reject (rather than hang) if the writable errors or closes mid-stream. - Updated dependencies: - [`react-router@7.16.0`](https://github.com/remix-run/react-router/releases/tag/react-router@7.16.0) ### [`v7.15.1`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-node/CHANGELOG.md#v7151) [Compare Source](https://github.com/remix-run/react-router/compare/@react-router/node@7.15.0...@react-router/node@7.15.1) ##### Patch Changes - Updated dependencies: - [`react-router@7.15.1`](https://github.com/remix-run/react-router/releases/tag/react-router@7.15.1) ### [`v7.15.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-node/CHANGELOG.md#v7150) [Compare Source](https://github.com/remix-run/react-router/compare/@react-router/node@7.14.2...@react-router/node@7.15.0) ##### Patch Changes - Updated dependencies: - [`react-router@7.15.0`](https://github.com/remix-run/react-router/releases/tag/react-router@7.15.0) </details> <details> <summary>remix-run/react-router (@&#8203;react-router/serve)</summary> ### [`v7.18.1`](https://github.com/remix-run/react-router/compare/@react-router/serve@7.18.0...@react-router/serve@7.18.1) [Compare Source](https://github.com/remix-run/react-router/compare/@react-router/serve@7.18.0...@react-router/serve@7.18.1) ### [`v7.18.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-serve/CHANGELOG.md#v7180) [Compare Source](https://github.com/remix-run/react-router/compare/@react-router/serve@7.17.0...@react-router/serve@7.18.0) ##### Patch Changes - Updated dependencies: - [`react-router@7.18.0`](https://github.com/remix-run/react-router/releases/tag/react-router@7.18.0) - [`@react-router/express@7.18.0`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/express@7.18.0) - [`@react-router/node@7.18.0`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/node@7.18.0) ### [`v7.17.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-serve/CHANGELOG.md#v7170) [Compare Source](https://github.com/remix-run/react-router/compare/@react-router/serve@7.16.0...@react-router/serve@7.17.0) ##### Patch Changes - Updated dependencies: - [`react-router@7.17.0`](https://github.com/remix-run/react-router/releases/tag/react-router@7.17.0) - [`@react-router/express@7.17.0`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/express@7.17.0) - [`@react-router/node@7.17.0`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/node@7.17.0) ### [`v7.16.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-serve/CHANGELOG.md#v7160) [Compare Source](https://github.com/remix-run/react-router/compare/@react-router/serve@7.15.1...@react-router/serve@7.16.0) ##### Patch Changes - Normalize `assetsBuildDirectory` path separators in `react-router-serve` so Windows-built server artifacts can serve `/assets/*` correctly when run on Linux. ([#&#8203;14982](https://github.com/remix-run/react-router/pull/14982)) - Updated dependencies: - [`react-router@7.16.0`](https://github.com/remix-run/react-router/releases/tag/react-router@7.16.0) - [`@react-router/express@7.16.0`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/express@7.16.0) - [`@react-router/node@7.16.0`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/node@7.16.0) ### [`v7.15.1`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-serve/CHANGELOG.md#v7151) [Compare Source](https://github.com/remix-run/react-router/compare/@react-router/serve@7.15.0...@react-router/serve@7.15.1) ##### Patch Changes - Updated dependencies: - [`react-router@7.15.1`](https://github.com/remix-run/react-router/releases/tag/react-router@7.15.1) - [`@react-router/express@7.15.1`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/express@7.15.1) - [`@react-router/node@7.15.1`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/node@7.15.1) ### [`v7.15.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-serve/CHANGELOG.md#v7150) [Compare Source](https://github.com/remix-run/react-router/compare/@react-router/serve@7.14.2...@react-router/serve@7.15.0) ##### Patch Changes - Updated dependencies: - [`react-router@7.15.0`](https://github.com/remix-run/react-router/releases/tag/react-router@7.15.0) - [`@react-router/express@7.15.0`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/express@7.15.0) - [`@react-router/node@7.15.0`](https://github.com/remix-run/react-router/releases/tag/@&#8203;react-router/node@7.15.0) </details> <details> <summary>tailwindlabs/tailwindcss (@&#8203;tailwindcss/vite)</summary> ### [`v4.3.2`](https://github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#432---2026-06-26) [Compare Source](https://github.com/tailwindlabs/tailwindcss/compare/v4.3.1...v4.3.2) ##### Fixed - Support bare spacing values for `auto-rows-*` and `auto-cols-*` utilities (e.g. `auto-rows-12` and `auto-cols-16`) ([#&#8203;20229](https://github.com/tailwindlabs/tailwindcss/pull/20229)) - Prevent `@tailwindcss/cli` in `--watch` mode from crashing on Windows when `@source` points to a directory that doesn't exist ([#&#8203;20242](https://github.com/tailwindlabs/tailwindcss/pull/20242)) - Prevent `@tailwindcss/vite` from crashing in Deno v2.8.x when `context.parentURL` is not a valid URL ([#&#8203;20245](https://github.com/tailwindlabs/tailwindcss/pull/20245)) - Ensure `@tailwindcss/cli` in `--watch` mode rebuilds when the input CSS file changes in an ignored directory ([#&#8203;20246](https://github.com/tailwindlabs/tailwindcss/pull/20246)) - Allow `@variant` rules used in `addBase(…)` to use custom variants defined later ([#&#8203;20247](https://github.com/tailwindlabs/tailwindcss/pull/20247)) - Prevent `@tailwindcss/vite` from crashing during HMR when scanned files or directories are deleted ([#&#8203;20259](https://github.com/tailwindlabs/tailwindcss/pull/20259)) - Generate `font-size` instead of `color` declarations for `text-[--spacing(…)]` ([#&#8203;20260](https://github.com/tailwindlabs/tailwindcss/pull/20260)) - Prevent `@source` patterns from scanning unrelated sibling files and folders ([#&#8203;20263](https://github.com/tailwindlabs/tailwindcss/pull/20263)) - Extract class candidates adjacent to Template Toolkit delimiters like `%]…[%` in `.tt`, `.tt2`, and `.tx` files ([#&#8203;20269](https://github.com/tailwindlabs/tailwindcss/pull/20269)) - Extract class candidates from conditional Maud syntax like `p.text-black[condition]` ([#&#8203;20269](https://github.com/tailwindlabs/tailwindcss/pull/20269)) - Prevent `@position-try` rules from triggering unknown at-rule warnings when optimizing CSS ([#&#8203;20277](https://github.com/tailwindlabs/tailwindcss/pull/20277)) - Support class suggestions for named opacity modifiers from `--opacity` theme values ([#&#8203;20287](https://github.com/tailwindlabs/tailwindcss/pull/20287)) - Prevent type errors in `@tailwindcss/postcss` when used with newer PostCSS patch releases ([#&#8203;20289](https://github.com/tailwindlabs/tailwindcss/pull/20289)) ### [`v4.3.1`](https://github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#431---2026-06-12) [Compare Source](https://github.com/tailwindlabs/tailwindcss/compare/v4.3.0...v4.3.1) ##### Added - Add `--silent` option to suppress output in `@tailwindcss/cli` ([#&#8203;20100](https://github.com/tailwindlabs/tailwindcss/pull/20100)) ##### Fixed - Remove deprecation warnings by using `Module#registerHooks` instead of `Module#register` on Node 26+ ([#&#8203;20028](https://github.com/tailwindlabs/tailwindcss/pull/20028)) - Canonicalization: don't crash when plugin utilities throw for unsupported values ([#&#8203;20052](https://github.com/tailwindlabs/tailwindcss/pull/20052)) - Allow `@apply` to be used with CSS mixins ([#&#8203;19427](https://github.com/tailwindlabs/tailwindcss/pull/19427)) - Ensure `not-*` correctly negates `@container` queries, including `style(…)` queries ([#&#8203;20059](https://github.com/tailwindlabs/tailwindcss/pull/20059)) - Ensure `drop-shadow-*` color utilities work with custom shadow values containing `calc(…)` ([#&#8203;20080](https://github.com/tailwindlabs/tailwindcss/pull/20080)) - Fix 'Sourcemap is likely to be incorrect' warnings when using `@tailwindcss/vite` ([#&#8203;20103](https://github.com/tailwindlabs/tailwindcss/pull/20103)) - Ensure `@tailwindcss/webpack` can be installed in Rspack projects without requiring `webpack` as a peer dependency ([#&#8203;20027](https://github.com/tailwindlabs/tailwindcss/pull/20027)) - Canonicalization: don't suggest invalid `calc(…)` expressions (e.g. `px-[calc(1rem+0px)]` → `px-[calc(1rem+0)]`) ([#&#8203;20127](https://github.com/tailwindlabs/tailwindcss/pull/20127)) - Canonicalization: avoid suggesting large spacing-scale values for arbitrary lengths (e.g. `left-[99999px]` → `left-[99999px]`, not `left-24999.75`) ([#&#8203;20130](https://github.com/tailwindlabs/tailwindcss/pull/20130)) - Ensure `@tailwindcss/cli` in `--watch` mode recovers when a tracked dependency is deleted and restored ([#&#8203;20137](https://github.com/tailwindlabs/tailwindcss/pull/20137)) - Ensure standalone `@tailwindcss/cli` binaries are ignored when scanning for class candidates ([#&#8203;20139](https://github.com/tailwindlabs/tailwindcss/pull/20139)) - Ensure class candidates are extracted from Twig `addClass(…)` and `removeClass(…)` calls ([#&#8203;20198](https://github.com/tailwindlabs/tailwindcss/pull/20198)) - Don't crash in the Ruby or Vue preprocessors when scanning files containing invalid UTF-8 bytes ([#&#8203;19588](https://github.com/tailwindlabs/tailwindcss/pull/19588)) - Allow `@variant` to be used inside `addBase` ([#&#8203;19480](https://github.com/tailwindlabs/tailwindcss/pull/19480)) - Ensure `@source` globs with symlinks are preserved ([#&#8203;20203](https://github.com/tailwindlabs/tailwindcss/pull/20203)) - Ensure later `@source` rules can re-include files excluded by earlier `@source not` rules ([#&#8203;20203](https://github.com/tailwindlabs/tailwindcss/pull/20203)) - Upgrade: don't migrate empty class rules to invalid `@utility` rules ([#&#8203;20205](https://github.com/tailwindlabs/tailwindcss/pull/20205)) - Ensure transitions between `inset-shadow-none` and other inset shadows work correctly ([#&#8203;20208](https://github.com/tailwindlabs/tailwindcss/pull/20208)) - Ensure explicitly referenced `@source` directories are scanned even when ignored by git ([#&#8203;20214](https://github.com/tailwindlabs/tailwindcss/pull/20214)) - Ensure `@source` globs ending in `**/*` preserve dynamic path segments to avoid scanning too many files ([#&#8203;20217](https://github.com/tailwindlabs/tailwindcss/pull/20217)) - Canonicalization: don't fold `calc(…)` divisions when the result would require high precision (e.g. `w-[calc(100%/3.5)]` → `w-[calc(100%/3.5)]`, not `w-[28.571428571428573%]`) ([#&#8203;20221](https://github.com/tailwindlabs/tailwindcss/pull/20221)) - Serve ESM type declarations to ESM importers of `@tailwindcss/postcss` ([#&#8203;20228](https://github.com/tailwindlabs/tailwindcss/pull/20228)) ##### Changed - Generate `0` instead of `calc(var(--spacing) * 0)` for spacing utilities like `m-0` and `left-0` ([#&#8203;20196](https://github.com/tailwindlabs/tailwindcss/pull/20196)) - Generate `var(--spacing)` instead of `calc(var(--spacing) * 1)` for spacing utilities like `m-1` and `left-1` ([#&#8203;20196](https://github.com/tailwindlabs/tailwindcss/pull/20196)) ### [`v4.3.0`](https://github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#430---2026-05-08) [Compare Source](https://github.com/tailwindlabs/tailwindcss/compare/v4.2.4...v4.3.0) ##### Added - Add `@container-size` utility ([#&#8203;18901](https://github.com/tailwindlabs/tailwindcss/pull/18901)) - Add `scrollbar-{auto,thin,none}` utilities for `scrollbar-width`, and `scrollbar-thumb-*` / `scrollbar-track-*` color utilities for `scrollbar-color` ([#&#8203;19981](https://github.com/tailwindlabs/tailwindcss/pull/19981), [#&#8203;20019](https://github.com/tailwindlabs/tailwindcss/pull/20019)) - Add `scrollbar-gutter-*` utilities ([#&#8203;20018](https://github.com/tailwindlabs/tailwindcss/pull/20018)) - Add `zoom-*` utilities ([#&#8203;20020](https://github.com/tailwindlabs/tailwindcss/pull/20020)) - Add `tab-*` utilities ([#&#8203;20022](https://github.com/tailwindlabs/tailwindcss/pull/20022)) - Allow using `@variant` with stacked variants (e.g. `@variant hover:focus { … }`) ([#&#8203;19996](https://github.com/tailwindlabs/tailwindcss/pull/19996)) - Allow using `@variant` with compound variants (e.g. `@variant hover, focus { … }`) ([#&#8203;19996](https://github.com/tailwindlabs/tailwindcss/pull/19996)) - Support `--default(…)` in `--value(…)` and `--modifier(…)` for functional `@utility` definitions ([#&#8203;19989](https://github.com/tailwindlabs/tailwindcss/pull/19989)) ##### Fixed - Ensure `@plugin` resolves package JavaScript entries instead of browser CSS entries when using `@tailwindcss/vite` ([#&#8203;19949](https://github.com/tailwindlabs/tailwindcss/pull/19949)) - Fix relative `@import` and `@plugin` paths resolving from the wrong directory when using `@tailwindcss/vite` ([#&#8203;19965](https://github.com/tailwindlabs/tailwindcss/pull/19965)) - Ensure CSS files containing `@variant` are processed by `@tailwindcss/vite` ([#&#8203;19966](https://github.com/tailwindlabs/tailwindcss/pull/19966)) - Resolve imports relative to `base` when `result.opts.from` is not provided when using `@tailwindcss/postcss` ([#&#8203;19980](https://github.com/tailwindlabs/tailwindcss/pull/19980)) - Canonicalization: preserve significant `_` whitespace in arbitrary values ([#&#8203;19986](https://github.com/tailwindlabs/tailwindcss/pull/19986)) - Canonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. `w-[calc(100%---spacing(60))]` → `w-[calc(100%-(--spacing(60)))]`) ([#&#8203;19986](https://github.com/tailwindlabs/tailwindcss/pull/19986)) - Canonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. `-mt-[20in]` → `mt-[-20in]`, not `mt-[-1920px]`) ([#&#8203;19988](https://github.com/tailwindlabs/tailwindcss/pull/19988)) - Canonicalization: migrate arbitrary `:has()` variants from `[&:has(…)]` to `has-[…]` ([#&#8203;19991](https://github.com/tailwindlabs/tailwindcss/pull/19991)) - Upgrade: don’t migrate inline `style` attributes (e.g. `style="flex-grow: 1"` → `style="flex-grow: 1"`, not `style="grow: 1"`) ([#&#8203;19918](https://github.com/tailwindlabs/tailwindcss/pull/19918)) - Allow multiple `@utility` definitions with the same name but different value types ([#&#8203;19777](https://github.com/tailwindlabs/tailwindcss/pull/19777)) - Export missing `PluginWithConfig` type from `tailwindcss/plugin` to fix errors when inferring plugin config types ([#&#8203;19707](https://github.com/tailwindlabs/tailwindcss/pull/19707)) - Ensure `start` and `end` legacy utilities without values do not generate CSS ([#&#8203;20003](https://github.com/tailwindlabs/tailwindcss/pull/20003)) - Ensure `--value(…)` is required in functional `@utility` definitions ([#&#8203;20005](https://github.com/tailwindlabs/tailwindcss/pull/20005)) - Canonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. `-left-[(var(--a)+var(--b))]`) ([#&#8203;20011](https://github.com/tailwindlabs/tailwindcss/pull/20011)) </details> <details> <summary>omrilotan/isbot (isbot)</summary> ### [`v5.2.0`](https://github.com/omrilotan/isbot/blob/HEAD/CHANGELOG.md#520) [Compare Source](https://github.com/omrilotan/isbot/compare/v5.1.44...v5.2.0) - Rename all imports but keep backwards compatibility with the old names. The new names are more consistent with common Javascript naming conventions. **No breaking changes**. - Pattern updates ##### New Names Map | Old Name | New Name | | ------------------- | ------------------- | | isbot | isBot | | isbotNaive | isBotNaive | | createIsbot | createIsBot | | createIsbotFromList | createIsBotFromList | | isbotMatch | findBotMatch | | isbotMatches | findBotMatches | | isbotPattern | findBotPattern | | isbotPatterns | findBotPatterns | > † *All old names are still available for backwards compatibility, but can be deprecated in future major versions.* ### [`v5.1.44`](https://github.com/omrilotan/isbot/blob/HEAD/CHANGELOG.md#5144) [Compare Source](https://github.com/omrilotan/isbot/compare/v5.1.43...v5.1.44) - Pattern updates - Maintenance: remove defunct services from crawlers list ### [`v5.1.43`](https://github.com/omrilotan/isbot/blob/HEAD/CHANGELOG.md#5143) [Compare Source](https://github.com/omrilotan/isbot/compare/v5.1.42...v5.1.43) - Pattern updates ### [`v5.1.42`](https://github.com/omrilotan/isbot/blob/HEAD/CHANGELOG.md#5142) [Compare Source](https://github.com/omrilotan/isbot/compare/v5.1.41...v5.1.42) - Pattern updates ### [`v5.1.41`](https://github.com/omrilotan/isbot/blob/HEAD/CHANGELOG.md#5141) [Compare Source](https://github.com/omrilotan/isbot/compare/v5.1.40...v5.1.41) - \[FIX] Browser entry: was missing from package output - Pattern updates ### [`v5.1.40`](https://github.com/omrilotan/isbot/blob/HEAD/CHANGELOG.md#5140) [Compare Source](https://github.com/omrilotan/isbot/compare/v5.1.39...v5.1.40) - Browser entry. Use Object.defineProperty instead of direct assignment </details> <details> <summary>facebook/react (react)</summary> ### [`v19.2.7`](https://github.com/facebook/react/blob/HEAD/CHANGELOG.md#1927-June-1-2026) [Compare Source](https://github.com/facebook/react/compare/v19.2.6...v19.2.7) ##### React Server Components - Fixed missing `FormData` entries in Server Actions which regressed in 19.2.6 ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;36566](https://github.com/facebook/react/pull/36566)) ### [`v19.2.6`](https://github.com/facebook/react/blob/HEAD/CHANGELOG.md#1926-May-6-2026) [Compare Source](https://github.com/facebook/react/compare/v19.2.5...v19.2.6) ##### React Server Components - Type hardening and performance improvements ([@&#8203;eps1lon](https://github.com/eps1lon), [@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;36425](https://github.com/facebook/react/pull/36425)) </details> <details> <summary>remix-run/react-router (react-router)</summary> ### [`v7.18.1`](https://github.com/remix-run/react-router/releases/tag/react-router%407.18.1): v7.18.1 [Compare Source](https://github.com/remix-run/react-router/compare/react-router@7.18.0...react-router@7.18.1) See the changelog for release notes: <https://github.com/remix-run/react-router/blob/v7/CHANGELOG.md#v7181> ### [`v7.18.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router/CHANGELOG.md#v7180) [Compare Source](https://github.com/remix-run/react-router/compare/react-router@7.17.0...react-router@7.18.0) ##### Patch Changes - Fix server handler prerender responses when using `ssr: false` and `future.v8_trailingSlashAwareDataRequests: true`. Avoids false positive "SPA Mode" detection when serving prerendered paths ([#&#8203;15173](https://github.com/remix-run/react-router/pull/15173)) - Use the `ServerRouter` nonce for nonce-aware SSR components when they don't provide their own value so strict CSP pages can load them. ([#&#8203;15170](https://github.com/remix-run/react-router/pull/15170)) - Use `turbo-stream` to serialize and deserialize Framework Mode hydration errors ([#&#8203;15175](https://github.com/remix-run/react-router/pull/15175)) - Precompute route branch matchers to avoid recompiling route path regexes during matching ([#&#8203;15186](https://github.com/remix-run/react-router/pull/15186)) - Use the constructed request URL host when validating action request origins. ([#&#8203;15185](https://github.com/remix-run/react-router/pull/15185)) - Remove the un-documented custom error serialization logic from Data Mode SSR built-in hydration flows ([#&#8203;15175](https://github.com/remix-run/react-router/pull/15175)) - Validate protocols in RSC render redirects ([#&#8203;15177](https://github.com/remix-run/react-router/pull/15177)) - Consolidate url normalization logic and better handle mixed slashes ([#&#8203;15176](https://github.com/remix-run/react-router/pull/15176)) ### [`v7.17.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router/CHANGELOG.md#v7170) [Compare Source](https://github.com/remix-run/react-router/compare/react-router@7.16.0...react-router@7.17.0) ##### Minor Changes - Ship a subset of the official documentation inside the `react-router` package ([#&#8203;15121](https://github.com/remix-run/react-router/pull/15121)) - Markdown docs are now available in `node_modules/react-router/docs`, letting AI coding agents and the React Router agent skills read official docs locally - Excludes auto-generated API docs (`api/`), `community/` content, and tutorials (`tutorials/`) ### [`v7.16.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router/CHANGELOG.md#v7160) [Compare Source](https://github.com/remix-run/react-router/compare/react-router@7.15.1...react-router@7.16.0) ##### Minor Changes - Stabilize `future.unstable_trailingSlashAwareDataRequests` as `future.v8_trailingSlashAwareDataRequests` ([#&#8203;15098](https://github.com/remix-run/react-router/pull/15098)) ##### Patch Changes - Disable manifest path when lazy route dicovery is disabled ([#&#8203;15068](https://github.com/remix-run/react-router/pull/15068)) - Fix browser URL creation to use the configured history window instead of the global window. ([#&#8203;15066](https://github.com/remix-run/react-router/pull/15066)) - Pass the history/router window through to `createBrowserURLImpl` so custom window contexts keep the correct URL origin. - Fix `useNavigation()` return type to preserve discriminated union across navigation states ([#&#8203;15095](https://github.com/remix-run/react-router/pull/15095)) - Widen `MetaDescriptor` `script:ld+json` type from `LdJsonObject` to `LdJsonObject | LdJsonObject[]` to permit multiple JSON-LD schemas in a single `<script type="application/ld+json">` tag emitted by `<Meta />` ([#&#8203;15082](https://github.com/remix-run/react-router/pull/15082)) ### [`v7.15.1`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router/CHANGELOG.md#v7151) [Compare Source](https://github.com/remix-run/react-router/compare/react-router@7.15.0...react-router@7.15.1) ##### Patch Changes - Update router to operate on fetcher Maps in an immutable manner to avoid delayed React renders from potentially reading an updated but not yet committed Map. This could result in brief flickers in some fetcher-driven optimistic UI scenarios. ([#&#8203;15028](https://github.com/remix-run/react-router/pull/15028)) - Fix `serverLoader()` returning stale SSR data when a client navigation aborts pending hydration before the hydration `clientLoader` resolves ([#&#8203;15022](https://github.com/remix-run/react-router/pull/15022)) - Fix `RouterProvider` `onError` callback not being called for synchronous initial loader errors in SPA mode ([#&#8203;15039](https://github.com/remix-run/react-router/pull/15039)) ([#&#8203;14942](https://github.com/remix-run/react-router/pull/14942)) - Memoize `useFetchers` to return a stable identity and only change if fetchers changed ([#&#8203;15028](https://github.com/remix-run/react-router/pull/15028)) - Internal refactor to consolidate mutation request detection through shared utility ([#&#8203;15033](https://github.com/remix-run/react-router/pull/15033)) ##### Unstable Changes ⚠️ *[Unstable features](https://reactrouter.com/community/api-development-strategy#unstable-flags) are not recommended for production use* - Add a new `unstable_useRouterState()` hook that consolidates access to active and pending router states (RFC: [#&#8203;12358](https://github.com/remix-run/react-router/issues/12358)) ([#&#8203;15017](https://github.com/remix-run/react-router/pull/15017)) - Data/Framework/RSC only — throws when used without a data router - This should allow you to consolidate usages of the following hooks which will likely be deprecated and removed in a future major version - `useLocation` - `useSearchParams` - `useParams` - `useMatches` - `useNavigationType` - `useNavigation` ```ts let { active, pending } = unstable_useRouterState(); // Active is always populated with the current location active.location; // replaces `useLocation()` active.searchParams; // replaces `useSearchParams()[0]` active.params; // replaces `useParams()` active.matches; // replaces `useMatches()` active.type; // replaces `useNavigationType()` // Pending is only populated during a navigation pending.location; // replaces `useNavigation().location` pending.searchParams; // equivalent to `new URLSearchParams(useNavigation().search)` pending.params; // Not directly accessible today pending.matches; // Not directly accessible today pending.type; // Not directly accessible today pending.state; // replaces `useNavigation().state` pending.formMethod; // replaces useNavigation().formMethod pending.formAction; // replaces useNavigation().formAction pending.formEncType; // replaces useNavigation().formEncType pending.formData; // replaces useNavigation().formData pending.json; // replaces useNavigation().json pending.text; // replaces useNavigation().text ``` ### [`v7.15.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router/CHANGELOG.md#v7150) [Compare Source](https://github.com/remix-run/react-router/compare/react-router@7.14.2...react-router@7.15.0) ##### Minor Changes - Stabilize `unstable_defaultShouldRevalidate` as `defaultShouldRevalidate` on `<Link>`, `<Form>`, `useLinkClickHandler`, `useSubmit`, `fetcher.submit`, and `setSearchParams` ([a993f09](https://github.com/remix-run/react-router/commit/a993f09)) - ⚠️ This is a breaking change if you have already opted into the unstable version - you will need to update your code accordingly - Stabilize the instrumentation APIs. `unstable_instrumentations` is now `instrumentations` and `unstable_pattern` is now `pattern` ([a993f09](https://github.com/remix-run/react-router/commit/a993f09)) - The `unstable_ServerInstrumentation`, `unstable_ClientInstrumentation`, `unstable_InstrumentRequestHandlerFunction`, `unstable_InstrumentRouterFunction`, `unstable_InstrumentRouteFunction`, and `unstable_InstrumentationHandlerResult` types have had their `unstable_` prefixes removed - ⚠️ This is a breaking change if you have already opted into the unstable version - you will need to update your code accordingly - Stabilize `unstable_mask` as `mask` on `<Link>`, `useLinkClickHandler`, and `useNavigate`, and rename the corresponding `Location.unstable_mask` field to `Location.mask` ([a993f09](https://github.com/remix-run/react-router/commit/a993f09)) - ⚠️ This is a breaking change if you have already opted into the unstable version - you will need to update your code accordingly - Stabilize the `unstable_normalizePath` option on `staticHandler.query` and `staticHandler.queryRoute` as `normalizePath` ([a993f09](https://github.com/remix-run/react-router/commit/a993f09)) - ⚠️ This is a breaking change if you have already opted into the unstable version - you will need to update your code accordingly - Stabilize `future.unstable_passThroughRequests` as `future.v8_passThroughRequests` ([a993f09](https://github.com/remix-run/react-router/commit/a993f09)) - ⚠️ This is a breaking change if you have already opted into the unstable version - you will need to update your code accordingly - Remove `unstable_subResourceIntegrity` from the runtime `FutureConfig` type; the flag is now controlled by the top-level `subResourceIntegrity` option in `react-router.config.ts` ([a993f09](https://github.com/remix-run/react-router/commit/a993f09)) - ⚠️ This is a breaking change if you have already opted into the unstable version - you will need to update your code accordingly - Stabilize `unstable_url` as `url` on `loader`, `action`, and `middleware` function args ([a993f09](https://github.com/remix-run/react-router/commit/a993f09)) - ⚠️ This is a breaking change if you have already opted into the unstable version - you will need to update your code accordingly - Stabilize `unstable_useTransitions` as `useTransitions` on `<BrowserRouter>`, `<HashRouter>`, `<HistoryRouter>`, `<MemoryRouter>`, `<Router>`, `<RouterProvider>`, `<HydratedRouter>`, and `useLinkClickHandler` ([a993f09](https://github.com/remix-run/react-router/commit/a993f09)) - ⚠️ This is a breaking change if you have already opted into the unstable version - you will need to update your code accordingly ##### Patch Changes - Add `nonce` to `<Scripts>` `<link rel="modulepreload">` elements (if provided) ([af5d49b](https://github.com/remix-run/react-router/commit/af5d49b)) - Fix a bug with `unstable_defaultShouldRevalidate={false}` where parent routes that did not export a `shouldRevalidate` function could be incorrectly included in the single fetch call for new child route data ([#&#8203;15012](https://github.com/remix-run/react-router/pull/15012)) - Improve server-side route matching performance by pre-computing flattened/cached route branches ([#&#8203;14967](https://github.com/remix-run/react-router/pull/14967)) ([af5d49b](https://github.com/remix-run/react-router/commit/af5d49b)) - Performance benchmarks showed roughly a 10-15% improvement in server-side request handling performance - Mark `mask` as an optional field in `Location` for easier mocking in unit tests ([#&#8203;14999](https://github.com/remix-run/react-router/pull/14999)) - Cache flattened/ranked route branches to optimize server-side route matching ([#&#8203;14967](https://github.com/remix-run/react-router/pull/14967)) - Improve route matching performance in Framework/Data Mode ([#&#8203;14971](https://github.com/remix-run/react-router/pull/14971)) ([af5d49b](https://github.com/remix-run/react-router/commit/af5d49b)) - Avoiding unnecessary calls to `matchRoutes` in data router scenarios - This includes adding back the optimization that was removed in `7.6.0` ([#&#8203;13562](https://github.com/remix-run/react-router/pull/13562)) - The issues that prompted the revert have been addressed by using the available router `matches` but always updating `match.route` to the latest route in the `manifest` - Leverage pre-computed pre-computing flattened/cached route branches during client side route matching - Performance benchmarks showed roughly a 15-30% improvement in server-side request handling performance </details> <details> <summary>vitejs/vite (vite)</summary> ### [`v7.3.6`](https://github.com/vitejs/vite/releases/tag/v7.3.6) [Compare Source](https://github.com/vitejs/vite/compare/v7.3.5...v7.3.6) Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v7.3.6/packages/vite/CHANGELOG.md) for details. ### [`v7.3.5`](https://github.com/vitejs/vite/releases/tag/v7.3.5) [Compare Source](https://github.com/vitejs/vite/compare/v7.3.3...v7.3.5) Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v7.3.5/packages/vite/CHANGELOG.md) for details. ### [`v7.3.3`](https://github.com/vitejs/vite/releases/tag/v7.3.3) [Compare Source](https://github.com/vitejs/vite/compare/v7.3.2...v7.3.3) Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v7.3.3/packages/vite/CHANGELOG.md) for details. </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 [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMTIuNCIsInVwZGF0ZWRJblZlciI6IjQzLjIxMi40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Renovate-Clanker added 1 commit 2026-07-08 23:09:16 +07:00
Renovate-Clanker scheduled this pull request to auto merge when all checks succeed 2026-07-08 23:09:16 +07:00
Renovate-Clanker merged commit bfb6ae2640 into main 2026-07-08 23:09:18 +07:00
Renovate-Clanker deleted branch renovate/all-dependencies 2026-07-08 23:09:19 +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#14