Skip to content

chore(deps): bump the frontend-dependencies group across 1 directory with 14 updates - #159

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/frontend/frontend-dependencies-cb4c4de1ed
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/frontend/frontend-dependencies-cb4c4de1ed

Conversation

@dependabot

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

Copy link
Copy Markdown
Contributor

Bumps the frontend-dependencies group with 14 updates in the /frontend directory:

Package From To
@tanstack/react-query 5.104.5 5.107.1
lucide-react 1.61.0 1.70.0
maplibre-gl 6.15.0 6.16.0
react-resizable-panels 4.14.8 4.19.1
react-router-dom 7.18.4 7.18.5
shadcn 4.22.1 4.23.0
@playwright/test 1.64.1 1.65.0
@tailwindcss/vite 4.3.3 4.3.5
@types/node 26.6.5 26.6.6
@vitejs/plugin-react 6.1.2 6.2.1
monocart-coverage-reports 3.0.0 3.2.0
oxlint 1.89.0 1.92.0
tailwindcss 4.3.3 4.3.5
vite 8.3.5 8.3.6

Updates @tanstack/react-query from 5.104.5 to 5.107.1

Release notes

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

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

Patch Changes

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

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

Patch Changes

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

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

Patch Changes

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

@​tanstack/react-query@​5.107.1

Patch Changes

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

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

Patch Changes

  • Updated dependencies [a4d72f7]:
    • @​tanstack/query-devtools@​5.107.0
    • @​tanstack/react-query@​5.107.0

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

Patch Changes

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

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

Patch Changes

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

@​tanstack/react-query@​5.107.0

Patch Changes

... (truncated)

Changelog

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

5.107.1

Patch Changes

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

5.107.0

Patch Changes

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

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'

... (truncated)

Commits

Updates lucide-react from 1.61.0 to 1.70.0

Release notes

Sourced from lucide-react's releases.

Version 1.70.0

What's Changed

New Contributors

Full Changelog: lucide-icons/lucide@1.69.0...1.70.0

Version 1.69.0

What's Changed

New Contributors

Full Changelog: lucide-icons/lucide@1.68.0...1.69.0

Version 1.68.0

What's Changed

New Contributors

Full Changelog: lucide-icons/lucide@1.67.0...1.68.0

Version 1.67.0

What's Changed

... (truncated)

Commits
  • b196797 Update deps (#5146)
  • 588113e test(build-icons): cover Windows file URL imports (#4862)
  • 14cab02 feat(site): Add sponsor page (#5132)
  • 1668a0c chore(deps): bump rollup to 4.65.1 and keep typescript on v6 (#5110)
  • e8f86fc fix(lucide-react): ignore stale DynamicIcon loads after the name changes (#5060)
  • 6657faa chore(deps-dev): bump vite from 8.3.2 to 8.3.3 (#5052)
  • 1802f33 feat(lucide-react): add package exports for per-icon imports without changing...
  • 20aef31 chore(packages): Update sponsors (#5034)
  • See full diff in compare view

Updates maplibre-gl from 6.15.0 to 6.16.0

Release notes

Sourced from maplibre-gl's releases.

v6.16.0

✨ Features and improvements

  • Allow Map#setMaxBounds to constrain one geographic axis without constraining the other (#6148) (by @​erenbati)
  • Allow calling new Map({ transformStyle: { ... }}) to provide a style transformation function similar to the same option in setStyle (#8786) (by @​hiddewie)
  • Add accept headers for MLT according to the current capabilities (#7483) (by @​CommanderStorm)

🐞 Bug fixes

  • Fix expired vector tiles erroring on their next reload, e.g. after setFilter(), when the server returns an unchanged ETag (#8771) (by @​DoFabien)
  • Fix GeoJSONSource.getBounds throwing when a feature has a null geometry (#8814) (by @​auraseb)
  • Fix characters covered by font-faces switching to glyphs from the glyphs URL once their PBF range is downloaded (#8490) (by @​NEKOYASAN)
  • Fix the map shrinking to a single stretched pixel for good when it resizes after the WebGL context is lost but before webglcontextlost fires, e.g. when a mobile browser returns from the background (#8837) (by @​lazerg)
  • Fix TypeError: Cannot read properties of undefined (reading '0') when drawing a line layer with a constant line-dasharray whose dash positions were never set (#8846) (by @​yulman2207)
  • Fix GeoJSONSource.updateData applying a queued update to a feature that a later call adds again (#8804) (by @​architpai)
  • Fix images added with addImage, e.g. from styleimagemissing, not showing in tiles that were reloaded after the map was panned across 180° (#8858) (by @​birkskyum)
  • Fix maps that stop loading after iOS shuts down their background workers to save memory (#8461, #8491) (by @​lucaswoj, @​ingalls, and @​HarelM)
  • Fix vector tiles past the source's maxzoom failing to load when slicing leaves a one-point line (#8681) (by @​johncarmack1984)
  • Fix terrain drawing flat at low zoom, where its tiles are at the DEM source's minzoom (#8772) (by @​johncarmack1984)
  • Fix queryRenderedFeatures missing part of a GeoJSON polygon whose ring does not repeat its first point (#8874) (by @​johncarmack1984)
Changelog

Sourced from maplibre-gl's changelog.

6.16.0

✨ Features and improvements

  • Allow Map#setMaxBounds to constrain one geographic axis without constraining the other (#6148) (by @​erenbati)
  • Allow calling new Map({ transformStyle: { ... }}) to provide a style transformation function similar to the same option in setStyle (#8786) (by @​hiddewie)
  • Add accept headers for MLT according to the current capabilities (#7483) (by @​CommanderStorm)

🐞 Bug fixes

  • Fix expired vector tiles erroring on their next reload, e.g. after setFilter(), when the server returns an unchanged ETag (#8771) (by @​DoFabien)
  • Fix GeoJSONSource.getBounds throwing when a feature has a null geometry (#8814) (by @​auraseb)
  • Fix characters covered by font-faces switching to glyphs from the glyphs URL once their PBF range is downloaded (#8490) (by @​NEKOYASAN)
  • Fix the map shrinking to a single stretched pixel for good when it resizes after the WebGL context is lost but before webglcontextlost fires, e.g. when a mobile browser returns from the background (#8837) (by @​lazerg)
  • Fix TypeError: Cannot read properties of undefined (reading '0') when drawing a line layer with a constant line-dasharray whose dash positions were never set (#8846) (by @​yulman2207)
  • Fix GeoJSONSource.updateData applying a queued update to a feature that a later call adds again (#8804) (by @​architpai)
  • Fix images added with addImage, e.g. from styleimagemissing, not showing in tiles that were reloaded after the map was panned across 180° (#8858) (by @​birkskyum)
  • Fix maps that stop loading after iOS shuts down their background workers to save memory (#8461, #8491) (by @​lucaswoj, @​ingalls, and @​HarelM)
  • Fix vector tiles past the source's maxzoom failing to load when slicing leaves a one-point line (#8681) (by @​johncarmack1984)
  • Fix terrain drawing flat at low zoom, where its tiles are at the DEM source's minzoom (#8772) (by @​johncarmack1984)
  • Fix queryRenderedFeatures missing part of a GeoJSON polygon whose ring does not repeat its first point (#8874) (by @​johncarmack1984)
Commits
  • 538a768 Bump js version to 6.16.0 (#8880)
  • 2c7bcbd chore(deps-dev): bump fast-uri (#8878)
  • 9337499 chore(deps): bump fast-uri from 3.1.7 to 3.1.9 (#8877)
  • 23d35d9 fix: queryRenderedFeatures missing part of a GeoJSON polygon whose ring doe...
  • 33a2370 fix: keep terrain relief at low zoom, where its tiles are at the DEM source's...
  • 23e0937 fix: images added with addImage missing from tiles reloaded after panning a...
  • 393b6e9 CSC-1.8 Read the camera state directly in the projection classes (#8870)
  • fc72711 fix: keep two points when clipping a line that ends on the slice's edge (#8869)
  • da14df8 CSC-1.7 Pass the tile zoom to the terrain elevation lookups instead of the tr...
  • 3ea36bb CSC-1.6 Split the camera calculations from the writes in the projection class...
  • Additional commits viewable in compare view

Updates react-resizable-panels from 4.14.8 to 4.19.1

Release notes

Sourced from react-resizable-panels's releases.

4.19.1

  • Improve resizing and dragging performance, e.g. Panels without an onResize prop are no longer observed, and dragging a Workspace tab only re-renders what changes.
  • Remove development-only warnings from production builds.
  • With a dragGroup, disableDrop is now called when the drop target changes, rather than on every dragover event.

4.19.0

  • Add the onTearOff prop to Workspace, which is called when a tab (or a whole tabset) is dropped outside of the window, e.g. to open it in a popup window. It's passed the tab (or tabset), a model containing just that tab (in a new tabset) or tabset, where the pointer was released (in screen coordinates), and the size of the tabset it was dragged from. Returning true removes the tab (or tabset) from the workspace, reported to onModelChanged with the new "tear-off" reason. Tabsets with the keepWhenEmpty flag can't be torn off. The renderDragPreview and renderTabsetDragPreview props are passed an isTearOff flag (and the preview has a data-tear-off attribute) while releasing the pointer would tear off the tab. See the new "Multiple windows" guides. - #794
  • Add the dragGroup prop to Workspace, which lets tabs (and tabsets) be dragged between workspaces with the same group, including workspaces in other windows (e.g. popup windows opened by the application and rendered into with a portal). A tab dropped into another workspace keeps its id and data, and both workspaces report the change to onModelChanged with the new "transfer" reason. Tab ids must be unique within the group (a tab can't be dropped into a workspace that has a tab with its id), and tabsets with the keepWhenEmpty flag stay in their own workspaces. A workspace's only tabset can be dragged when this prop is set (e.g. from a popout window back into the main window). Mouse drags use the browser's drag and drop when this prop is set (touch drags still use pointer events). Tabs can still be torn off, though some browsers (e.g. Safari) block popup windows opened at the end of these drags. - #794
    • Workspaces with the same dragGroup in other copies of the application from the same origin (e.g. the application loaded in another browser window or tab) are part of the group too, so tabs can be dragged between them. A tab dropped into another copy of the application is sent there with the structured clone algorithm, so its data must be cloneable; tabs whose data can't be cloned can only be dragged within their copy. The new disableDragBetweenApps prop keeps a workspace's drags within its copy of the application.
    • disableDrop is passed a new source argument: "local" for tabs dragged within the workspace, and "external" for tabs dragged from another workspace in the group (including workspaces in other copies of the application).
  • Fix the Workspace drop indicator for an empty workspace (e.g. a popout window whose tabs were all dragged out). A tab or tabset dropped onto it now fills its tabset, keeping that tabset's id and data, instead of showing a half-size edge indicator. - #796
  • The Workspace drop indicator can now be animated between tabsets, not just between the regions of one tabset. It's the same element for the whole drag (positioned within the workspace's root element, rather than rendered within each tabset's panels), so a transition like transition: inset 250ms slides it from one tabset to the next. While a dragged tab isn't over any tabset's panels (e.g. between tabsets, or over a tab list), it stays where it was with no data-region attribute and opacity: 0, so it can also be faded (e.g. transition: inset 250ms, opacity 150ms). - #793

[!WARNING] The drop indicator (data-drop-indicator) is no longer a child of a tabset's panels (data-tab-panels); selectors like [data-tab-panels] > [data-drop-indicator] should be changed to [data-drop-indicator].

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.

... (truncated)

Changelog

Sourced from react-resizable-panels's changelog.

4.19.1

  • Improve resizing and dragging performance, e.g. Panels without an onResize prop are no longer observed, and dragging a Workspace tab only re-renders what changes.
  • Remove development-only warnings from production builds.
  • With a dragGroup, disableDrop is now called when the drop target changes, rather than on every dragover event.

[!WARNING] The library now reads process.env.NODE_ENV (like React does), so it must be loaded with a bundler (or a CDN like esm.sh) that defines it.

4.19.0

  • Add the Workspace onTearOff prop, called when a tab (or tabset) is dropped outside of the window (e.g. to open it in a popup). Returning true removes it, reported with the new "tear-off" reason. - #794
  • Add the Workspace dragGroup prop, which lets tabs be dragged between workspaces in the same group, including workspaces in popup windows and in other copies of the app (opt out with disableDragBetweenApps). Both workspaces report the new "transfer" reason, and disableDrop is passed a new source argument. - #794
  • Fix the drop indicator for an empty Workspace. - #796
  • The Workspace drop indicator is now a single element for the whole drag, so it can be animated between tabsets (e.g. transition: inset 250ms). - #793

[!WARNING] The drop indicator (data-drop-indicator) is no longer a child of a tabset's panels, so selectors like [data-tab-panels] > [data-drop-indicator] should be changed to [data-drop-indicator].

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

... (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 shadcn from 4.22.1 to 4.23.0

Release notes

Sourced from shadcn's releases.

shadcn@4.23.0

Minor Changes

  • #12296 15f59b4 Thanks @​mattzcarey! - Upgrade the MCP server to MCP TypeScript SDK v2 (@modelcontextprotocol/server). shadcn mcp now serves MCP protocol 2026-07-28 as well as earlier versions. The shadcn/mcp export is now an McpServer, and a new createServer() export returns a fresh instance per connection. Code that called server.setRequestHandler(...) on the old Server export should use server.registerTool(...) or server.server.setRequestHandler(...) instead.

shadcn@4.22.2

Patch Changes

Changelog

Sourced from shadcn's changelog.

4.23.0

Minor Changes

  • #12296 15f59b4 Thanks @​mattzcarey! - Upgrade the MCP server to MCP TypeScript SDK v2 (@modelcontextprotocol/server). shadcn mcp now serves MCP protocol 2026-07-28 as well as earlier versions. The shadcn/mcp export is now an McpServer, and a new createServer() export returns a fresh instance per connection. Code that called server.setRequestHandler(...) on the old Server export should use server.registerTool(...) or server.server.setRequestHandler(...) instead.

4.22.2

Patch Changes

Commits

Updates @playwright/test from 1.64.1 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-...

    Description has been truncated

…with 14 updates

Bumps the frontend-dependencies group with 14 updates in the /frontend directory:

| Package | From | To |
| --- | --- | --- |
| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.104.5` | `5.107.1` |
| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `1.61.0` | `1.70.0` |
| [maplibre-gl](https://github.com/maplibre/maplibre-gl-js) | `6.15.0` | `6.16.0` |
| [react-resizable-panels](https://github.com/bvaughn/react-resizable-panels) | `4.14.8` | `4.19.1` |
| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `7.18.4` | `7.18.5` |
| [shadcn](https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn) | `4.22.1` | `4.23.0` |
| [@playwright/test](https://github.com/microsoft/playwright) | `1.64.1` | `1.65.0` |
| [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) | `4.3.3` | `4.3.5` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.6.5` | `26.6.6` |
| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.1.2` | `6.2.1` |
| [monocart-coverage-reports](https://github.com/cenfun/monocart-coverage-reports) | `3.0.0` | `3.2.0` |
| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) | `1.89.0` | `1.92.0` |
| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.3.3` | `4.3.5` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.3.5` | `8.3.6` |



Updates `@tanstack/react-query` from 5.104.5 to 5.107.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.107.1/packages/react-query)

Updates `lucide-react` from 1.61.0 to 1.70.0
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/1.70.0/packages/lucide-react)

Updates `maplibre-gl` from 6.15.0 to 6.16.0
- [Release notes](https://github.com/maplibre/maplibre-gl-js/releases)
- [Changelog](https://github.com/maplibre/maplibre-gl-js/blob/main/CHANGELOG.md)
- [Commits](maplibre/maplibre-gl-js@v6.15.0...v6.16.0)

Updates `react-resizable-panels` from 4.14.8 to 4.19.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.8...4.19.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 `shadcn` from 4.22.1 to 4.23.0
- [Release notes](https://github.com/shadcn-ui/ui/releases)
- [Changelog](https://github.com/shadcn-ui/ui/blob/main/packages/shadcn/CHANGELOG.md)
- [Commits](https://github.com/shadcn-ui/ui/commits/shadcn@4.23.0/packages/shadcn)

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

Updates `@tailwindcss/vite` from 4.3.3 to 4.3.5
- [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.5/packages/@tailwindcss-vite)

Updates `@types/node` from 26.6.5 to 26.6.6
- [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 `monocart-coverage-reports` from 3.0.0 to 3.2.0
- [Release notes](https://github.com/cenfun/monocart-coverage-reports/releases)
- [Changelog](https://github.com/cenfun/monocart-coverage-reports/blob/main/CHANGELOG.md)
- [Commits](cenfun/monocart-coverage-reports@v3.0.0...v3.2.0)

Updates `oxlint` from 1.89.0 to 1.92.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.92.0/npm/oxlint)

Updates `tailwindcss` from 4.3.3 to 4.3.5
- [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.5/packages/tailwindcss)

Updates `vite` from 8.3.5 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)

---
updated-dependencies:
- dependency-name: "@tanstack/react-query"
  dependency-version: 5.107.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: lucide-react
  dependency-version: 1.70.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: maplibre-gl
  dependency-version: 6.16.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: react-resizable-panels
  dependency-version: 4.19.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: react-router-dom
  dependency-version: 7.18.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: frontend-dependencies
- dependency-name: shadcn
  dependency-version: 4.23.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: "@playwright/test"
  dependency-version: 1.65.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: "@tailwindcss/vite"
  dependency-version: 4.3.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: frontend-dependencies
- dependency-name: "@types/node"
  dependency-version: 26.6.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: frontend-dependencies
- dependency-name: "@vitejs/plugin-react"
  dependency-version: 6.2.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: monocart-coverage-reports
  dependency-version: 3.2.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: oxlint
  dependency-version: 1.92.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: tailwindcss
  dependency-version: 4.3.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: frontend-dependencies
- dependency-name: vite
  dependency-version: 8.3.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: frontend-dependencies
...

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 10, 2026

This branch has not been deployed

No deployments
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