Skip to content

chore(deps): bump the minor-and-patch group across 1 directory with 16 updates - #180

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/frontend/minor-and-patch-e0420c9bb5
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/frontend/minor-and-patch-e0420c9bb5

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Nov 9, 2026

Copy link
Copy Markdown
Contributor

Bumps the minor-and-patch group with 16 updates in the /frontend directory:

Package From To
@tanstack/react-query 5.104.1 5.106.1
react 19.3.0 19.3.1
react-dom 19.3.0 19.3.1
react-resizable-panels 4.14.2 4.18.1
react-router-dom 7.18.4 7.18.5
@playwright/test 1.63.0 1.65.0
@tailwindcss/vite 4.3.3 4.3.4
@types/node 24.19.1 24.19.2
@vitejs/plugin-react 6.1.2 6.2.1
eslint 10.12.0 10.14.0
globals 17.13.0 17.14.0
prettier 3.9.9 3.9.10
tailwindcss 4.3.3 4.3.4
typescript-eslint 8.71.1 8.72.1
vite 8.3.3 8.3.6
vitest 5.0.3 5.1.0

Updates @tanstack/react-query from 5.104.1 to 5.106.1

Release notes

Sourced from @​tanstack/react-query's releases.

@​tanstack/react-query-devtools@​5.106.1

Patch Changes

  • #12528 c4ed956 - fix({query,react-query,preact-query}-devtools): always render the devtools left-to-right regardless of the page direction or browser language
  • Updated dependencies [c4ed956]:
    • @​tanstack/query-devtools@​5.106.1
    • @​tanstack/react-query@​5.106.1

@​tanstack/react-query-next-experimental@​5.106.1

Patch Changes

  • Updated dependencies []:
    • @​tanstack/react-query@​5.106.1

@​tanstack/react-query-persist-client@​5.106.1

Patch Changes

  • Updated dependencies []:
    • @​tanstack/query-persist-client-core@​5.106.1
    • @​tanstack/react-query@​5.106.1

@​tanstack/react-query@​5.106.1

Patch Changes

  • Updated dependencies []:
    • @​tanstack/query-core@​5.106.1

@​tanstack/react-query-devtools@​5.106.0

Patch Changes

  • #12499 46d0477 - Let inline devtools panels fill their container height while keeping a 500px default height when the container has no set height.
  • Updated dependencies [46d0477, f69b28a, 1176d37, 254350f]:
    • @​tanstack/query-devtools@​5.106.0
    • @​tanstack/react-query@​5.106.0

@​tanstack/react-query-next-experimental@​5.106.0

Patch Changes

  • Updated dependencies []:
    • @​tanstack/react-query@​5.106.0

@​tanstack/react-query-persist-client@​5.106.0

Patch Changes

  • Updated dependencies []:
    • @​tanstack/query-persist-client-core@​5.106.0
    • @​tanstack/react-query@​5.106.0

@​tanstack/react-query@​5.106.0

Patch Changes

... (truncated)

Changelog

Sourced from @​tanstack/react-query's changelog.

5.106.1

Patch Changes

  • Updated dependencies []:
    • @​tanstack/query-core@​5.106.1

5.106.0

Patch Changes

  • Updated dependencies []:
    • @​tanstack/query-core@​5.106.0

5.105.3

Patch Changes

5.105.2

Patch Changes

  • #12230 1e1caa5 - Update the observer options before subscribing so revealing an <Activity> tree whose query key changed while hidden no longer fetches the previous key.

  • #12480 8d0dc27 - Exclude status from the filters accepted by QueryClient.isMutating, useIsMutating, and injectIsMutating. These APIs always count mutations with status: 'pending'.

  • Updated dependencies [2ee2fd9, 8d0dc27, e69cac6, f2215d2, 86e7957, b6576b3, af0e0ef, 05d9b6a]:

    • @​tanstack/query-core@​5.105.2

5.105.1

Patch Changes

  • #11373 7ccba6e - fix({react,preact,angular,solid,vue}-query/infiniteQueryOptions): correct the overload selected for a possibly-undefined 'initialData'

  • #12390 18e54bf - Exclude fetchStatus from the filters accepted by QueryClient.isFetching, useIsFetching, and injectIsFetching. These APIs always count queries with fetchStatus: 'fetching'.

  • Updated dependencies [6f8a48d, 18e54bf]:

    • @​tanstack/query-core@​5.105.1

5.105.0

Patch Changes

  • Updated dependencies []:
    • @​tanstack/query-core@​5.105.0

5.104.5

... (truncated)

Commits

Updates react from 19.3.0 to 19.3.1

Release notes

Sourced from react's releases.

19.3.1 (October 14th, 2026)

React Server Components

Commits

Updates react-dom from 19.3.0 to 19.3.1

Release notes

Sourced from react-dom's releases.

19.3.1 (October 14th, 2026)

React Server Components

Commits

Updates react-resizable-panels from 4.14.2 to 4.18.1

Release notes

Sourced from react-resizable-panels's releases.

4.18.1

  • Fix the free space in a Workspace tabset's tab list (returned by useTabListFreeSpace and getTabListFreeSpace, reported to subscribeToTabListFreeSpace listeners, and set as the --tab-list-free-space custom property) not changing once the tab list is squeezed to 0px, e.g. beside a toolbar that doesn't shrink. It now keeps going down as the header's content overflows the header, and is updated when the header or its toolbar changes size.
  • Fix Workspace interactions in right-to-left layouts (e.g. within dir="rtl"): dragging a tab within its tab list inserts it where it's dropped, arrow keys move focus to the tab on that side (ArrowLeft moves to the next tab), and dropping a tab or tabset onto the left or right edge of a tabset puts it on that side of the screen. The left and right regions passed to moveTab and moveTabset are sides of the screen too. A tab list's data-overflow-start and data-overflow-end attributes are also set correctly while it's scrolled. - #791

4.18.0

  • Add the normalizeWorkspaceModel function, which checks and tidies a model the same way the defaultModel prop does (e.g. removing empty tabsets and fixing selections), and returns null if the value isn't a model (e.g. corrupt saved data). Its mapTab option replaces each saved tab with the app's current version (or removes it, by returning null), so layouts saved by older versions of an app can be restored.
  • Add the free space in each tabset's tab list (the space its tabs don't use; negative once they overflow), e.g. for a toolbar that moves items into an overflow menu when the header runs out of room. It's returned by the new useTabListFreeSpace hook and getTabListFreeSpace imperative method, reported to listeners added with the new subscribeToTabListFreeSpace method (e.g. from a toolbar rendered outside of the Workspace), and set as the tab list's --tab-list-free-space custom property. All of them are updated before the browser paints.
  • Fix Workspace tabsets being shown at their collapsed sizes with their content still rendered (and reported as expanded by useParentTabsetState) when the model's sizes don't fit the tabsets' minimum sizes, e.g. a model saved in a wider window, a workspace that's made narrower, or expandTabset shrinking a sibling below its minimum. Tabsets are now shown within their minimum and maximum sizes (rather than collapsed, when there's room), and tabsets that still have to be collapsed to fit are shown (and reported) as collapsed; the new isCollapsedToFit value (returned by useParentTabsetState) tells them apart from tabsets collapsed in the model (e.g. to hide an "expand" button, since they can't be expanded until they fit). The model isn't changed, so the tabsets are shown as the model has them again once they fit.
  • Add maxWidth and maxHeight to Workspace tabsets (and updateTabset), which limit how large a tabset's content area can be resized (e.g. a sidebar that can only grow so wide). Like minimum sizes, they must use absolute units. A maximum only applies if something else can take up the rest of its split (e.g. another tabset without a maximum); otherwise it's ignored, with a warning in development.
  • The default Workspace tabset drag preview now shows the number of other tabs being dragged after the selected tab's title (e.g. "One (+2)"). Tabsets with one tab, and workspaces with a renderDragPreview or renderTabsetDragPreview prop, show the same preview as before. - #789

4.17.0

  • Add dragging whole tabsets within a Workspace. A tabset is dragged by the empty space in its header, or by a TabsetDragHandle (or any element with a data-tabset-drag-handle attribute) when it has one. Dropping a tabset onto the edge of another tabset moves it there; dropping it onto another tabset's center or tab list moves its tabs into that tabset. Tabsets with the keepWhenEmpty flag can only be moved, not merged. Tabsets can't be dragged when they have the new disableDrag flag or contain a tab that does. - #785
    • The new moveTabset imperative method, renderTabsetDragPreview prop, and isDragDisabled value (returned by useParentTabsetState) support tabset dragging. A tabset being dragged has a data-tabset-dragging attribute, and the drag preview has a data-drag-type attribute ("tab" or "tabset").
    • disableDrop is called for each tab in a dragged tabset, with the target each tab would be dropped at, so existing restrictions apply to tabset drags too. The new tabset argument is set while a whole tabset is dragged.
  • Add collapsible tabsets to Workspace. A tabset with the new collapsible flag can be collapsed to just its header (e.g. a bottom panel, or a sidebar that collapses to a vertical strip of tabs), by dragging a separator past its minimum size (like a collapsible Panel) or with the new collapseTabset and expandTabset methods; clicking a tab in a collapsed tabset expands it. Whether a tabset is collapsed is saved in the model (collapsed), and its size is the size it expands to. - #787
    • useParentTabset returns collapse, expand, and isCollapsed functions, and useParentTabsetState returns isCollapsed and isCollapsible values (e.g. for a collapse button in a tabset's toolbar). Elements within a collapsed tabset have a data-tabset-collapsed attribute.
    • onModelChanged reports the new "collapse" and "expand" reasons.
  • Add the Workspace tabRemovalSelectionBehavior prop, which chooses the tab that's selected when the selected tab is closed (or dragged to another tabset): the tab after it ("adjacent", the default), or the tabset's most recently selected tab ("recent", like an IDE's editor groups). In "recent" mode, each tabset's recently selected tabs are saved in the model (TabsetNode.recentTabIds). - #786

[!WARNING] The tab argument passed to disableDrop may now be undefined, when a tabset without tabs (one with the keepWhenEmpty flag) is dragged. Functions that read tab (e.g. tab.data) should check for this first.

4.16.1

  • Add a split entry to the Workspace classNames and styles props, for each split's Group (which now also has data-split and data-split-id attributes). Its CSS gap adds space between tabsets, and counts toward their minimum sizes like separators do. - #783
  • Fix dragging a Workspace separator ending after moving a few pixels (most often when resizing tabsets stacked vertically, or tabsets with tabs on the left or right). The size of each tabset's header, which counts toward its minimum size, could change by a pixel as the tabset was resized, because it was measured as the difference of two rounded sizes; that re-registered the tabset's panel, which interrupted the drag. It is now measured from exact sizes. - #782
  • Fix Workspace tabsets and splits rendering their model node ids as element ids, which could match other elements on the page (e.g. a tabset with the id "root" matched an application's <div id="root">, and its styles) or the elements of another workspace with the same model. Their elements' ids are now unique within the page. - #784
  • Fix pressing a tab at the edge of a tabset, in a Workspace without separators, both resizing the tabset and dragging the tab. Resizing takes priority, as it does for other elements at the edges of panels. - #784

4.16.0

  • Add Workspace component, for layouts of tabsets that users can rearrange by dragging tabs: between tabsets, within a tabset's list of tabs, or onto the edge of a tabset to split it. Tabsets can also be resized and maximized. The layout is described by a serializable model, and tab content is not remounted when a tab is moved. - #780
    • Tabsets can be customized with the renderTab, renderTabsetToolbar, and renderEmptyTabset props (and the TabCloseButton component), and styled with the classNames and styles props.
    • Workspaces are uncontrolled (like Group); the useWorkspaceRef and useWorkspaceCallbackRef hooks return its imperative API.
    • Content within a workspace can use the useParentWorkspace, useParentTabset, useParentTabsetState, useParentTab, and useParentTabState hooks.
    • The content of tabs that aren't selected can stay mounted (default), be unmounted, or be rendered within a hidden React <Activity> (hiddenTabBehavior), and selected tabs' content can opt into server rendering (serverRenderTabContent).
    • Supports mouse, touch, and keyboard interaction.
  • Fix separators (and grid gridlines) moving farther or less far than the pointer when an ancestor has CSS zoom or a scale transform (e.g. twice as far within zoom: 2). Pointer movements are now converted from screen pixels to layout pixels before resizing. - #780
  • Fix separators staying in their "hover" state when the pointer moves onto an iframe within a Group rendered into another window (e.g. a popup). The iframe check no longer uses instanceof HTMLIFrameElement, which is false for iframes from another window. - #778
  • Fix the separator resize preview (resizePreviewMode="separator") missing the separator's styles when its element was created by another window's document (e.g. by a popup's opener). - #781

4.15.3

  • Fix unused components not being removed by some bundlers (e.g. esbuild), so an application that only imports Group no longer includes Grid. Components now set their displayName within a pure-annotated expression, and package.json declares "sideEffects": false. - #779

4.15.2

  • Fix vh, vw, and em panel sizes (e.g. defaultSize="25vw") being resolved against the global window instead of the panel's own window, so a Group rendered into another window (e.g. a window.open popout via a portal, or an iframe) was sized against the opener's viewport. - #777

4.15.1

  • Declare @types/react as an optional peer dependency. Under strict package linkers (e.g. pnpm with a global virtual store, Yarn PnP, or Bun isolated installs), TypeScript could fail to resolve it from this package, silently typing props built on React types as any. - #776

4.15.0

... (truncated)

Changelog

Sourced from react-resizable-panels's changelog.

4.18.1

  • Fix the free space in a Workspace tab list not going down once the tab list is squeezed to 0px.
  • Fix Workspace interactions in right-to-left layouts (dragging tabs within tab lists, arrow keys, and the left and right drop regions). - #791

4.18.0

  • Add normalizeWorkspaceModel, which checks and tidies a saved model (returning null if it isn't valid); its mapTab option updates saved tabs.
  • Add the free space in each Workspace tab list (e.g. for an overflow menu): the useTabListFreeSpace hook, the getTabListFreeSpace and subscribeToTabListFreeSpace methods, and the --tab-list-free-space custom property.
  • Add maxWidth and maxHeight to Workspace tabsets.
  • Fix Workspace tabsets that don't fit their minimum sizes being shown collapsed with their content still rendered. They're now collapsed to fit (see useParentTabsetState().isCollapsedToFit) without changing the model.
  • The default tabset drag preview shows how many other tabs are being dragged (e.g. "One (+2)"). - #789

4.17.0

  • Add dragging whole tabsets within a Workspace, by the empty space in their headers or by a TabsetDragHandle. Also adds the moveTabset method, the renderTabsetDragPreview prop, and a disableDrag flag for tabsets. - #785
  • Add collapsible Workspace tabsets (the collapsible flag), collapsed by dragging a separator or with the collapseTabset and expandTabset methods. - #787
  • Add the Workspace tabRemovalSelectionBehavior prop, which selects the adjacent tab (default) or the most recently selected one ("recent") when the selected tab is removed. - #786

[!WARNING] The tab argument passed to disableDrop may now be undefined (when an empty tabset with the keepWhenEmpty flag is dragged).

4.16.1

  • Add a split entry to the Workspace classNames and styles props; its CSS gap adds space between tabsets. - #783
  • Fix dragging a Workspace separator ending after a few pixels. - #782
  • Fix Workspace tabset and split element ids colliding with other elements on the page. - #784
  • Fix pressing a tab at the edge of a tabset (in a Workspace without separators) both resizing the tabset and dragging the tab. - #784

4.16.0

  • Add Workspace component, for layouts of tabsets that users can rearrange by dragging tabs. The layout is described by a serializable model, and tab content isn't remounted when a tab is moved. - #780
  • Fix separators moving farther (or less far) than the pointer within CSS zoom or scale transforms. - #780
  • Fix separators staying in their "hover" state over iframes in popup windows. - #778
  • Fix the resizePreviewMode="separator" preview missing the separator's styles in popup windows. - #781

4.15.3

  • Fix unused components not being removed by some bundlers (e.g. esbuild), so an application that only imports Group no longer includes Grid. Components now set their displayName within a pure-annotated expression, and package.json declares "sideEffects": false. - #779

4.15.2

  • Fix vh, vw, and em panel sizes (e.g. defaultSize="25vw") being resolved against the global window instead of the panel's own window, so a Group rendered into another window (e.g. a window.open popout via a portal, or an iframe) was sized against the opener's viewport. - #777

4.15.1

  • Declare @types/react as an optional peer dependency. Under strict package linkers (e.g. pnpm with a global virtual store, Yarn PnP, or Bun isolated installs), TypeScript could fail to resolve it from this package, silently typing props built on React types as any. - #776

4.15.0

... (truncated)

Commits

Updates react-router-dom from 7.18.4 to 7.18.5

Changelog

Sourced from react-router-dom's changelog.

v7.18.5

Patch Changes

Commits

Updates @playwright/test from 1.63.0 to 1.65.0

Release notes

Sourced from @​playwright/test's releases.

v1.65.0

🥟 Run tests with Bun

The test runner now runs under Bun. Bun transpiles your TypeScript test files itself, so Playwright does not use Babel or its compilation cache. Pass the --bun flag, because without it bunx playwright test runs on Node.js:

bunx --bun playwright test

Our CI runs the test runner tests under Bun 1.4.3 on Linux. Some features work differently under Bun:

  • There is no watch mode. UI mode does not run tests again when files change, and --only-changed does not follow imports.
  • Bun loads modules itself, so --tsconfig and the JSX options in tsconfig.json have no effect, and custom ESM loaders are not supported.
  • Stack traces do not include async frames, and API names do not include the class name: click instead of locator.click. This changes some step locations, step titles and error messages.
  • Console output of a test does not get into the trace and UI mode.

🚨 Reports with only failures

New failures reporter prints failures and successful retries as they occur, followed by a summary, without progress output.

New onlyFailures option of the HTML, JSON and JUnit reporters keeps only tests with unexpected outcomes, flaky tests and interrupted tests:

// playwright.config.ts
import { defineConfig } from '@playwright/test';
export default defineConfig({
reporter: [
['failures'],
['html', { onlyFailures: true }],
],
});

🎯 Test runner

  • New built-in -exclusive- test lock runs a test only when no other tests are running. All other tests continue to run in parallel with each other:

    test('restart the server', { lock: '-exclusive-' }, async () => {
      // No other test runs while this one is running.
    });
  • test.skip(), test.fixme(), test.fail() and test.slow() now accept only a description. It is recorded in the test annotation:

    test('upload a file', async ({ page }) => {
      test.skip('Not implemented yet');
    });

... (truncated)

Commits
  • a1f35e1 chore: mark v1.65.0 (#43925)
  • a99c1ab cherry-pick(#43918): Revert "fix(docker): use latest stable Chrome for Testin...
  • 6f9a7f5 cherry-pick(#43914): docs(release-notes): update Chromium version for 1.65
  • daf93bb cherry-pick(#43912): feat(chromium): roll to r1254
  • 6545e89 cherry-pick(#43902): chore(deps): bump runtime deps
  • 0347448 fix(test runner): track shared ESM dependencies for only-changed (#43837)
  • 86e6924 fix(clock): cancel real-time timer when replay ends paused (#43873)
  • d745ae0 fix(route): wait for all active handlers before disabling interception (#43889)
  • 6e3f5ff docs: release notes for v1.65 (#43874)
  • aa33d27 fix(chromium): honor Linux config directories for channel connections (#43884)
  • Additional commits viewable in compare view

Updates @tailwindcss/vite from 4.3.3 to 4.3.4

Release notes

Sourced from @​tailwindcss/vite's releases.

v4.3.4

Added

  • Add @tailwindcss/turbopack, a Turbopack loader for using Tailwind CSS with Next.js (#20367)

Fixed

  • Ensure watch mode detects changes to symlinked @source files whose real paths aren't otherwise scanned (#20356)
  • Ensure variants using @scope wrap generated utilities instead of nesting inside them (#20369)
  • Ensure nested @scope rules preserve their scoping semantics when flattened (#20369)
  • Preserve declarations directly inside @scope by wrapping them in :where(:scope) (#20369)
  • Ensure generated utilities include a space in empty var() fallbacks (e.g. var(--tw-blur,) → var(--tw-blur, )) (#20373)
  • Canonicalization: convert arbitrary breakpoint and container query variants to named equivalents (e.g. max-[64rem]:flex → max-lg:flex) (#20380)
  • Prevent @tailwindcss/vite from crashing on every edit under Vite's experimental bundledDev mode (#20379)
  • Ensure @tailwindcss/oxide falls back to WASM on platforms without native bindings (#20383)
  • Extract class candidates from Ruby %w and %W literals using angle brackets or custom delimiters (e.g. %w<flex>, %w|flex|), including in Slim and Haml templates (#20387)
  • Preserve whitespace in --default(…) values in functional @utility definitions (e.g. --default(box alphabetic) no longer becomes boxalphabetic) (#20392)
  • Ensure automatic source detection respects negation-based .gitignore files (e.g. /* followed by !/… patterns) (#20397)
  • Ensure root theme('…') namespace lookups in JavaScript plugins and config files return the full namespace object instead of the value of its DEFAULT key (#20399)
  • Skip ignored directories when generating watch globs instead of walking their contents on every rebuild (#20408)
  • Drop invalid UTF-8 candidates during class detection (#20389)
  • Prevent @tailwindcss/vite from forcing full-page reloads for scanned files that Vite does not handle as modules (e.g. .php files) (#20414)
  • Canonicalization: don't merge utilities that reference different theme variables set to CSS-wide keywords like unset (#20417)
  • Don't generate utilities when a modifier is used that would otherwise be silently ignored (e.g. rounded-sm/[5], shadow-sm/foo, stroke-2/50) (#20419)
  • Preserve and, or, and not inside selectors in supports-[…] variants (e.g. supports-[selector(a:not(.foo))]:flex) (#20420)
  • Don't warn about Angular's ::ng-deep and :host-context() when optimizing CSS (#20434)
  • Don't generate CSS for candidates containing an empty additional modifier (e.g. bg-red-500/50/ and group-hover/foo//bar:flex) (#20466)
  • Ensure min-*, max-*, and container query variants with decimal values are sorted numerically (e.g. min-[40.25rem] before min-[40.5rem]) (#20512)
  • Ensure CSS comments ending with \*/ are closed correctly instead of swallowing the CSS that follows (e.g. /* C:\temp\*/) (#20508)
  • Improve style invalidation performance of group-* and peer-* variants (#20513)
  • Ensure cached compilers release their loadModule and loadStylesheet callbacks after compilation (#20531)
  • Canonicalization: preserve & when moving a pseudo-element into * or ** (e.g. [&_::before]:flex → **:[&::before]:flex) (#20550)
  • Ensure the Set.prototype.intersection polyfill in canonicalizeCandidates(…) returns the intersection instead of the first set on Node.js < 22 (#20562)
  • Canonicalization: ensure inline theme(…) alphas with more than 2 decimals migrate to a percentage modifier with the same opacity (e.g. theme(colors.red.500/.12345) → text-red-500/[12.345%], not text-red-500/[12.345]) (#20563)
  • Canonicalization: preserve inline theme(…) alphas as an arbitrary percentage when a custom --opacity-* theme value would change the opacity (e.g. theme(colors.red.500/50%) → text-red-500/[50%] with --opacity-50: 10%) (#20563)
  • Ensure the @property fallback isn't applied in Safari versions that no longer support margin-trim: inline (#20569)
  • Treat viewport units like dvmin and svi and font-relative units like cap and rex as lengths in arbitrary values (e.g. text-[10dvmin] generates font-size instead of color) (#20516)
  • Write plugin logs to stderr in tailwindcss canonicalize so they don't end up in the results on stdout (#20561)
  • Extract class shorthands on later lines when Pug text, comments, or quoted attribute values contain unbalanced brackets, or a quote that doesn't start a string (e.g. input(pattern=/"/.source)) (#20547, #20572)
  • Underline the correct occurrence of an unsupported data type in --value(…) warnings (#20554)
  • Canonicalization: prefer an existing candidate when collapsing utilities over another utility with the same default theme value (e.g. text-foreground text-primary → text-primary, not text-card-checked-border) (#20540)
  • Canonicalization: don't collapse utilities into a utility that uses another theme variable with the same default value (e.g. mt-card mb-card → my-card, not my-4) (#20574)
  • Ensure @tailwindcss/postcss rewrites relative url(…)s of stylesheets that are inlined before it runs (e.g. @imports in Vite) in optimized builds (#20576)
  • Drop nested rules that put a combinator after a pseudo-element when using pseudo-element variants (e.g. selection:* on a utility with a nested & > * rule) (#20575)
  • Don't generate CSS for arbitrary values with unbalanced parentheses or brackets (e.g. w-[calc(1px] or [--x:a[b]) (#20577)
  • Canonicalization: prevent collapse: true from taking exponentially longer when classes are linked through a utility that sets many properties (e.g. sr-only) (#20558)
  • Ensure & is substituted inside :-moz-any(…) and :-webkit-any(…) in custom variants (e.g. @custom-variant firefox (:-moz-any(&));) (#20486)
  • Ensure the standalone macOS binaries have a valid code signature, so macOS 27 no longer kills them at launch (#20578)
  • Ensure @tailwindcss/turbopack and @tailwindcss/webpack rebuild when the input CSS changes (e.g. next dev with Turbopack no longer serves the CSS of the previous edit) (#20582)
  • Canonicalization: don't drop a utility that sets a --tw-* variable when an unrelated property has the same value (e.g. link mt-4 no longer becomes mt-4 when link sets margin-top: 16px and --tw-translate-x: 16px) (#20593)

... (truncated)

Changelog

Sourced from @​tailwindcss/vite's changelog.

[4.3.4] - 2026-11-02

Added

  • Add @tailwindcss/turbopack, a Turbopack loader for using Tailwind CSS with Next.js (#20367)

Fixed

  • Ensure watch mode detects changes to symlinked @source files whose real paths aren't otherwise scanned (#20356)
  • Ensure variants using @scope wrap generated utilities instead of nesting inside them (#20369)
  • Ensure nested @scope rules preserve their scoping semantics when flattened (#20369)
  • Preserve declarations directly inside @scope by wrapping them in :where(:scope) (#20369)
  • Ensure generated utilities include a space in empty var() fallbacks (e.g. var(--tw-blur,) → var(--tw-blur, )) (#20373)
  • Canonicalization: convert arbitrary breakpoint and container query variants to named equivalents (e.g. max-[64rem]:flex → max-lg:flex) (#20380)
  • Prevent @tailwindcss/vite from crashing on every edit under Vite's experimental bundledDev mode (#20379)
  • Ensure @tailwindcss/oxide falls back to WASM on platforms without native bindings (#20383)
  • Extract class candidates from Ruby %w and %W literals using angle brackets or custom delimiters (e.g. %w<flex>, %w|flex|), including in Slim and Haml templates (#20387)
  • Preserve whitespace in --default(…) values in functional @utility definitions (e.g. --default(box alphabetic) no longer becomes boxalphabetic) (#20392)
  • Ensure automatic source detection respects negation-based .gitignore files (e.g. /* followed by !/… patterns) (#20397)
  • Ensure root theme('…') namespace lookups in JavaScript plugins and config files return the full namespace object instead of the value of its DEFAULT key (#20399)
  • Skip ignored directories when generating watch globs instead of walking their contents on every rebuild (#20408)
  • Drop invalid UTF-8 candidates during class detection (#20389)
  • Prevent @tailwindcss/vite from forcing full-page reloads for scanned files that Vite does not handle as modules (e.g. .php files) (#20414)
  • Canonicalization: don't merge utilities that reference different theme variables set to CSS-wide keywords like unset (#20417)
  • Don't generate utilities when a modifier is used that would otherwise be silently ignored (e.g. rounded-sm/[5], shadow-sm/foo, stroke-2/50) (#20419)
  • Preserve and, or, and not inside selectors in supports-[…] variants (e.g. supports-[selector(a:not(.foo))]:flex) (#20420)
  • Don't warn about Angular's ::ng-deep and :host-context() when optimizing CSS (#20434)
  • Don't generate CSS for candidates containing an empty additional modifier (e.g. bg-red-500/50/ and group-hover/foo//bar:flex) (#20466)
  • Ensure min-*, max-*, and container query variants with decimal values are sorted numerically (e.g. min-[40.25rem] before min-[40.5rem]) (#20512)
  • Ensure CSS comments ending with \*/ are closed correctly instead of swallowing the CSS that follows (e.g. /* C:\temp\*/) (#20508)
  • Improve style invalidation performance of group-* and peer-* variants (#20513)
  • Ensure cached compilers release their loadModule and loadStylesheet callbacks after compilation (#20531)
  • Canonicalization: preserve & when moving a pseudo-element into * or ** (e.g. [&_::before]:flex → **:[&::before]:flex) (#20550)
  • Ensure the Set.prototype.intersection polyfill in canonicalizeCandidates(…) returns the intersection instead of the first set on Node.js < 22 (#20562)
  • Canonicalization: ensure inline theme(…) alphas with more than 2 decimals migrate to a percentage modifier with the same opacity (e.g. theme(colors.red.500/.12345) → text-red-500/[12.345%], not text-red-500/[12.345]) (#20563)
  • Canonicalization: preserve inline theme(…) alphas as an arbitrary percentage when a custom --opacity-* theme value would change the opacity (e.g. theme(colors.red.500/50%) → text-red-500/[50%] with --opacity-50: 10%) (#20563)
  • Ensure the @property fallback isn't applied in Safari versions that no longer support margin-trim: inline (#20569)
  • Treat viewport units like dvmin and svi and font-relative units like cap and rex as lengths in arbitrary values (e.g. text-[10dvmin] generates font-size instead of color) (#20516)
  • Write plugin logs to stderr in tailwindcss canonicalize so they don't end up in the results on stdout (#20561)
  • Extract class shorthands on later lines when Pug text, comments, or quoted attribute values contain unbalanced brackets, or a quote that doesn't start a string (e.g. input(pattern=/"/.source)) (#20547, #20572)
  • Underline the correct occurrence of an unsupported data type in --value(…) warnings (#20554)
  • Canonicalization: prefer an existing candidate when collapsing utilities over another utility with the same default theme value (e.g. text-foreground text-primary → text-primary, not text-card-checked-border) (#20540)
  • Canonicali...

    Description has been truncated

…6 updates

Bumps the minor-and-patch group with 16 updates in the /frontend directory:

| Package | From | To |
| --- | --- | --- |
| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.104.1` | `5.106.1` |
| [react](https://github.com/react/react/tree/HEAD/packages/react) | `19.3.0` | `19.3.1` |
| [react-dom](https://github.com/react/react/tree/HEAD/packages/react-dom) | `19.3.0` | `19.3.1` |
| [react-resizable-panels](https://github.com/bvaughn/react-resizable-panels) | `4.14.2` | `4.18.1` |
| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `7.18.4` | `7.18.5` |
| [@playwright/test](https://github.com/microsoft/playwright) | `1.63.0` | `1.65.0` |
| [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) | `4.3.3` | `4.3.4` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.19.1` | `24.19.2` |
| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.1.2` | `6.2.1` |
| [eslint](https://github.com/eslint/eslint) | `10.12.0` | `10.14.0` |
| [globals](https://github.com/sindresorhus/globals) | `17.13.0` | `17.14.0` |
| [prettier](https://github.com/prettier/prettier) | `3.9.9` | `3.9.10` |
| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.3.3` | `4.3.4` |
| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.71.1` | `8.72.1` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.3.3` | `8.3.6` |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `5.0.3` | `5.1.0` |



Updates `@tanstack/react-query` from 5.104.1 to 5.106.1
- [Release notes](https://github.com/TanStack/query/releases)
- [Changelog](https://github.com/TanStack/query/blob/main/packages/react-query/CHANGELOG.md)
- [Commits](https://github.com/TanStack/query/commits/@tanstack/react-query@5.106.1/packages/react-query)

Updates `react` from 19.3.0 to 19.3.1
- [Release notes](https://github.com/react/react/releases)
- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/react/react/commits/v19.3.1/packages/react)

Updates `react-dom` from 19.3.0 to 19.3.1
- [Release notes](https://github.com/react/react/releases)
- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/react/react/commits/v19.3.1/packages/react-dom)

Updates `react-resizable-panels` from 4.14.2 to 4.18.1
- [Release notes](https://github.com/bvaughn/react-resizable-panels/releases)
- [Changelog](https://github.com/bvaughn/react-resizable-panels/blob/main/CHANGELOG.md)
- [Commits](bvaughn/react-resizable-panels@4.14.2...4.18.1)

Updates `react-router-dom` from 7.18.4 to 7.18.5
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/react-router-dom@7.18.5/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@7.18.5/packages/react-router-dom)

Updates `@playwright/test` from 1.63.0 to 1.65.0
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](microsoft/playwright@v1.63.0...v1.65.0)

Updates `@tailwindcss/vite` from 4.3.3 to 4.3.4
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.4/packages/@tailwindcss-vite)

Updates `@types/node` from 24.19.1 to 24.19.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `@vitejs/plugin-react` from 6.1.2 to 6.2.1
- [Release notes](https://github.com/vitejs/vite-plugin-react/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-react/commits/plugin-react@6.2.1/packages/plugin-react)

Updates `eslint` from 10.12.0 to 10.14.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](eslint/eslint@v10.12.0...v10.14.0)

Updates `globals` from 17.13.0 to 17.14.0
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](sindresorhus/globals@v17.13.0...v17.14.0)

Updates `prettier` from 3.9.9 to 3.9.10
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](prettier/prettier@3.9.9...3.9.10)

Updates `tailwindcss` from 4.3.3 to 4.3.4
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.4/packages/tailwindcss)

Updates `typescript-eslint` from 8.71.1 to 8.72.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.72.1/packages/typescript-eslint)

Updates `vite` from 8.3.3 to 8.3.6
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v8.3.6/packages/vite)

Updates `vitest` from 5.0.3 to 5.1.0
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md)
- [Commits](https://github.com/vitest-dev/vitest/commits/v5.1.0/packages/vitest)

---
updated-dependencies:
- dependency-name: "@tanstack/react-query"
  dependency-version: 5.106.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: react
  dependency-version: 19.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: react-dom
  dependency-version: 19.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: react-resizable-panels
  dependency-version: 4.18.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: react-router-dom
  dependency-version: 7.18.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: "@playwright/test"
  dependency-version: 1.65.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: "@tailwindcss/vite"
  dependency-version: 4.3.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: "@types/node"
  dependency-version: 24.19.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: "@vitejs/plugin-react"
  dependency-version: 6.2.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: eslint
  dependency-version: 10.14.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: globals
  dependency-version: 17.14.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: prettier
  dependency-version: 3.9.10
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: tailwindcss
  dependency-version: 4.3.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: typescript-eslint
  dependency-version: 8.72.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: vite
  dependency-version: 8.3.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: vitest
  dependency-version: 5.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Nov 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants