Previously, a custom plugin was provided during dependency optimization to collect warnings when Node.js built-ins were imported and the nodejs_compat flag was not enabled.
Because optimized dependencies are cached, the warning was only displayed when dependencies changed.
Additionally, it sometimes included false positives from dependencies that were no longer used.
We now always externalize Node.js built-ins during dependency optimization and collect the warnings at runtime.
This is more consistent with how warnings are collected for direct imports of Node.js built-ins.
This enables configuring a dedicated Worker for prerendering at build time. This is an experimental feature and may change or be removed at any time.
#122144db3864 Thanks @jamesopstad! - Use Hook Filters to optimize plugin performance with Vite 8. This skips unnecessary Rust-to-JS calls with Rolldown powered Vite.
Previously, we would emit a .assetsignore file in the client output directory only if the client output included a wrangler.json file.
We now always emit it, which prevents a wrangler.json file being deployed as an asset if it is copied into this directory by mistake.
When a WebSocket client disconnects while an upgrade request is being processed, the server would crash with an unhandled ECONNRESET error. The fix adds an error handler to the socket at the start of the upgrade process.
#11875ae2459c Thanks @bxff! - Skip shortcut registration in non-TTY environments
Previously, registering keyboard shortcuts in non-TTY environments (e.g., Turborepo) caused Miniflare ERR_DISPOSED errors during prerendering. Shortcuts are now only registered when running in an interactive terminal.
This is to support React Server Components via @vitejs/plugin-rsc and frameworks that build on top of it. A childEnvironments option is now added to the plugin config to enable using multiple environments within a single Worker. The parent environment can import modules from a child environment in order to access a separate module graph. For a typical RSC use case, the plugin might be configured as in the following example:
Previously, several small utility packages were listed as runtime dependencies and
installed separately. These are now bundled directly into the published packages,
reducing the number of external dependencies users need to trust.
The list of builtin modules should not depend on the version of Node.
Switch to using the lists published by @cloudflare/unenv-preset.
This fixes an issue with trying to import i.e. node:sqlite with Node < 22.5.0
which does not implement this module.
#1183888a9e20 Thanks @jamesopstad! - Set build.rolldownOptions.resolve.extensions for compatibility with Vite 8 beta.
#1184746e09a6 Thanks @jamesopstad! - Apply vite-plugin-cloudflare:nodejs-compat-warnings plugin only to relevant environments.
This is an optimisation so that it doesn't run for the client environment or Worker environments that have the nodejs_compat compatibility flag enabled.
#1162025f6672 Thanks @dario-piotrowicz! - Expose a new getLocalWorkerdCompatibilityDate utility that allows callers to get the compatibility date of the locally installed workerd package.
#117233455912 Thanks @jamesopstad! - Add a post buildApp hook that builds Worker environments that haven't already been built.
This ensures that auxiliary Workers are included in the build when using full-stack frameworks that define their own builder.buildApp function. Note that this feature is not supported with Vite 6 as the buildApp hook was introduced in Vite 7.
This is a workaround for vitejs/vite#20867 and will resolve Error: There is a new version of the pre-bundle for ... errors that some users are experiencing. The longer term solution is to use full-bundle mode rather than optimizeDeps once it is supported for server environments. Vite v7.3.1 or above is needed for this change to take effect.
#11735dd66dcd Thanks @jamesopstad! - Remove topLevelName and name when passing entryWorkerConfig to the config function for auxiliary Workers.
The name for each Worker should be unique and the topLevelName is computed rather than provided directly.
#117200457de6 Thanks @jamesopstad! - fix: regression where plain class and object types were no longer supported as Durable Objects and Worker entrypoints
#116703483b84 Thanks @jamesopstad! - Provide the resolved entry Worker config in the second parameter to the auxiliary Worker config function. This makes it straightforward to inherit configuration from the entry Worker in auxiliary Workers.
Example:
exportdefaultdefineConfig({plugins:[cloudflare({auxiliaryWorkers:[{config:(_,{entryWorkerConfig})=>({name:"auxiliary-worker",main:"./src/auxiliary-worker.ts",// Inherit compatibility settings from entry Worker
compatibility_date: entryWorkerConfig.compatibility_date,compatibility_flags: entryWorkerConfig.compatibility_flags,}),},],}),],});
#1104512a63ef Thanks @edmundhung! - Add keyboard shortcut to display Worker bindings during development
When running vite dev or vite preview, you can now press b + Enter to display a list of all bindings configured for your Worker(s). This makes it easier to discover and verify which resources (e.g. KV namespaces, Durable Objects, environment variables, etc.) are available to your Worker during development.
This feature requires vite version 7.2.7 or later.
#1126506f48c0 Thanks @petebacondarwin! - Add a check to vite-plugin that ensures that the version of Wrangler being used internally is correct
In some pnpm setups it is possible for a different peer dependency version of Wrangler to leak and override the version that we require internally.
The Vite plugin can now be used to generate a Worker configuration instead of needing a Wrangler config file, or to customize an existing user-provided configuration.
This is done via a new config option on the plugin, which accepts either a partial Worker configuration object, or a function that receives the current configuration and returns a partial config object, or modifies the current config in place.
importcloudflarefrom"@​cloudflare/vite-plugin";import{defineConfig}from"vite";// Define a partial config object
exportdefaultdefineConfig({plugins:[cloudflare({config:{compatibility_date:"2025-01-01",},}),],});// Return a partial config from a function, conditional on some logic
exportdefaultdefineConfig({plugins:[cloudflare({config:(workerConfig)=>{if(workerConfig.name==="my-worker"){return{compatibility_flags:["nodejs_compat"],};}},}),],});// Modify the config in place
exportdefaultdefineConfig({plugins:[cloudflare({config:(workerConfig)=>{workerConfig.compatibility_date="2025-01-01";},}),],});
#113606b38532 Thanks @emily-shen! - Containers: Allow users to directly authenticate external image registries in local dev
Previously, we always queried the API for stored registry credentials and used those to pull images. This means that if you are using an external registry (ECR, dockerhub) then you have to configure registry credentials remotely before running local dev.
Now you can directly authenticate with your external registry provider (using docker login etc.), and Wrangler or Vite will be able to pull the image specified in the containers.image field in your config file.
The Cloudflare-managed registry (registry.cloudflare.com) currently still does not work with the Vite plugin.
If the Vite plugin is used in a project without an existing Wrangler config file, it should be able to operate in "zero-config" mode by generating a default Wrangler configuration for an assets-only worker.
This enables binding to named entrypoints defined in a vite dev session from another vite dev or wrangler dev session running locally.
Patch Changes
#113831d685cb Thanks @dario-piotrowicz! - Fix: Ensure that vite dev and vite preview hard error with an appropriate error message when a remote proxy session is required but if the connection with it fails to be established
When using remote bindings, either with vite dev or vite preview, the remote proxy session necessary to connect to the remote resources can fail to be created. This might happen if for example you try to set a binding with some invalid values such as:
MY_R2:{type:"r2_bucket",bucket_name:"non-existent",// No bucket called "non-existent" exists
remote:true,},
Before, this could go undetected and cause unwanted behaviors such as requests handling hanging indefinitely. Now, a hard error will be thrown instead causing the vite process to crash, clearly indicating that something went wrong during the remote session's creation.
#11009e4ddbc2 Thanks @dario-piotrowicz! - Make sure that the account_id present in the user's config file is used for remote bindings
Fixes issue where it wasn't possible to toggle the "open" attribute of <details> by clicking on a child of the <summary> element - By @Nxooah in task #1928
Use Element.classList.contains() instead of splitting className in query selectors to improve performance as it's cached - By @TrevorBurnham in task #1884
Allow numbers with complex units (more than one numerator unit or more than
zero denominator units) to be emitted to CSS. These are now emitted as calc() expressions, which now support complex units in plain CSS.
Support TRACEPARENT and TRACESTATE environment variables for OpenTelemetry context propagation - by @Copilot, hi-ogawa and @hi-ogawa in #9295(876cb)
🐞 Bug Fixes
Improve asymmetric matcher diff readability by unwrapping container matchers - by @Copilot, sheremet-va, hi-ogawa and @hi-ogawa in #9330(b2ec7)
This PR contains the following updates:
| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|---|---|
| [@cloudflare/vite-plugin](https://github.com/cloudflare/workers-sdk/tree/main/packages/vite-plugin-cloudflare#readme) ([source](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/vite-plugin-cloudflare)) | [`1.15.3` → `1.23.1`](https://renovatebot.com/diffs/npm/@cloudflare%2fvite-plugin/1.15.3/1.23.1) |  |  |  |  |
| [@iconify-json/carbon](https://icon-sets.iconify.design/carbon/) | [`1.2.14` → `1.2.18`](https://renovatebot.com/diffs/npm/@iconify-json%2fcarbon/1.2.14/1.2.18) |  |  |  |  |
| [@iconify-json/line-md](https://icon-sets.iconify.design/line-md/) | [`1.2.11` → `1.2.14`](https://renovatebot.com/diffs/npm/@iconify-json%2fline-md/1.2.11/1.2.14) |  |  |  |  |
| [@iconify-json/material-symbols](https://icon-sets.iconify.design/material-symbols/) | [`1.2.48` → `1.2.54`](https://renovatebot.com/diffs/npm/@iconify-json%2fmaterial-symbols/1.2.48/1.2.54) |  |  |  |  |
| [@stylelint-types/stylelint-order](https://github.com/stylelint-types/stylelint-order) | [`7.0.0` → `7.0.1`](https://renovatebot.com/diffs/npm/@stylelint-types%2fstylelint-order/7.0.0/7.0.1) |  |  |  |  |
| [@tsconfig/node24](https://github.com/tsconfig/bases) ([source](https://github.com/tsconfig/bases/tree/HEAD/bases)) | [`24.0.3` → `24.0.4`](https://renovatebot.com/diffs/npm/@tsconfig%2fnode24/24.0.3/24.0.4) |  |  |  |  |
| [@unhead/vue](https://unhead.unjs.io) ([source](https://github.com/unjs/unhead/tree/HEAD/packages/vue)) | [`2.0.19` → `2.1.3`](https://renovatebot.com/diffs/npm/@unhead%2fvue/2.0.19/2.1.3) |  |  |  |  |
| [@vueuse/core](https://github.com/vueuse/vueuse) ([source](https://github.com/vueuse/vueuse/tree/HEAD/packages/core)) | [`14.1.0` → `14.2.0`](https://renovatebot.com/diffs/npm/@vueuse%2fcore/14.1.0/14.2.0) |  |  |  |  |
| [happy-dom](https://github.com/capricorn86/happy-dom) | [`20.0.11` → `20.5.0`](https://renovatebot.com/diffs/npm/happy-dom/20.0.11/20.5.0) |  |  |  |  |
| [jsdom](https://github.com/jsdom/jsdom) | [`27.2.0` → `27.4.0`](https://renovatebot.com/diffs/npm/jsdom/27.2.0/27.4.0) |  |  |  |  |
| [lodash-es](https://lodash.com/custom-builds) ([source](https://github.com/lodash/lodash)) | [`4.17.21` → `4.17.23`](https://renovatebot.com/diffs/npm/lodash-es/4.17.21/4.17.23) |  |  |  |  |
| [postcss-html](https://github.com/ota-meshi/postcss-html) | [`1.8.0` → `1.8.1`](https://renovatebot.com/diffs/npm/postcss-html/1.8.0/1.8.1) |  |  |  |  |
| [rollup](https://rollupjs.org/) ([source](https://github.com/rollup/rollup)) | [`4.53.3` → `4.57.1`](https://renovatebot.com/diffs/npm/rollup/4.53.3/4.57.1) |  |  |  |  |
| [sass-embedded](https://github.com/sass/embedded-host-node) | [`1.93.3` → `1.97.3`](https://renovatebot.com/diffs/npm/sass-embedded/1.93.3/1.97.3) |  |  |  |  |
| [stylelint-config-recess-order](https://github.com/stormwarning/stylelint-config-recess-order) | [`7.4.0` → `7.6.0`](https://renovatebot.com/diffs/npm/stylelint-config-recess-order/7.4.0/7.6.0) |  |  |  |  |
| [unocss](https://unocss.dev) ([source](https://github.com/unocss/unocss/tree/HEAD/packages-presets/unocss)) | [`66.5.10` → `66.6.0`](https://renovatebot.com/diffs/npm/unocss/66.5.10/66.6.0) |  |  |  |  |
| [utils4u](https://github.com/yanhao98/utils4u) | [`5.0.1` → `5.1.0`](https://renovatebot.com/diffs/npm/utils4u/5.0.1/5.1.0) |  |  |  |  |
| [vitest](https://vitest.dev) ([source](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`4.0.15` → `4.0.18`](https://renovatebot.com/diffs/npm/vitest/4.0.15/4.0.18) |  |  |  |  |
| [vue-component-type-helpers](https://github.com/vuejs/language-tools) ([source](https://github.com/vuejs/language-tools/tree/HEAD/packages/component-type-helpers)) | [`3.1.5` → `3.2.4`](https://renovatebot.com/diffs/npm/vue-component-type-helpers/3.1.5/3.2.4) |  |  |  |  |
| [vue-i18n](https://github.com/intlify/vue-i18n/tree/master/packages/vue-i18n#readme) ([source](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n)) | [`11.2.2` → `11.2.8`](https://renovatebot.com/diffs/npm/vue-i18n/11.2.2/11.2.8) |  |  |  |  |
| [vue-macros](https://vue-macros.dev) ([source](https://github.com/vue-macros/vue-macros/tree/HEAD/packages/macros)) | [`3.1.1` → `3.1.2`](https://renovatebot.com/diffs/npm/vue-macros/3.1.1/3.1.2) |  |  |  |  |
| [vue-router](https://router.vuejs.org) ([source](https://github.com/vuejs/router)) | [`4.6.3` → `4.6.4`](https://renovatebot.com/diffs/npm/vue-router/4.6.3/4.6.4) |  |  |  |  |
| [vue-tsc](https://github.com/vuejs/language-tools) ([source](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc)) | [`3.1.8` → `3.2.4`](https://renovatebot.com/diffs/npm/vue-tsc/3.1.8/3.2.4) |  |  |  |  |
---
### Release Notes
<details>
<summary>cloudflare/workers-sdk (@​cloudflare/vite-plugin)</summary>
### [`v1.23.1`](https://github.com/cloudflare/workers-sdk/blob/HEAD/packages/vite-plugin-cloudflare/CHANGELOG.md#1231)
[Compare Source](https://github.com/cloudflare/workers-sdk/compare/@cloudflare/vite-plugin@1.23.0...@cloudflare/vite-plugin@1.23.1)
##### Patch Changes
- [#​12381](https://github.com/cloudflare/workers-sdk/pull/12381) [`98283fa`](https://github.com/cloudflare/workers-sdk/commit/98283fa0beceef560d4feee90b7881301d4e4244) Thanks [@​jamesopstad](https://github.com/jamesopstad)! - Avoid collecting `nodejs_compat` warnings during dependency optimization.
Previously, a custom plugin was provided during dependency optimization to collect warnings when Node.js built-ins were imported and the `nodejs_compat` flag was not enabled.
Because optimized dependencies are cached, the warning was only displayed when dependencies changed.
Additionally, it sometimes included false positives from dependencies that were no longer used.
We now always externalize Node.js built-ins during dependency optimization and collect the warnings at runtime.
This is more consistent with how warnings are collected for direct imports of Node.js built-ins.
- Updated dependencies \[[`ee9b81f`](https://github.com/cloudflare/workers-sdk/commit/ee9b81fb0cf4aa9812a0b043082076e4c4d8359e), [`63f1adb`](https://github.com/cloudflare/workers-sdk/commit/63f1adbef0dde3cc6fced41b2aa973eedcb8356f), [`ba13de9`](https://github.com/cloudflare/workers-sdk/commit/ba13de92c9b9f1b51ff6085234cb9b7ced6def34), [`447daa3`](https://github.com/cloudflare/workers-sdk/commit/447daa3b0b56b916df4906b25a659ed58c28888e), [`fe3af35`](https://github.com/cloudflare/workers-sdk/commit/fe3af359e9466afbf9df83c51e43a923e547cfbe), [`bd4bb98`](https://github.com/cloudflare/workers-sdk/commit/bd4bb98677f065f19872bbf05024b6ad13284a89), [`dab4bc9`](https://github.com/cloudflare/workers-sdk/commit/dab4bc90e9085d25cdd2596070470cfe4f681e21), [`83adb2c`](https://github.com/cloudflare/workers-sdk/commit/83adb2cb7f909857d79208474b78cdb7ac4e0638), [`18c0784`](https://github.com/cloudflare/workers-sdk/commit/18c07842374657bc4914c9b4d872273c70db0545)]:
- wrangler\@​4.63.0
- miniflare\@​4.20260205.0
### [`v1.23.0`](https://github.com/cloudflare/workers-sdk/blob/HEAD/packages/vite-plugin-cloudflare/CHANGELOG.md#1230)
[Compare Source](https://github.com/cloudflare/workers-sdk/compare/@cloudflare/vite-plugin@1.22.1...@cloudflare/vite-plugin@1.23.0)
##### Minor Changes
- [#​11697](https://github.com/cloudflare/workers-sdk/pull/11697) [`67a4ab1`](https://github.com/cloudflare/workers-sdk/commit/67a4ab15fb58e35d08e99afa50dca3a3b713149e) Thanks [@​jamesopstad](https://github.com/jamesopstad)! - Add `experimental.prerenderWorker` option to the plugin config.
This enables configuring a dedicated Worker for prerendering at build time. This is an experimental feature and may change or be removed at any time.
- [#​12214](https://github.com/cloudflare/workers-sdk/pull/12214) [`4db3864`](https://github.com/cloudflare/workers-sdk/commit/4db3864576e072c7d06f3526334d2e863383846b) Thanks [@​jamesopstad](https://github.com/jamesopstad)! - Use [Hook Filters](https://vite.dev/guide/api-plugin#hook-filters) to optimize plugin performance with Vite 8. This skips unnecessary Rust-to-JS calls with Rolldown powered Vite.
##### Patch Changes
- [#​12358](https://github.com/cloudflare/workers-sdk/pull/12358) [`4340c42`](https://github.com/cloudflare/workers-sdk/commit/4340c42ab38ca549f62db8e423dda3ef5b673fb7) Thanks [@​jamesopstad](https://github.com/jamesopstad)! - Always emit a `.assetsignore` file in the client output directory.
Previously, we would emit a `.assetsignore` file in the client output directory only if the client output included a `wrangler.json` file.
We now always emit it, which prevents a `wrangler.json` file being deployed as an asset if it is copied into this directory by mistake.
- Updated dependencies \[[`964a39d`](https://github.com/cloudflare/workers-sdk/commit/964a39d188af5c7d18b6397fb209b6d69408f702), [`253a85d`](https://github.com/cloudflare/workers-sdk/commit/253a85de5e86a51c7067d0f5e455ecd89693277d), [`ce736b9`](https://github.com/cloudflare/workers-sdk/commit/ce736b904b4d65e15df65cc9b1e7441b7c37e429), [`0c9625a`](https://github.com/cloudflare/workers-sdk/commit/0c9625a422895925b7ae89f3f371043e96ee5e87), [`47944d1`](https://github.com/cloudflare/workers-sdk/commit/47944d1b1b4710aec2aea6d9cefd9c4cb50b41d7), [`4c4d5a5`](https://github.com/cloudflare/workers-sdk/commit/4c4d5a578b0b66423b6abd553480d3935005246c), [`b05b919`](https://github.com/cloudflare/workers-sdk/commit/b05b919b22a421a85a07fb8daccf9e22219dac53), [`0aaf080`](https://github.com/cloudflare/workers-sdk/commit/0aaf080e993dfbba7e49408df5c4afc39bed3c0f), [`b981db5`](https://github.com/cloudflare/workers-sdk/commit/b981db579ed438e2ebbad18dd6a58e6989d2188b), [`a113c0d`](https://github.com/cloudflare/workers-sdk/commit/a113c0dca6c475baac3897f9c310aed851fdfa38), [`fdd7a9f`](https://github.com/cloudflare/workers-sdk/commit/fdd7a9fa429b48d1a4a2e28a20de7e2039a726b1), [`a5fca2c`](https://github.com/cloudflare/workers-sdk/commit/a5fca2c18001eea80c53b73a377a1ba2a83cb142), [`1bd1488`](https://github.com/cloudflare/workers-sdk/commit/1bd1488b1eb1d88aa854e8938acc88cdc0ce7f29), [`f7aa8c7`](https://github.com/cloudflare/workers-sdk/commit/f7aa8c78c3245c5e277d07398fa9d8a8b16c9280)]:
- wrangler\@​4.62.0
- miniflare\@​4.20260131.0
### [`v1.22.1`](https://github.com/cloudflare/workers-sdk/blob/HEAD/packages/vite-plugin-cloudflare/CHANGELOG.md#1221)
[Compare Source](https://github.com/cloudflare/workers-sdk/compare/@cloudflare/vite-plugin@1.22.0...@cloudflare/vite-plugin@1.22.1)
##### Patch Changes
- [#​12187](https://github.com/cloudflare/workers-sdk/pull/12187) [`0c85b05`](https://github.com/cloudflare/workers-sdk/commit/0c85b059f39ac9151c862943f9c891b091dea566) Thanks [@​jamesopstad](https://github.com/jamesopstad)! - Use `esmExternalRequirePlugin` to convert external `require` calls in Vite 8.
- Updated dependencies \[[`8a210af`](https://github.com/cloudflare/workers-sdk/commit/8a210afbfe6d960098ac3f280071a5282a4dd87b), [`eb8a415`](https://github.com/cloudflare/workers-sdk/commit/eb8a415ce33ff16e04e989a59849d7b8ba981a01), [`3b06b18`](https://github.com/cloudflare/workers-sdk/commit/3b06b18670bd975a6ffc1678b9d9c787f3dcf10a), [`17961bb`](https://github.com/cloudflare/workers-sdk/commit/17961bb6a7cadcad7e1c7f86804267f3a04da2fa), [`52fdfe7`](https://github.com/cloudflare/workers-sdk/commit/52fdfe7d9427dd65d4d8bca8f37c0c753e25bee7), [`6d8d9cd`](https://github.com/cloudflare/workers-sdk/commit/6d8d9cd6c040721037b4ac323699a35eca69f019), [`5f060c9`](https://github.com/cloudflare/workers-sdk/commit/5f060c9c27b9f5d2a00df374ed92f5055f24ea3c), [`cb72c11`](https://github.com/cloudflare/workers-sdk/commit/cb72c1146fdab8af7d071ea0af0ea04c7523ee5b)]:
- miniflare\@​4.20260128.0
- wrangler\@​4.61.1
- [@​cloudflare/unenv-preset](https://github.com/cloudflare/unenv-preset)@​2.12.0
### [`v1.22.0`](https://github.com/cloudflare/workers-sdk/blob/HEAD/packages/vite-plugin-cloudflare/CHANGELOG.md#1220)
[Compare Source](https://github.com/cloudflare/workers-sdk/compare/@cloudflare/vite-plugin@1.21.2...@cloudflare/vite-plugin@1.22.0)
##### Minor Changes
- [#​12034](https://github.com/cloudflare/workers-sdk/pull/12034) [`05714f8`](https://github.com/cloudflare/workers-sdk/commit/05714f871022e998dfbd7005f795d2fa3b9aee56) Thanks [@​emily-shen](https://github.com/emily-shen)! - Add a no-op local explorer worker, which is gated by the experimental flag `X_LOCAL_EXPLORER`.
##### Patch Changes
- [#​12052](https://github.com/cloudflare/workers-sdk/pull/12052) [`9c76067`](https://github.com/cloudflare/workers-sdk/commit/9c7606729f166b78c8a49846861be71568a579bc) Thanks [@​edmundhung](https://github.com/edmundhung)! - Fix dev server crash on WebSocket client disconnect
When a WebSocket client disconnects while an upgrade request is being processed, the server would crash with an unhandled `ECONNRESET` error. The fix adds an error handler to the socket at the start of the upgrade process.
- Updated dependencies \[[`a0a9ef6`](https://github.com/cloudflare/workers-sdk/commit/a0a9ef6cd36dc6a3aac01a576c7c41bbcd90f33c), [`ad4666c`](https://github.com/cloudflare/workers-sdk/commit/ad4666cf86db5fe08de7f798b0c8d17fdd5b10fd), [`014e7aa`](https://github.com/cloudflare/workers-sdk/commit/014e7aa2074d3464e012876b70e22af44fa26e5d), [`e414f05`](https://github.com/cloudflare/workers-sdk/commit/e414f05271887ed43a9a0a660d66565e9847c489), [`77e82d2`](https://github.com/cloudflare/workers-sdk/commit/77e82d25e13800d34426ba6774def3fcc2c7de21), [`f08ef21`](https://github.com/cloudflare/workers-sdk/commit/f08ef210b7215921e00e8aa890d25df334a08bbe), [`0641e6c`](https://github.com/cloudflare/workers-sdk/commit/0641e6ca0708d7bc73d04c0a619676cc5fde7a4e), [`eacedba`](https://github.com/cloudflare/workers-sdk/commit/eacedbaf56a9687f1bac31dd14985334263e2f0d), [`05714f8`](https://github.com/cloudflare/workers-sdk/commit/05714f871022e998dfbd7005f795d2fa3b9aee56), [`e8b2ef5`](https://github.com/cloudflare/workers-sdk/commit/e8b2ef5b855129699c4bdbb5fbd4fcbe85323769), [`bbd8a5e`](https://github.com/cloudflare/workers-sdk/commit/bbd8a5e98cbe3048d80652ecf74368b9c26bd2ff)]:
- wrangler\@​4.61.0
- miniflare\@​4.20260124.0
### [`v1.21.2`](https://github.com/cloudflare/workers-sdk/blob/HEAD/packages/vite-plugin-cloudflare/CHANGELOG.md#1212)
[Compare Source](https://github.com/cloudflare/workers-sdk/compare/@cloudflare/vite-plugin@1.21.1...@cloudflare/vite-plugin@1.21.2)
##### Patch Changes
- [#​11875](https://github.com/cloudflare/workers-sdk/pull/11875) [`ae2459c`](https://github.com/cloudflare/workers-sdk/commit/ae2459c6ef0dc2d5419bc692dea4a936c1859c21) Thanks [@​bxff](https://github.com/bxff)! - Skip shortcut registration in non-TTY environments
Previously, registering keyboard shortcuts in non-TTY environments (e.g., Turborepo) caused Miniflare `ERR_DISPOSED` errors during prerendering. Shortcuts are now only registered when running in an interactive terminal.
- Updated dependencies \[[`614bbd7`](https://github.com/cloudflare/workers-sdk/commit/614bbd709529191bbae6aa92790bbfe00a37e3d9), [`788bf78`](https://github.com/cloudflare/workers-sdk/commit/788bf786b4c5cb8e1bdd6464d3f88b4125cebc75), [`1375577`](https://github.com/cloudflare/workers-sdk/commit/1375577c860f1ae9af5caf1c488d47ec1cf52b6f), [`ae108f0`](https://github.com/cloudflare/workers-sdk/commit/ae108f090532765751c3996ba4c863a9fe858ddf), [`bba0968`](https://github.com/cloudflare/workers-sdk/commit/bba09689ca258b6da36b21b7300845ce031eaca6), [`c3407ad`](https://github.com/cloudflare/workers-sdk/commit/c3407ada8cff1170ef2a3bbc4d3137dcf3998461), [`f9e8a45`](https://github.com/cloudflare/workers-sdk/commit/f9e8a452fb299e6cb1a0ff2985347bfc277deac8)]:
- wrangler\@​4.60.0
- miniflare\@​4.20260120.0
- [@​cloudflare/unenv-preset](https://github.com/cloudflare/unenv-preset)@​2.11.0
### [`v1.21.1`](https://github.com/cloudflare/workers-sdk/blob/HEAD/packages/vite-plugin-cloudflare/CHANGELOG.md#1211)
[Compare Source](https://github.com/cloudflare/workers-sdk/compare/@cloudflare/vite-plugin@1.21.0...@cloudflare/vite-plugin@1.21.1)
##### Patch Changes
- [#​11951](https://github.com/cloudflare/workers-sdk/pull/11951) [`77fdc18`](https://github.com/cloudflare/workers-sdk/commit/77fdc1846c6f5533bb718a143ca01f93f3f7eaac) Thanks [@​jamesopstad](https://github.com/jamesopstad)! - Add validation for environment name collisions and improve error message for missing environments.
- Updated dependencies \[[`75386b1`](https://github.com/cloudflare/workers-sdk/commit/75386b1f14d7d0606bece547399e33a9f5bbadb8), [`8e4a0e5`](https://github.com/cloudflare/workers-sdk/commit/8e4a0e5e8d1e0bf75b6f11000f89f7eabafa392a), [`133bf95`](https://github.com/cloudflare/workers-sdk/commit/133bf95783c8b63ecc2b572a4400c7aa4bd4f8c4), [`93d8d78`](https://github.com/cloudflare/workers-sdk/commit/93d8d78ce081f821671b2c4a1ffcd7df733a0866), [`69ff962`](https://github.com/cloudflare/workers-sdk/commit/69ff9620487a6ae979f369eb1dbac887ce46e246), [`22727c2`](https://github.com/cloudflare/workers-sdk/commit/22727c29ee244cddebf93d855e4e052973479ad3), [`fa39a73`](https://github.com/cloudflare/workers-sdk/commit/fa39a73040dd27d35d429deda34fdc8e15b15fbe), [`4ac7c82`](https://github.com/cloudflare/workers-sdk/commit/4ac7c82609354115d53cd17f4cf78eabf3d6c23a), [`69ff962`](https://github.com/cloudflare/workers-sdk/commit/69ff9620487a6ae979f369eb1dbac887ce46e246), [`029531a`](https://github.com/cloudflare/workers-sdk/commit/029531acd2e6fac10f21c7b0cecb6b4830f77d02), [`d58fbd1`](https://github.com/cloudflare/workers-sdk/commit/d58fbd1189ec7417d8f2930eac3e71f7680bd679), [`202c59e`](https://github.com/cloudflare/workers-sdk/commit/202c59e4f4f28419fb6ac0aa8c7dc3960a0c8d3e), [`133bf95`](https://github.com/cloudflare/workers-sdk/commit/133bf95783c8b63ecc2b572a4400c7aa4bd4f8c4), [`25e2c60`](https://github.com/cloudflare/workers-sdk/commit/25e2c608d529664ede251abe45fdb13ea9e56a9d), [`69ff962`](https://github.com/cloudflare/workers-sdk/commit/69ff9620487a6ae979f369eb1dbac887ce46e246)]:
- wrangler\@​4.59.3
- miniflare\@​4.20260116.0
### [`v1.21.0`](https://github.com/cloudflare/workers-sdk/blob/HEAD/packages/vite-plugin-cloudflare/CHANGELOG.md#1210)
[Compare Source](https://github.com/cloudflare/workers-sdk/compare/@cloudflare/vite-plugin@1.20.3...@cloudflare/vite-plugin@1.21.0)
##### Minor Changes
- [#​11879](https://github.com/cloudflare/workers-sdk/pull/11879) [`5c8ff05`](https://github.com/cloudflare/workers-sdk/commit/5c8ff05079d71810fb1546f3dc788cc44ee00e22) Thanks [@​jamesopstad](https://github.com/jamesopstad)! - Add support for child environments.
This is to support React Server Components via [@​vitejs/plugin-rsc](https://github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-rsc) and frameworks that build on top of it. A `childEnvironments` option is now added to the plugin config to enable using multiple environments within a single Worker. The parent environment can import modules from a child environment in order to access a separate module graph. For a typical RSC use case, the plugin might be configured as in the following example:
```ts
export default defineConfig({
plugins: [
cloudflare({
viteEnvironment: {
name: "rsc",
childEnvironments: ["ssr"],
},
}),
],
});
```
##### Patch Changes
- [#​11898](https://github.com/cloudflare/workers-sdk/pull/11898) [`c17e971`](https://github.com/cloudflare/workers-sdk/commit/c17e971af01a9bcead0aca409666e29417f4636a) Thanks [@​petebacondarwin](https://github.com/petebacondarwin)! - Bundle more third-party dependencies to reduce supply chain risk
Previously, several small utility packages were listed as runtime dependencies and
installed separately. These are now bundled directly into the published packages,
reducing the number of external dependencies users need to trust.
Bundled dependencies:
- **miniflare**: `acorn`, `acorn-walk`, `exit-hook`, `glob-to-regexp`, `stoppable`
- **kv-asset-handler**: `mime`
- **vite-plugin-cloudflare**: `@remix-run/node-fetch-server`, `defu`, `get-port`, `picocolors`, `tinyglobby`
- **vitest-pool-workers**: `birpc`, `devalue`, `get-port`, `semver`
- Updated dependencies \[[`e78186d`](https://github.com/cloudflare/workers-sdk/commit/e78186dae926c0ae1ab387aaa6cb8ba53bed9992), [`fe4faa3`](https://github.com/cloudflare/workers-sdk/commit/fe4faa306609514863fa770bac1dba5ff618f4be), [`fec8f5b`](https://github.com/cloudflare/workers-sdk/commit/fec8f5b82e0bb64400bbfcced302748dbe9a3062), [`d39777f`](https://github.com/cloudflare/workers-sdk/commit/d39777f1e354e8f3abd02164e76c2501e47e713f), [`4714ca1`](https://github.com/cloudflare/workers-sdk/commit/4714ca12c1f24c7e3553d3bfd2812a833a07826c), [`c17e971`](https://github.com/cloudflare/workers-sdk/commit/c17e971af01a9bcead0aca409666e29417f4636a), [`695b043`](https://github.com/cloudflare/workers-sdk/commit/695b043b4ddc99bf9a3fe93cc7daa8347b29ccb3)]:
- miniflare\@​4.20260114.0
- wrangler\@​4.59.2
- [@​cloudflare/unenv-preset](https://github.com/cloudflare/unenv-preset)@​2.10.0
### [`v1.20.3`](https://github.com/cloudflare/workers-sdk/blob/HEAD/packages/vite-plugin-cloudflare/CHANGELOG.md#1203)
[Compare Source](https://github.com/cloudflare/workers-sdk/compare/@cloudflare/vite-plugin@1.20.2...@cloudflare/vite-plugin@1.20.3)
##### Patch Changes
- Updated dependencies \[[`99b1f32`](https://github.com/cloudflare/workers-sdk/commit/99b1f328a9afe181b49f1114ed47f15f6d25f0be)]:
- wrangler\@​4.59.1
### [`v1.20.2`](https://github.com/cloudflare/workers-sdk/blob/HEAD/packages/vite-plugin-cloudflare/CHANGELOG.md#1202)
[Compare Source](https://github.com/cloudflare/workers-sdk/compare/@cloudflare/vite-plugin@1.20.1...@cloudflare/vite-plugin@1.20.2)
##### Patch Changes
- [#​11834](https://github.com/cloudflare/workers-sdk/pull/11834) [`5c59217`](https://github.com/cloudflare/workers-sdk/commit/5c5921768f928de4526a315bb508e3ed25a2ccad) Thanks [@​vicb](https://github.com/vicb)! - fix handling of Node builtin modules
The list of builtin modules should not depend on the version of Node.
Switch to using the lists published by `@cloudflare/unenv-preset`.
This fixes an issue with trying to import i.e. `node:sqlite` with Node < 22.5.0
which does not implement this module.
- [#​11838](https://github.com/cloudflare/workers-sdk/pull/11838) [`88a9e20`](https://github.com/cloudflare/workers-sdk/commit/88a9e204004b671d5e5f545efdfd6285c80eaab6) Thanks [@​jamesopstad](https://github.com/jamesopstad)! - Set `build.rolldownOptions.resolve.extensions` for compatibility with Vite 8 beta.
- [#​11847](https://github.com/cloudflare/workers-sdk/pull/11847) [`46e09a6`](https://github.com/cloudflare/workers-sdk/commit/46e09a6c0b7d5921a52e8acfe97370c909b4f308) Thanks [@​jamesopstad](https://github.com/jamesopstad)! - Apply `vite-plugin-cloudflare:nodejs-compat-warnings` plugin only to relevant environments.
This is an optimisation so that it doesn't run for the `client` environment or Worker environments that have the `nodejs_compat` compatibility flag enabled.
- Updated dependencies \[[`b0e54b2`](https://github.com/cloudflare/workers-sdk/commit/b0e54b26f261234ec47dcc673a5240734ba03fcc), [`ed60c4f`](https://github.com/cloudflare/workers-sdk/commit/ed60c4f01c0e4ac9683a73fb5cf849ad74255b35), [`5c59217`](https://github.com/cloudflare/workers-sdk/commit/5c5921768f928de4526a315bb508e3ed25a2ccad), [`faa5753`](https://github.com/cloudflare/workers-sdk/commit/faa5753fa685117065c801e5d1fcee3486a6f0bd), [`e574ef3`](https://github.com/cloudflare/workers-sdk/commit/e574ef3e73aa00ca82e84fe308da0fed768477d9), [`b6148ed`](https://github.com/cloudflare/workers-sdk/commit/b6148ed733f6d6873261df5ae61e71c475ba8a8d), [`beb96af`](https://github.com/cloudflare/workers-sdk/commit/beb96af470aefaae73237309244cf7369b329ff0), [`5c59217`](https://github.com/cloudflare/workers-sdk/commit/5c5921768f928de4526a315bb508e3ed25a2ccad), [`ab3859c`](https://github.com/cloudflare/workers-sdk/commit/ab3859c597fe30cdcd9ffa67f9fb7865539bf592), [`0eb973d`](https://github.com/cloudflare/workers-sdk/commit/0eb973deb57b8d8b9bb2fe4e5cb471fabab51bac), [`ad65efa`](https://github.com/cloudflare/workers-sdk/commit/ad65efa73ae8b666e1669964ccacc2680b12c853), [`fc96e5f`](https://github.com/cloudflare/workers-sdk/commit/fc96e5fe117948c57e49bf0741d55955691f1c28), [`43d5363`](https://github.com/cloudflare/workers-sdk/commit/43d5363c7b40191723e9bab9900edd70ecac5837), [`0f8d69d`](https://github.com/cloudflare/workers-sdk/commit/0f8d69d31071abeb567aa3c8478492536b5740fb)]:
- wrangler\@​4.59.0
- miniflare\@​4.20260111.0
- [@​cloudflare/unenv-preset](https://github.com/cloudflare/unenv-preset)@​2.9.0
### [`v1.20.1`](https://github.com/cloudflare/workers-sdk/blob/HEAD/packages/vite-plugin-cloudflare/CHANGELOG.md#1201)
[Compare Source](https://github.com/cloudflare/workers-sdk/compare/@cloudflare/vite-plugin@1.20.0...@cloudflare/vite-plugin@1.20.1)
##### Patch Changes
- [#​11807](https://github.com/cloudflare/workers-sdk/pull/11807) [`fada563`](https://github.com/cloudflare/workers-sdk/commit/fada563c1e0dcbffda223cd93ce4dd232dcd9c6b) Thanks [@​jamesopstad](https://github.com/jamesopstad)! - Use `rolldownOptions` in plugin config when available.
This improves compatibility with Vite 8 beta and removes warnings related to use of `esbuildOptions`.
- Updated dependencies \[[`97e67b9`](https://github.com/cloudflare/workers-sdk/commit/97e67b984a788a807c77309fb5391b5ecf190888), [`7d63fa5`](https://github.com/cloudflare/workers-sdk/commit/7d63fa5f7c3c170d666df0fafe2904c4c6f794a6)]:
- miniflare\@​4.20260107.0
- wrangler\@​4.58.0
### [`v1.20.0`](https://github.com/cloudflare/workers-sdk/blob/HEAD/packages/vite-plugin-cloudflare/CHANGELOG.md#1200)
[Compare Source](https://github.com/cloudflare/workers-sdk/compare/@cloudflare/vite-plugin@1.19.0...@cloudflare/vite-plugin@1.20.0)
##### Minor Changes
- [#​11620](https://github.com/cloudflare/workers-sdk/pull/11620) [`25f6672`](https://github.com/cloudflare/workers-sdk/commit/25f66726d3b2f55a6139273e8f307f0cf3c44422) Thanks [@​dario-piotrowicz](https://github.com/dario-piotrowicz)! - Expose a new `getLocalWorkerdCompatibilityDate` utility that allows callers to get the compatibility date of the locally installed `workerd` package.
- [#​11723](https://github.com/cloudflare/workers-sdk/pull/11723) [`3455912`](https://github.com/cloudflare/workers-sdk/commit/3455912ab22f9590ea990e8c34584e00eb2140e9) Thanks [@​jamesopstad](https://github.com/jamesopstad)! - Add a post `buildApp` hook that builds Worker environments that haven't already been built.
This ensures that auxiliary Workers are included in the build when using full-stack frameworks that define their own `builder.buildApp` function. Note that this feature is not supported with Vite 6 as the `buildApp` hook was introduced in Vite 7.
- [#​11738](https://github.com/cloudflare/workers-sdk/pull/11738) [`c54f8da`](https://github.com/cloudflare/workers-sdk/commit/c54f8da0ec5503408b1c0da236964b4c8a8d5d26) Thanks [@​jamesopstad](https://github.com/jamesopstad)! - Add default `Text` module rule for `.sql` files.
This enables importing `.sql` files directly in Wrangler and the Cloudflare Vite plugin without extra configuration.
##### Patch Changes
- [#​11815](https://github.com/cloudflare/workers-sdk/pull/11815) [`70ef3ed`](https://github.com/cloudflare/workers-sdk/commit/70ef3ed595d7cca6fc8a3872117b6d410b51537f) Thanks [@​jamesopstad](https://github.com/jamesopstad)! - Set `ignoreOutdatedRequests` to `true` in `optimizeDeps` config.
This is a workaround for [vitejs/vite#20867](https://github.com/vitejs/vite/issues/20867) and will resolve `Error: There is a new version of the pre-bundle for ...` errors that some users are experiencing. The longer term solution is to use full-bundle mode rather than `optimizeDeps` once it is supported for server environments. Vite v7.3.1 or above is needed for this change to take effect.
- [#​11735](https://github.com/cloudflare/workers-sdk/pull/11735) [`dd66dcd`](https://github.com/cloudflare/workers-sdk/commit/dd66dcdd08472d7bde944093bab74b77d1cca45a) Thanks [@​jamesopstad](https://github.com/jamesopstad)! - Remove `topLevelName` and `name` when passing `entryWorkerConfig` to the `config `function for auxiliary Workers.
The `name` for each Worker should be unique and the `topLevelName` is computed rather than provided directly.
- [#​11720](https://github.com/cloudflare/workers-sdk/pull/11720) [`0457de6`](https://github.com/cloudflare/workers-sdk/commit/0457de6f7076b3e707b2b5cff3c7a6578275a299) Thanks [@​jamesopstad](https://github.com/jamesopstad)! - fix: regression where plain class and object types were no longer supported as Durable Objects and Worker entrypoints
- Updated dependencies \[[`02fbd22`](https://github.com/cloudflare/workers-sdk/commit/02fbd229b339667d9985d0cc648a8cbecc53962e), [`b993d95`](https://github.com/cloudflare/workers-sdk/commit/b993d9528646943ad3b5d9c6d4239551ad490fa9), [`f612b46`](https://github.com/cloudflare/workers-sdk/commit/f612b4683a7e1408709ad378fb6c5b96af485d49), [`77078ef`](https://github.com/cloudflare/workers-sdk/commit/77078eff5eb4b2318282b76b30205d35bf22ad66), [`2510723`](https://github.com/cloudflare/workers-sdk/commit/25107237167ab0e5dae0912ec5ce8c3d3221c0a3), [`65d1850`](https://github.com/cloudflare/workers-sdk/commit/65d185016bc9650ae28077bba573dba120ccee1c), [`1615fce`](https://github.com/cloudflare/workers-sdk/commit/1615fce11d4f3c73c93d85d8904062ab1dbddfb1), [`b2769bf`](https://github.com/cloudflare/workers-sdk/commit/b2769bf18ece177b407235993f53f6fd8e1ac829), [`554a4df`](https://github.com/cloudflare/workers-sdk/commit/554a4dfd49b56a3e0ef4ba09fbb33a56e47a4932), [`9f6dd71`](https://github.com/cloudflare/workers-sdk/commit/9f6dd716262a813980f6acd77986d9bbc25e6214), [`8eede3f`](https://github.com/cloudflare/workers-sdk/commit/8eede3f213ef8ad5aed3102e6f9c20cba9ea8a66), [`d123ad0`](https://github.com/cloudflare/workers-sdk/commit/d123ad006d72bdee97cce5f4857e6d06a6fc16da), [`9e360f6`](https://github.com/cloudflare/workers-sdk/commit/9e360f6918588af59f86bb153008f3ec18b082c6), [`5121b23`](https://github.com/cloudflare/workers-sdk/commit/5121b23cb1e892597befe9e4ee2ec0fee143f482), [`82e7e90`](https://github.com/cloudflare/workers-sdk/commit/82e7e90e3635c0d7fecdb7c7e29cb391f47bd8b6), [`6a05b1c`](https://github.com/cloudflare/workers-sdk/commit/6a05b1cdf808c9f50cd461472fc430f9b029139d), [`62fd118`](https://github.com/cloudflare/workers-sdk/commit/62fd11870972ea67b638452bd29fc2ead648f52f), [`a7e9f80`](https://github.com/cloudflare/workers-sdk/commit/a7e9f8016de23b1ad8a1cdea8c2029e8808aa7d0), [`fc95831`](https://github.com/cloudflare/workers-sdk/commit/fc958315f7f452155385628092db822badc09404), [`b0dbf1a`](https://github.com/cloudflare/workers-sdk/commit/b0dbf1ac5c998365bb14e9a25f9a28773ba299d5), [`4688f59`](https://github.com/cloudflare/workers-sdk/commit/4688f59907dd9a574a5c3a916024e6033ff8490b), [`69979a3`](https://github.com/cloudflare/workers-sdk/commit/69979a3e0c20c8c8ec6c41253876e594ffb899f3), [`c54f8da`](https://github.com/cloudflare/workers-sdk/commit/c54f8da0ec5503408b1c0da236964b4c8a8d5d26), [`df1f9c9`](https://github.com/cloudflare/workers-sdk/commit/df1f9c914524b7a20396aaa4476200501ea05fc1), [`d059f69`](https://github.com/cloudflare/workers-sdk/commit/d059f69706bcb6c2fc4c3e65bad4f8effeffcb6a), [`eac5cf7`](https://github.com/cloudflare/workers-sdk/commit/eac5cf74db6d1b0865f5dc3a744ff28e695d53ca), [`b827893`](https://github.com/cloudflare/workers-sdk/commit/b82789341b4cb6e0f49c69682a75fb4a1036077b)]:
- wrangler\@​4.57.0
- miniflare\@​4.20260103.0
- [@​cloudflare/unenv-preset](https://github.com/cloudflare/unenv-preset)@​2.8.0
### [`v1.19.0`](https://github.com/cloudflare/workers-sdk/blob/HEAD/packages/vite-plugin-cloudflare/CHANGELOG.md#1190)
[Compare Source](https://github.com/cloudflare/workers-sdk/compare/@cloudflare/vite-plugin@1.18.0...@cloudflare/vite-plugin@1.19.0)
##### Minor Changes
- [#​11670](https://github.com/cloudflare/workers-sdk/pull/11670) [`3483b84`](https://github.com/cloudflare/workers-sdk/commit/3483b841bedb78d67048cc8b9846e0598ec5fa6c) Thanks [@​jamesopstad](https://github.com/jamesopstad)! - Provide the resolved entry Worker config in the second parameter to the auxiliary Worker `config` function. This makes it straightforward to inherit configuration from the entry Worker in auxiliary Workers.
Example:
```ts
export default defineConfig({
plugins: [
cloudflare({
auxiliaryWorkers: [
{
config: (_, { entryWorkerConfig }) => ({
name: "auxiliary-worker",
main: "./src/auxiliary-worker.ts",
// Inherit compatibility settings from entry Worker
compatibility_date: entryWorkerConfig.compatibility_date,
compatibility_flags: entryWorkerConfig.compatibility_flags,
}),
},
],
}),
],
});
```
##### Patch Changes
- Updated dependencies \[[`ae1ad22`](https://github.com/cloudflare/workers-sdk/commit/ae1ad22b24216c466bbbbb5966c82ed2b9bc8ac7), [`171cfd9`](https://github.com/cloudflare/workers-sdk/commit/171cfd96e07394ccd00025770d18657c6c297c87), [`428ae9e`](https://github.com/cloudflare/workers-sdk/commit/428ae9e83c9c193da3bf3894db13b1b520cc7c47), [`737c0f4`](https://github.com/cloudflare/workers-sdk/commit/737c0f4e1212d3a2ec59bedac125fe07ed0fb0ed), [`c0e249e`](https://github.com/cloudflare/workers-sdk/commit/c0e249e3d662444720548acee70ac33a078c408f), [`472cf72`](https://github.com/cloudflare/workers-sdk/commit/472cf72a6f340e30499daa1d04bf5f17621044bf), [`3853200`](https://github.com/cloudflare/workers-sdk/commit/3853200d4ebf70a0c71cd4480b007efb93216fcc)]:
- miniflare\@​4.20251217.0
- wrangler\@​4.56.0
### [`v1.18.0`](https://github.com/cloudflare/workers-sdk/blob/HEAD/packages/vite-plugin-cloudflare/CHANGELOG.md#1180)
[Compare Source](https://github.com/cloudflare/workers-sdk/compare/@cloudflare/vite-plugin@1.17.1...@cloudflare/vite-plugin@1.18.0)
##### Minor Changes
- [#​11045](https://github.com/cloudflare/workers-sdk/pull/11045) [`12a63ef`](https://github.com/cloudflare/workers-sdk/commit/12a63ef6df4f5741320b34b8bddd4e2a0f891f0e) Thanks [@​edmundhung](https://github.com/edmundhung)! - Add keyboard shortcut to display Worker bindings during development
When running `vite dev` or `vite preview`, you can now press `b + Enter` to display a list of all bindings configured for your Worker(s). This makes it easier to discover and verify which resources (e.g. KV namespaces, Durable Objects, environment variables, etc.) are available to your Worker during development.
This feature requires `vite` version `7.2.7` or later.
- [#​11265](https://github.com/cloudflare/workers-sdk/pull/11265) [`06f48c0`](https://github.com/cloudflare/workers-sdk/commit/06f48c05d06088dc15ebaef26ac1bfb2bd879918) Thanks [@​petebacondarwin](https://github.com/petebacondarwin)! - Add a check to vite-plugin that ensures that the version of Wrangler being used internally is correct
In some pnpm setups it is possible for a different peer dependency version of Wrangler to leak and override the version that we require internally.
##### Patch Changes
- Updated dependencies \[[`ed42010`](https://github.com/cloudflare/workers-sdk/commit/ed42010436cd2a04df9a47c4e1fed3dff45aed90), [`5d085fb`](https://github.com/cloudflare/workers-sdk/commit/5d085fbf385ca3f3a034ee47004229a87a044823), [`b75b710`](https://github.com/cloudflare/workers-sdk/commit/b75b710734c8382a9a929b1db2bb34fcb3e96468), [`1e9be12`](https://github.com/cloudflare/workers-sdk/commit/1e9be123a3a9097593c701319ea69dfeb5086107), [`6b28de1`](https://github.com/cloudflare/workers-sdk/commit/6b28de117170b7086e6f6580b558048ce878a6b8), [`6c590a0`](https://github.com/cloudflare/workers-sdk/commit/6c590a0c3392bb2b32ff5b7388114066d39e03da), [`12a63ef`](https://github.com/cloudflare/workers-sdk/commit/12a63ef6df4f5741320b34b8bddd4e2a0f891f0e), [`4201472`](https://github.com/cloudflare/workers-sdk/commit/4201472291fa1c864dbcca40c173a76e5b571a04), [`7d8d4a6`](https://github.com/cloudflare/workers-sdk/commit/7d8d4a6a440740c105bb5de869c3555f9ed2568d), [`95d81e1`](https://github.com/cloudflare/workers-sdk/commit/95d81e1b6371a1293f58da281adc3fd37bd0ea0b), [`6c590a0`](https://github.com/cloudflare/workers-sdk/commit/6c590a0c3392bb2b32ff5b7388114066d39e03da)]:
- wrangler\@​4.55.0
- miniflare\@​4.20251213.0
### [`v1.17.1`](https://github.com/cloudflare/workers-sdk/blob/HEAD/packages/vite-plugin-cloudflare/CHANGELOG.md#1171)
[Compare Source](https://github.com/cloudflare/workers-sdk/compare/@cloudflare/vite-plugin@1.17.0...@cloudflare/vite-plugin@1.17.1)
##### Patch Changes
- Updated dependencies \[[`c15e99e`](https://github.com/cloudflare/workers-sdk/commit/c15e99e840e80cd74c0190036476e209625325e0), [`31c162a`](https://github.com/cloudflare/workers-sdk/commit/31c162a161966cb01d94da5b85462162c20c4b71), [`bd5f087`](https://github.com/cloudflare/workers-sdk/commit/bd5f08783d561bf27d52202ccf29993b416f4674), [`c6dd86f`](https://github.com/cloudflare/workers-sdk/commit/c6dd86f014a07d6b914736b0b8b704d506336e5a), [`235d325`](https://github.com/cloudflare/workers-sdk/commit/235d325c1ccd8238befd7036e6875242c9361dfb), [`b17797c`](https://github.com/cloudflare/workers-sdk/commit/b17797c7e83a9f431ba68bd543032fccddb5f6b5), [`b17797c`](https://github.com/cloudflare/workers-sdk/commit/b17797c7e83a9f431ba68bd543032fccddb5f6b5), [`41103f5`](https://github.com/cloudflare/workers-sdk/commit/41103f560cb1a60e1b8cebe009e408813da85300), [`ea6fbec`](https://github.com/cloudflare/workers-sdk/commit/ea6fbec8de83493c86b72c9da1809c6eac832a5b), [`bb47e20`](https://github.com/cloudflare/workers-sdk/commit/bb47e2090cd4c0c4c56abe97fffb35f3101414bf), [`991760d`](https://github.com/cloudflare/workers-sdk/commit/991760d13168f613a99a4b6e70a43887934cddfb)]:
- wrangler\@​4.54.0
- miniflare\@​4.20251210.0
### [`v1.17.0`](https://github.com/cloudflare/workers-sdk/blob/HEAD/packages/vite-plugin-cloudflare/CHANGELOG.md#1170)
[Compare Source](https://github.com/cloudflare/workers-sdk/compare/@cloudflare/vite-plugin@1.16.1...@cloudflare/vite-plugin@1.17.0)
##### Minor Changes
- [#​11506](https://github.com/cloudflare/workers-sdk/pull/11506) [`79d30d4`](https://github.com/cloudflare/workers-sdk/commit/79d30d4321b057f3cb4451ab43fa67653f1a8ee5) Thanks [@​vicb](https://github.com/vicb)! - Set the target JS version to ES2024
##### Patch Changes
- [#​11466](https://github.com/cloudflare/workers-sdk/pull/11466) [`4f15699`](https://github.com/cloudflare/workers-sdk/commit/4f15699371e08eedc5b8dae8ef6273b1dfeef7d5) Thanks [@​ascorbic](https://github.com/ascorbic)! - Throw a more helpful error message when a Worker's entry module can't be resolved
- Updated dependencies \[[`819e287`](https://github.com/cloudflare/workers-sdk/commit/819e287c1a471c3681112fe333e5692f3c386571), [`af54c63`](https://github.com/cloudflare/workers-sdk/commit/af54c630d9a6593252d07b2b77586da2f67220e8), [`9988cc9`](https://github.com/cloudflare/workers-sdk/commit/9988cc9b9b157e453bb5eade439a8e69bfa0c7bd), [`ce295bf`](https://github.com/cloudflare/workers-sdk/commit/ce295bffdc7a45494b6683ee5fef04dbfca54345), [`45480b1`](https://github.com/cloudflare/workers-sdk/commit/45480b1a897c4236575e9ddd2cfdb89e0610fc67), [`9514c9a`](https://github.com/cloudflare/workers-sdk/commit/9514c9a0ed28fed349126384d1f646c9165be914), [`94c67e8`](https://github.com/cloudflare/workers-sdk/commit/94c67e87a3e9bd6057f8221aa4723252a4d9871d), [`ac861f8`](https://github.com/cloudflare/workers-sdk/commit/ac861f8ec24357c0238fa939b33da71236df7095), [`79d30d4`](https://github.com/cloudflare/workers-sdk/commit/79d30d4321b057f3cb4451ab43fa67653f1a8ee5), [`56e78c8`](https://github.com/cloudflare/workers-sdk/commit/56e78c8a5c02756f0d2b62ef80ad7d1a8045422c), [`0aa959a`](https://github.com/cloudflare/workers-sdk/commit/0aa959ac6fa294a18af10c1905e9494715556d45), [`f550b62`](https://github.com/cloudflare/workers-sdk/commit/f550b62fd4fdd60c2600390754631d713140afd3)]:
- [@​cloudflare/unenv-preset](https://github.com/cloudflare/unenv-preset)@​2.7.13
- wrangler\@​4.53.0
- miniflare\@​4.20251202.1
### [`v1.16.1`](https://github.com/cloudflare/workers-sdk/blob/HEAD/packages/vite-plugin-cloudflare/CHANGELOG.md#1161)
[Compare Source](https://github.com/cloudflare/workers-sdk/compare/@cloudflare/vite-plugin@1.16.0...@cloudflare/vite-plugin@1.16.1)
##### Patch Changes
- Updated dependencies \[[`59534ba`](https://github.com/cloudflare/workers-sdk/commit/59534baa89d893e2d7b4656e365a215425094f00), [`7e80340`](https://github.com/cloudflare/workers-sdk/commit/7e803402ee22df65427dbc08b17f4f928d42dda2)]:
- miniflare\@​4.20251202.0
- wrangler\@​4.52.1
### [`v1.16.0`](https://github.com/cloudflare/workers-sdk/blob/HEAD/packages/vite-plugin-cloudflare/CHANGELOG.md#1160)
[Compare Source](https://github.com/cloudflare/workers-sdk/compare/@cloudflare/vite-plugin@1.15.3...@cloudflare/vite-plugin@1.16.0)
##### Minor Changes
- [#​11445](https://github.com/cloudflare/workers-sdk/pull/11445) [`c8e22c3`](https://github.com/cloudflare/workers-sdk/commit/c8e22c3124db1b4b8d3b8465295df8fb19f50f25) Thanks [@​ascorbic](https://github.com/ascorbic)! - Allow Worker config to be customized in the plugin config
The Vite plugin can now be used to generate a Worker configuration instead of needing a Wrangler config file, or to customize an existing user-provided configuration.
This is done via a new `config` option on the plugin, which accepts either a partial Worker configuration object, or a function that receives the current configuration and returns a partial config object, or modifies the current config in place.
```ts
import cloudflare from "@​cloudflare/vite-plugin";
import { defineConfig } from "vite";
// Define a partial config object
export default defineConfig({
plugins: [
cloudflare({
config: {
compatibility_date: "2025-01-01",
},
}),
],
});
// Return a partial config from a function, conditional on some logic
export default defineConfig({
plugins: [
cloudflare({
config: (workerConfig) => {
if (workerConfig.name === "my-worker") {
return {
compatibility_flags: ["nodejs_compat"],
};
}
},
}),
],
});
// Modify the config in place
export default defineConfig({
plugins: [
cloudflare({
config: (workerConfig) => {
workerConfig.compatibility_date = "2025-01-01";
},
}),
],
});
```
- [#​11360](https://github.com/cloudflare/workers-sdk/pull/11360) [`6b38532`](https://github.com/cloudflare/workers-sdk/commit/6b38532298a17fc4fd643dd8eb96647d9ef98e2f) Thanks [@​emily-shen](https://github.com/emily-shen)! - Containers: Allow users to directly authenticate external image registries in local dev
Previously, we always queried the API for stored registry credentials and used those to pull images. This means that if you are using an external registry (ECR, dockerhub) then you have to configure registry credentials remotely before running local dev.
Now you can directly authenticate with your external registry provider (using `docker login` etc.), and Wrangler or Vite will be able to pull the image specified in the `containers.image` field in your config file.
The Cloudflare-managed registry (registry.cloudflare.com) currently still does not work with the Vite plugin.
- [#​11408](https://github.com/cloudflare/workers-sdk/pull/11408) [`f29e699`](https://github.com/cloudflare/workers-sdk/commit/f29e699bc022ad0dde2cfddfbea6fa3906068d94) Thanks [@​ascorbic](https://github.com/ascorbic)! - Support zero-config operation
If the Vite plugin is used in a project without an existing Wrangler config file, it should be able to operate in "zero-config" mode by generating a default Wrangler configuration for an assets-only worker.
- [#​11417](https://github.com/cloudflare/workers-sdk/pull/11417) [`2ca70b1`](https://github.com/cloudflare/workers-sdk/commit/2ca70b1cba96f940ad1cda0c5371435edf0ba12e) Thanks [@​jamesopstad](https://github.com/jamesopstad)! - Register named entrypoints with the dev registry.
This enables binding to [named entrypoints](https://developers.cloudflare.com/workers/runtime-apis/bindings/service-bindings/rpc/#named-entrypoints) defined in a `vite dev` session from another `vite dev` or `wrangler dev` session running locally.
##### Patch Changes
- [#​11383](https://github.com/cloudflare/workers-sdk/pull/11383) [`1d685cb`](https://github.com/cloudflare/workers-sdk/commit/1d685cbae8d37e6b06149563a89868e6a0ca2481) Thanks [@​dario-piotrowicz](https://github.com/dario-piotrowicz)! - Fix: Ensure that `vite dev` and `vite preview` hard error with an appropriate error message when a remote proxy session is required but if the connection with it fails to be established
When using remote bindings, either with `vite dev` or `vite preview`, the remote proxy session necessary to connect to the remote resources can fail to be created. This might happen if for example you try to set a binding with some invalid values such as:
```js
MY_R2: {
type: "r2_bucket",
bucket_name: "non-existent", // No bucket called "non-existent" exists
remote: true,
},
```
Before, this could go undetected and cause unwanted behaviors such as requests handling hanging indefinitely. Now, a hard error will be thrown instead causing the vite process to crash, clearly indicating that something went wrong during the remote session's creation.
- [#​11009](https://github.com/cloudflare/workers-sdk/pull/11009) [`e4ddbc2`](https://github.com/cloudflare/workers-sdk/commit/e4ddbc2f0b64172552f58b148912cfe0b0aa5a71) Thanks [@​dario-piotrowicz](https://github.com/dario-piotrowicz)! - Make sure that the `account_id` present in the user's config file is used for remote bindings
- Updated dependencies \[[`2b4813b`](https://github.com/cloudflare/workers-sdk/commit/2b4813b18076817bb739491246313c32b403651f), [`abe49d8`](https://github.com/cloudflare/workers-sdk/commit/abe49d88ba9db6a033a779e186972901e00a81de), [`b154de2`](https://github.com/cloudflare/workers-sdk/commit/b154de2ffa93bf8eb448ae83a50e8bf3f8250398), [`f29e699`](https://github.com/cloudflare/workers-sdk/commit/f29e699bc022ad0dde2cfddfbea6fa3906068d94), [`5ee3780`](https://github.com/cloudflare/workers-sdk/commit/5ee3780448935a24974e29a3b3837b639157e959), [`6e63b57`](https://github.com/cloudflare/workers-sdk/commit/6e63b57c699d56f29c2acf810b2c81baf88c0330), [`71ab562`](https://github.com/cloudflare/workers-sdk/commit/71ab562f4ba9f8ddc443dc33c486a48fc694e74e), [`76f0540`](https://github.com/cloudflare/workers-sdk/commit/76f05405f990b207f90669fa4046db8806de1267), [`2342d2f`](https://github.com/cloudflare/workers-sdk/commit/2342d2f618b50c508bf5b0bfbab547a801d82d9f), [`5e937c1`](https://github.com/cloudflare/workers-sdk/commit/5e937c181d3189216b6e9fb47ba0776828236c91), [`9a1de61`](https://github.com/cloudflare/workers-sdk/commit/9a1de617412f610a332f2516f4d61bec12556919), [`6b38532`](https://github.com/cloudflare/workers-sdk/commit/6b38532298a17fc4fd643dd8eb96647d9ef98e2f), [`e4ddbc2`](https://github.com/cloudflare/workers-sdk/commit/e4ddbc2f0b64172552f58b148912cfe0b0aa5a71), [`2aec2b4`](https://github.com/cloudflare/workers-sdk/commit/2aec2b4e0ef710ec7e3897f823eca38d22991662), [`695fa25`](https://github.com/cloudflare/workers-sdk/commit/695fa25ae7eb5c66db1b8be7bd59a53a5ee72c1c), [`504e258`](https://github.com/cloudflare/workers-sdk/commit/504e25840cc34bedffcdf3a0f0fcd6fe3dea7f3f), [`5a873bb`](https://github.com/cloudflare/workers-sdk/commit/5a873bbb0f018b02cf26a48da59c5389ef306589), [`d25f7e2`](https://github.com/cloudflare/workers-sdk/commit/d25f7e277f6228c50b7a6c780153474c6a58f236), [`1cfae2d`](https://github.com/cloudflare/workers-sdk/commit/1cfae2d079dd50163545ba914296da1d8ae36d83), [`e7b690b`](https://github.com/cloudflare/workers-sdk/commit/e7b690b6463d49a0c5e9159442533cfcb47e1ee6), [`1d685cb`](https://github.com/cloudflare/workers-sdk/commit/1d685cbae8d37e6b06149563a89868e6a0ca2481), [`edf896d`](https://github.com/cloudflare/workers-sdk/commit/edf896d3bdf4f1a4a085216ee0f06750a5a3d0b8), [`2b4813b`](https://github.com/cloudflare/workers-sdk/commit/2b4813b18076817bb739491246313c32b403651f), [`c47ad11`](https://github.com/cloudflare/workers-sdk/commit/c47ad114f5e5d111a005bc04feb587a1261f4525), [`a977701`](https://github.com/cloudflare/workers-sdk/commit/a9777016bc199f1409324f8383e2b3ab43d1c212), [`9eaa9e2`](https://github.com/cloudflare/workers-sdk/commit/9eaa9e2350893f145ce405f35b04dd8919db6699)]:
- miniflare\@​4.20251128.0
- wrangler\@​4.52.0
- [@​cloudflare/unenv-preset](https://github.com/cloudflare/unenv-preset)@​2.7.12
</details>
<details>
<summary>stylelint-types/stylelint-order (@​stylelint-types/stylelint-order)</summary>
### [`v7.0.1`](https://github.com/stylelint-types/stylelint-order/blob/HEAD/CHANGELOG.md#701-2026-01-16)
[Compare Source](https://github.com/stylelint-types/stylelint-order/compare/v7.0.0...v7.0.1)
##### Features
- support stylelint v17 ([1921fba](https://github.com/stylelint-types/stylelint-order/commit/1921fba64a93be9a63e8198dcbeae627e72aa03c))
</details>
<details>
<summary>tsconfig/bases (@​tsconfig/node24)</summary>
### [`v24.0.4`](https://github.com/tsconfig/bases/compare/08017332f321a849991b59a15f062da091c14886...afaba38f0f26a885d0f6515d6c201a0ecccc2b1d)
[Compare Source](https://github.com/tsconfig/bases/compare/08017332f321a849991b59a15f062da091c14886...afaba38f0f26a885d0f6515d6c201a0ecccc2b1d)
</details>
<details>
<summary>unjs/unhead (@​unhead/vue)</summary>
### [`v2.1.3`](https://github.com/unjs/unhead/releases/tag/v2.1.3)
[Compare Source](https://github.com/unjs/unhead/compare/v2.1.2...v2.1.3)
##### 🐞 Bug Fixes
- **unhead**:
- Dedupe `<link rel="alternate">` - by [@​danielroe](https://github.com/danielroe) and **onmax** in [#​655](https://github.com/unjs/unhead/issues/655) [<samp>(fdabe)</samp>](https://github.com/unjs/unhead/commit/fdabe651)
- **vue**:
- Support computed getter trigger - by [@​harlan-zw](https://github.com/harlan-zw) in [#​638](https://github.com/unjs/unhead/issues/638) [<samp>(fd63a)</samp>](https://github.com/unjs/unhead/commit/fd63a285)
- Guard `s._statusRef` - by [@​danielroe](https://github.com/danielroe) in [#​642](https://github.com/unjs/unhead/issues/642) [<samp>(4ef03)</samp>](https://github.com/unjs/unhead/commit/4ef03ebf)
##### 🏎 Performance
- **vue**: Avoid duplicating error message in the bundle - by [@​panstromek](https://github.com/panstromek) in [#​652](https://github.com/unjs/unhead/issues/652) [<samp>(194e5)</samp>](https://github.com/unjs/unhead/commit/194e561b)
##### [View changes on GitHub](https://github.com/unjs/unhead/compare/v2.1.2...v2.1.3)
### [`v2.1.2`](https://github.com/unjs/unhead/releases/tag/v2.1.2)
[Compare Source](https://github.com/unjs/unhead/compare/v2.1.1...v2.1.2)
##### 🐞 Bug Fixes
- Broken cjs environment - by [@​harlan-zw](https://github.com/harlan-zw) [<samp>(ce989)</samp>](https://github.com/unjs/unhead/commit/ce989722)
##### [View changes on GitHub](https://github.com/unjs/unhead/compare/v2.1.1...v2.1.2)
### [`v2.1.1`](https://github.com/unjs/unhead/releases/tag/v2.1.1)
[Compare Source](https://github.com/unjs/unhead/compare/v2.1.0...v2.1.1)
*No significant changes*
##### [View changes on GitHub](https://github.com/unjs/unhead/compare/v2.1.0...v2.1.1)
### [`v2.1.0`](https://github.com/unjs/unhead/releases/tag/v2.1.0)
[Compare Source](https://github.com/unjs/unhead/compare/v2.0.19...v2.1.0)
##### 🚀 Features
- **schema-org**: 12 new nodes - by [@​harlan-zw](https://github.com/harlan-zw) in [#​612](https://github.com/unjs/unhead/issues/612) [<samp>(1a9b8)</samp>](https://github.com/unjs/unhead/commit/1a9b80a1)
##### 🐞 Bug Fixes
- **react**:
- Recursive function resolves broken - by [@​harlan-zw](https://github.com/harlan-zw) [<samp>(4e0c7)</samp>](https://github.com/unjs/unhead/commit/4e0c719a)
- **schema-org**:
- Correct month off-by-one - by [@​harlan-zw](https://github.com/harlan-zw) in [#​603](https://github.com/unjs/unhead/issues/603) [<samp>(a3e70)</samp>](https://github.com/unjs/unhead/commit/a3e700a8)
- Missing schema.org properties - by [@​harlan-zw](https://github.com/harlan-zw) in [#​614](https://github.com/unjs/unhead/issues/614) [<samp>(54e05)</samp>](https://github.com/unjs/unhead/commit/54e05522)
- **unhead**:
- Enforce boolean string meta contents - by [@​kfreezen](https://github.com/kfreezen) in [#​594](https://github.com/unjs/unhead/issues/594) [<samp>(0b8e7)</samp>](https://github.com/unjs/unhead/commit/0b8e71f1)
- Capo module scripts ordering - by [@​Barbapapazes](https://github.com/Barbapapazes) in [#​600](https://github.com/unjs/unhead/issues/600) [<samp>(3c661)</samp>](https://github.com/unjs/unhead/commit/3c661921)
- Capo inline scripts ordering - by [@​Barbapapazes](https://github.com/Barbapapazes) in [#​596](https://github.com/unjs/unhead/issues/596) [<samp>(7be75)</samp>](https://github.com/unjs/unhead/commit/7be752c8)
- Normalize script type - by [@​harlan-zw](https://github.com/harlan-zw) [<samp>(e51b6)</samp>](https://github.com/unjs/unhead/commit/e51b6464)
- Safer handling of input - by [@​harlan-zw](https://github.com/harlan-zw) [<samp>(b4b6c)</samp>](https://github.com/unjs/unhead/commit/b4b6c58d)
##### 🏎 Performance
- **schema-org**:
- Remove ohash and defu dependencies - by [@​harlan-zw](https://github.com/harlan-zw) in [#​605](https://github.com/unjs/unhead/issues/605) [<samp>(0d508)</samp>](https://github.com/unjs/unhead/commit/0d50831a)
- Rework graph resolution - by [@​harlan-zw](https://github.com/harlan-zw) in [#​616](https://github.com/unjs/unhead/issues/616) [<samp>(b79e4)</samp>](https://github.com/unjs/unhead/commit/b79e46d9)
##### [View changes on GitHub](https://github.com/unjs/unhead/compare/v2.0.19...v2.1.0)
</details>
<details>
<summary>vueuse/vueuse (@​vueuse/core)</summary>
### [`v14.2.0`](https://github.com/vueuse/vueuse/releases/tag/v14.2.0)
[Compare Source](https://github.com/vueuse/vueuse/compare/v14.1.0...v14.2.0)
##### 🚀 Features
- Support configurable scheduler for timed composables - by [@​9romise](https://github.com/9romise) in [#​5129](https://github.com/vueuse/vueuse/issues/5129) [<samp>(66aad)</samp>](https://github.com/vueuse/vueuse/commit/66aad3c5)
- Allow vue-router 5 as peer deps - by [@​Ericlm](https://github.com/Ericlm) in [#​5269](https://github.com/vueuse/vueuse/issues/5269) [<samp>(7c94a)</samp>](https://github.com/vueuse/vueuse/commit/7c94afb7)
- **useCssSupports**: Add `useCssSupports` - by [@​OrbisK](https://github.com/OrbisK) in [#​5266](https://github.com/vueuse/vueuse/issues/5266) [<samp>(c1282)</samp>](https://github.com/vueuse/vueuse/commit/c1282ffb)
- **useDraggable**: Auto-scroll with restricted dragging within the container - by [@​Gazoon007](https://github.com/Gazoon007), **Alfarish Fizikri**, **Robin** and [@​OrbisK](https://github.com/OrbisK) in [#​4472](https://github.com/vueuse/vueuse/issues/4472) [<samp>(a8a85)</samp>](https://github.com/vueuse/vueuse/commit/a8a85871)
- **useElementVisibility**: Inherit `rootMargin` from `useIntersectionObserver` - by [@​9romise](https://github.com/9romise) in [#​5207](https://github.com/vueuse/vueuse/issues/5207) [<samp>(46682)</samp>](https://github.com/vueuse/vueuse/commit/466823cd)
- **useIntersectionObserver**: Make `rootMargin` reactive - by [@​doyuli](https://github.com/doyuli), [@​ilyaliao](https://github.com/ilyaliao) and [@​9romise](https://github.com/9romise) in [#​4934](https://github.com/vueuse/vueuse/issues/4934) [<samp>(53abe)</samp>](https://github.com/vueuse/vueuse/commit/53abedf0)
- **useSortable**: Add `watchElement` option for auto-reinitialize on element change - by [@​Mini-ghost](https://github.com/Mini-ghost) and [@​ilyaliao](https://github.com/ilyaliao) in [#​5189](https://github.com/vueuse/vueuse/issues/5189) [<samp>(17ea2)</samp>](https://github.com/vueuse/vueuse/commit/17ea2881)
##### 🐞 Bug Fixes
- **nuxt**: Ensure excludes disabledFunctions' alias - by [@​jinyongp](https://github.com/jinyongp) and [@​9romise](https://github.com/9romise) in [#​5240](https://github.com/vueuse/vueuse/issues/5240) [<samp>(76829)</samp>](https://github.com/vueuse/vueuse/commit/768298c0)
- **refManualReset**: Add explicit return type annotation - by [@​batuhan-bas](https://github.com/batuhan-bas) in [#​5246](https://github.com/vueuse/vueuse/issues/5246) [<samp>(13bbb)</samp>](https://github.com/vueuse/vueuse/commit/13bbbe53)
- **useAsyncState**: Ensure `execute` return the actual data - by [@​9romise](https://github.com/9romise) in [#​5167](https://github.com/vueuse/vueuse/issues/5167) [<samp>(0c346)</samp>](https://github.com/vueuse/vueuse/commit/0c346a93)
- **useDocumentVisibility**: Fix type inference from string to Documen… - by [@​webfanzc](https://github.com/webfanzc) and **cowhorse** in [#​5248](https://github.com/vueuse/vueuse/issues/5248) [<samp>(e8be8)</samp>](https://github.com/vueuse/vueuse/commit/e8be8f81)
- **useFocusTrap**: Update `focus-trap` range to `^7 - by ** ^8` ([#​5270](https://github.com/vueuse/vueuse/issues/5270))\*\* [<samp>()</samp>](https://github.com/vueuse/vueuse/commit/)
- **useInfiniteScroll**: Improve promise handling and add flush post to watch - by [@​nhquyss](https://github.com/nhquyss) and [@​9romise](https://github.com/9romise) in [#​5122](https://github.com/vueuse/vueuse/issues/5122) [<samp>(abcea)</samp>](https://github.com/vueuse/vueuse/commit/abcea642)
- **useMagicKeys**: Handle undefined key in keyboard events - by [@​LouisLau-art](https://github.com/LouisLau-art), **LouisLau-art** and [@​OrbisK](https://github.com/OrbisK) in [#​5225](https://github.com/vueuse/vueuse/issues/5225) [<samp>(65e25)</samp>](https://github.com/vueuse/vueuse/commit/65e25ab2)
##### [View changes on GitHub](https://github.com/vueuse/vueuse/compare/v14.1.0...v14.2.0)
</details>
<details>
<summary>capricorn86/happy-dom (happy-dom)</summary>
### [`v20.5.0`](https://github.com/capricorn86/happy-dom/releases/tag/v20.5.0)
[Compare Source](https://github.com/capricorn86/happy-dom/compare/v20.4.0...v20.5.0)
##### :construction\_worker\_man: Patch fixes
- Removes circular dependencies internally - By **[@​capricorn86](https://github.com/capricorn86)** in task [#​2055](https://github.com/capricorn86/happy-dom/issues/2055)
- Compilers can handle simpler circular dependencies, but warnings may be outputted
- Changes naming of types used internally to follow a consistent pattern - By **[@​capricorn86](https://github.com/capricorn86)** in task [#​2055](https://github.com/capricorn86/happy-dom/issues/2055)
- Enforces use of the "type" modifier internally in the source code (e.g. `import type` and `export type`) - By **[@​capricorn86](https://github.com/capricorn86)** in task [#​2055](https://github.com/capricorn86/happy-dom/issues/2055)
### [`v20.4.0`](https://github.com/capricorn86/happy-dom/releases/tag/v20.4.0)
[Compare Source](https://github.com/capricorn86/happy-dom/compare/v20.3.9...v20.4.0)
##### :art: Features
- Adds support for caching the compiled code of EcmaScript modules - By **[@​capricorn86](https://github.com/capricorn86)** in task [#​2049](https://github.com/capricorn86/happy-dom/issues/2049)
- Improves the way nodes are destroyed and garbage collected - By **[@​capricorn86](https://github.com/capricorn86)** in task [#​2049](https://github.com/capricorn86/happy-dom/issues/2049)
### [`v20.3.9`](https://github.com/capricorn86/happy-dom/releases/tag/v20.3.9)
[Compare Source](https://github.com/capricorn86/happy-dom/compare/v20.3.8...v20.3.9)
##### :construction\_worker\_man: Patch fixes
- Accept Document nodes as valid boundary points in Selection API - By **[@​skoch13](https://github.com/skoch13)** in task [#​1952](https://github.com/capricorn86/happy-dom/issues/1952)
### [`v20.3.8`](https://github.com/capricorn86/happy-dom/releases/tag/v20.3.8)
[Compare Source](https://github.com/capricorn86/happy-dom/compare/v20.3.7...v20.3.8)
##### :construction\_worker\_man: Patch fixes
- The getters for the properties `focusNode` and `focusOffset` in the Selection API returned incorrect values - By **[@​skoch13](https://github.com/skoch13)** in task [#​1850](https://github.com/capricorn86/happy-dom/issues/1850)
### [`v20.3.7`](https://github.com/capricorn86/happy-dom/releases/tag/v20.3.7)
[Compare Source](https://github.com/capricorn86/happy-dom/compare/v20.3.6...v20.3.7)
##### :construction\_worker\_man: Patch fixes
- Updates README.md for the "[@​happy-dom/server-renderer](https://github.com/happy-dom/server-renderer)" package - By **[@​capricorn86](https://github.com/capricorn86)** in task [#​2035](https://github.com/capricorn86/happy-dom/issues/2035)
### [`v20.3.6`](https://github.com/capricorn86/happy-dom/releases/tag/v20.3.6)
[Compare Source](https://github.com/capricorn86/happy-dom/compare/v20.3.5...v20.3.6)
##### :construction\_worker\_man: Patch fixes
- Fixes issue where it wasn't possible to toggle the "open" attribute of `<details>` by clicking on a child of the `<summary>` element - By **[@​Nxooah](https://github.com/Nxooah)** in task [#​1928](https://github.com/capricorn86/happy-dom/issues/1928)
### [`v20.3.5`](https://github.com/capricorn86/happy-dom/releases/tag/v20.3.5)
[Compare Source](https://github.com/capricorn86/happy-dom/compare/v20.3.4...v20.3.5)
##### :construction\_worker\_man: Patch fixes
- Use internal property for "location" in `BrowserFrameURL` to avoid mock interference - By **[@​marchaos](https://github.com/marchaos)** in task [#​1964](https://github.com/capricorn86/happy-dom/issues/1964)
- Add optional chaining to the "hostname" and pathname" properties to check if they are undefined in `CookieURLUtility` - By **[@​marchaos](https://github.com/marchaos)** in task [#​1968](https://github.com/capricorn86/happy-dom/issues/1968)
### [`v20.3.4`](https://github.com/capricorn86/happy-dom/releases/tag/v20.3.4)
[Compare Source](https://github.com/capricorn86/happy-dom/compare/v20.3.3...v20.3.4)
##### :construction\_worker\_man: Patch fixes
- Preserve attribute name case in CSS selectors for XML documents - By **[@​TrevorBurnham](https://github.com/TrevorBurnham)** in task [#​1912](https://github.com/capricorn86/happy-dom/issues/1912)
- Implement implicit closing of `<p>` elements per HTML spec - By **[@​TrevorBurnham](https://github.com/TrevorBurnham)** in task [#​1949](https://github.com/capricorn86/happy-dom/issues/1949)
- `EventTarget` should not call arbitrary on\* properties - By **[@​TrevorBurnham](https://github.com/TrevorBurnham)** in task [#​1895](https://github.com/capricorn86/happy-dom/issues/1895)
### [`v20.3.3`](https://github.com/capricorn86/happy-dom/releases/tag/v20.3.3)
[Compare Source](https://github.com/capricorn86/happy-dom/compare/v20.3.2...v20.3.3)
##### :construction\_worker\_man: Patch fixes
- Add "which" property to `KeyboardEvent` - By **[@​TrevorBurnham](https://github.com/TrevorBurnham)** in task [#​1897](https://github.com/capricorn86/happy-dom/issues/1897)
- `Node.getRootNode()` returns correct root for detached shadow trees - By **[@​TrevorBurnham](https://github.com/TrevorBurnham)** in task [#​1941](https://github.com/capricorn86/happy-dom/issues/1941)
- Fixes issue that prevented `Node.contains()` to work for `<select>` and `<form>` elements - By **[@​TrevorBurnham](https://github.com/TrevorBurnham)** in task [#​1876](https://github.com/capricorn86/happy-dom/issues/1876)
- Replace `setTimeout()` with `queueMicrotask()` where appropriate - By **[@​TrevorBurnham](https://github.com/TrevorBurnham)** in task [#​1880](https://github.com/capricorn86/happy-dom/issues/1880)
- Optimize `XMLEncodeUtility` with pre-compiled `RegExp` and lookup tables - By **[@​TrevorBurnham](https://github.com/TrevorBurnham)** in task [#​1983](https://github.com/capricorn86/happy-dom/issues/1983)
- Use `parseFloat()` for "Cache-Control" header max-age parsing - By **[@​TrevorBurnham](https://github.com/TrevorBurnham)** in task [#​1985](https://github.com/capricorn86/happy-dom/issues/1985)
- Remove redundant `RegExp` flags in `HTMLParser` - By **[@​TrevorBurnham](https://github.com/TrevorBurnham)** in task [#​1981](https://github.com/capricorn86/happy-dom/issues/1981)
- Widen "types/node" version range to support Node 24+ - By **[@​TrevorBurnham](https://github.com/TrevorBurnham)** in task [#​1966](https://github.com/capricorn86/happy-dom/issues/1966)
### [`v20.3.2`](https://github.com/capricorn86/happy-dom/releases/tag/v20.3.2)
[Compare Source](https://github.com/capricorn86/happy-dom/compare/v20.3.1...v20.3.2)
##### :construction\_worker\_man: Patch fixes
- Use `PropertySymbol.body` to set body in `cloneBodyStream` - By **[@​TrevorBurnham](https://github.com/TrevorBurnham)** in task [#​1963](https://github.com/capricorn86/happy-dom/issues/1963)
- Optimize `DOMTokenList` add/remove with Set for O - By **[@​TrevorBurnham](https://github.com/TrevorBurnham)** in task [#​1989](https://github.com/capricorn86/happy-dom/issues/1989)
- Allow paths in `WebSocket` URLs - By **[@​TrevorBurnham](https://github.com/TrevorBurnham)** in task [#​1975](https://github.com/capricorn86/happy-dom/issues/1975)
- Decode named HTML entities correctly - By **[@​TrevorBurnham](https://github.com/TrevorBurnham)** in task [#​1951](https://github.com/capricorn86/happy-dom/issues/1951)
### [`v20.3.1`](https://github.com/capricorn86/happy-dom/releases/tag/v20.3.1)
[Compare Source](https://github.com/capricorn86/happy-dom/compare/v20.3.0...v20.3.1)
##### :construction\_worker\_man: Patch fixes
- Normalizes the "format" parameter according to the HTML specification in `DataTransfer.getData()` - By **[@​marchaos](https://github.com/marchaos)** in task [#​1965](https://github.com/capricorn86/happy-dom/issues/1965)
- Handle partial responses in `XMLHttpRequest` - By **[@​rexxars](https://github.com/rexxars)** in task [#​1890](https://github.com/capricorn86/happy-dom/issues/1890)
### [`v20.3.0`](https://github.com/capricorn86/happy-dom/releases/tag/v20.3.0)
[Compare Source](https://github.com/capricorn86/happy-dom/compare/v20.2.0...v20.3.0)
##### :art: Features
- Use `RegExp` to convert ASCII character casing to improve performance - By **[@​TrevorBurnham](https://github.com/TrevorBurnham)** in task [#​1886](https://github.com/capricorn86/happy-dom/issues/1886)
### [`v20.2.0`](https://github.com/capricorn86/happy-dom/releases/tag/v20.2.0)
[Compare Source](https://github.com/capricorn86/happy-dom/compare/v20.1.1...v20.2.0)
##### :art: Features
- Use `Element.classList.contains()` instead of splitting `className` in query selectors to improve performance as it's cached - By **[@​TrevorBurnham](https://github.com/TrevorBurnham)** in task [#​1884](https://github.com/capricorn86/happy-dom/issues/1884)
### [`v20.1.1`](https://github.com/capricorn86/happy-dom/releases/tag/v20.1.1)
[Compare Source](https://github.com/capricorn86/happy-dom/compare/v20.1.0...v20.1.1)
##### :construction\_worker\_man: Patch fixes
- Fixes caching in `querySelector()` - By **[@​TrevorBurnham](https://github.com/TrevorBurnham)** in task [#​1882](https://github.com/capricorn86/happy-dom/issues/1882)
- Avoid sort in `querySelector()` to improve performance - By **[@​TrevorBurnham](https://github.com/TrevorBurnham)** in task [#​1882](https://github.com/capricorn86/happy-dom/issues/1882)
### [`v20.1.0`](https://github.com/capricorn86/happy-dom/releases/tag/v20.1.0)
[Compare Source](https://github.com/capricorn86/happy-dom/compare/v20.0.11...v20.1.0)
##### :art: Features
- Adds support for `BrowserPage.evaluateModule()` and `BrowserFrame.evaluateModule()` - By **[@​capricorn86](https://github.com/capricorn86)** in task [#​1944](https://github.com/capricorn86/happy-dom/issues/1944)
- Adds support for `module` to the [browser settings](https://github.com/capricorn86/happy-dom/wiki/IOptionalBrowserSettings#properties) - By **[@​capricorn86](https://github.com/capricorn86)** in task [#​1944](https://github.com/capricorn86/happy-dom/issues/1944)
- This makes it possible to add a custom resolver or a node module resolver
- Adds support for dynamic `import()` to JavaScript evaluation - By **[@​capricorn86](https://github.com/capricorn86)** in task [#​1944](https://github.com/capricorn86/happy-dom/issues/1944)
- It was previously only supported when using `type="module"` on script elements
- Adds support for `WebSocket` - By **[@​capricorn86](https://github.com/capricorn86)** in task [#​1944](https://github.com/capricorn86/happy-dom/issues/1944)
- Adds support for `CloseEvent` - By **[@​capricorn86](https://github.com/capricorn86)** in task [#​1944](https://github.com/capricorn86/happy-dom/issues/1944)
- Adds support for `render.setupScript` and `render.mode` to the configuration in [@​happy-dom/server-renderer](https://github.com/capricorn86/happy-dom/tree/master/packages/%40happy-dom/server-renderer) - By **[@​capricorn86](https://github.com/capricorn86)** in task [#​1944](https://github.com/capricorn86/happy-dom/issues/1944)
- Changes name from `urls` to `renderItems` in the configuration in [@​happy-dom/server-renderer](https://github.com/capricorn86/happy-dom/tree/master/packages/%40happy-dom/server-renderer) - By **[@​capricorn86](https://github.com/capricorn86)** in task [#​1944](https://github.com/capricorn86/happy-dom/issues/1944)
- Adds support for rendering HTML strings to `ServerRenderer` in [@​happy-dom/server-renderer](https://github.com/capricorn86/happy-dom/tree/master/packages/%40happy-dom/server-renderer) - By **[@​capricorn86](https://github.com/capricorn86)** in task [#​1944](https://github.com/capricorn86/happy-dom/issues/1944)
- It previously only had support for rendering URLs
- This makes it easier to add server-rendering as a hook to frameworks
- Makes JavaScript evaluation disabled by default in [@​happy-dom/server-renderer](https://github.com/capricorn86/happy-dom/tree/master/packages/%40happy-dom/server-renderer) - By **[@​capricorn86](https://github.com/capricorn86)** in task [#​1944](https://github.com/capricorn86/happy-dom/issues/1944)
##### :construction\_worker\_man: Patch fixes
- Several fixed to the EcmaScript module compiler (esm) - By **[@​capricorn86](https://github.com/capricorn86)** in task [#​1944](https://github.com/capricorn86/happy-dom/issues/1944)
- Fixes issue where rendering using Worker's didn't work in [@​happy-dom/server-renderer](https://github.com/capricorn86/happy-dom/tree/master/packages/%40happy-dom/server-renderer) - By **[@​capricorn86](https://github.com/capricorn86)** in task [#​1944](https://github.com/capricorn86/happy-dom/issues/1944)
</details>
<details>
<summary>jsdom/jsdom (jsdom)</summary>
### [`v27.4.0`](https://github.com/jsdom/jsdom/blob/HEAD/Changelog.md#2740)
[Compare Source](https://github.com/jsdom/jsdom/compare/27.3.0...27.4.0)
- Added `TextEncoder` and `TextDecoder`.
- Improved decoding of HTML bytes by using the new [`@exodus/bytes`](https://www.npmjs.com/package/@​exodus/bytes) package; it is now much more correct. (ChALkeR)
- Improved decoding of XML bytes to use UTF-8 more often, instead of sniffing for `<meta charset>` or using the parent frame's encoding.
- Fixed a memory leak when `Range`s were used and then the elements referred to by those ranges were removed.
### [`v27.3.0`](https://github.com/jsdom/jsdom/blob/HEAD/Changelog.md#2730)
[Compare Source](https://github.com/jsdom/jsdom/compare/27.2.0...27.3.0)
- Improved CSS parsing and CSSOM object APIs via updates to [`@acemir/cssom`](https://www.npmjs.com/package/@​acemir/cssom). (acemir)
</details>
<details>
<summary>lodash/lodash (lodash-es)</summary>
### [`v4.17.23`](https://github.com/lodash/lodash/compare/0082be44648961341600e879042f74cd29d65d05...4.17.23)
[Compare Source](https://github.com/lodash/lodash/compare/0082be44648961341600e879042f74cd29d65d05...4.17.23)
### [`v4.17.22`](https://github.com/lodash/lodash/compare/4.17.21...0082be44648961341600e879042f74cd29d65d05)
[Compare Source](https://github.com/lodash/lodash/compare/4.17.21...0082be44648961341600e879042f74cd29d65d05)
</details>
<details>
<summary>ota-meshi/postcss-html (postcss-html)</summary>
### [`v1.8.1`](https://github.com/ota-meshi/postcss-html/releases/tag/v1.8.1)
[Compare Source](https://github.com/ota-meshi/postcss-html/compare/v1.8.0...v1.8.1)
#### What's Changed
- fix: crash in `toJSON()` due to `document` property. by [@​ota-meshi](https://github.com/ota-meshi) in [#​147](https://github.com/ota-meshi/postcss-html/pull/147)
**Full Changelog**: <https://github.com/ota-meshi/postcss-html/compare/v1.8.0...v1.8.1>
</details>
<details>
<summary>rollup/rollup (rollup)</summary>
### [`v4.57.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4571)
[Compare Source](https://github.com/rollup/rollup/compare/v4.57.0...v4.57.1)
*2026-01-30*
##### Bug Fixes
- Fix heap corruption issue in Windows ([#​6251](https://github.com/rollup/rollup/issues/6251))
- Ensure exports of a dynamic import are fully included when called from a try...catch ([#​6254](https://github.com/rollup/rollup/issues/6254))
##### Pull Requests
- [#​6251](https://github.com/rollup/rollup/pull/6251): fix: Isolate and cache `process.report.getReport()` calls in a child process for robust environment detection ([@​alan-agius4](https://github.com/alan-agius4), [@​lukastaegert](https://github.com/lukastaegert))
- [#​6252](https://github.com/rollup/rollup/pull/6252): chore(deps): update dependency lru-cache to v11 ([@​renovate](https://github.com/renovate)\[bot])
- [#​6253](https://github.com/rollup/rollup/pull/6253): chore(deps): lock file maintenance minor/patch updates ([@​renovate](https://github.com/renovate)\[bot], [@​lukastaegert](https://github.com/lukastaegert))
- [#​6254](https://github.com/rollup/rollup/pull/6254): Fully include dynamic imports in a try-catch ([@​lukastaegert](https://github.com/lukastaegert))
- [#​6255](https://github.com/rollup/rollup/pull/6255): chore(deps): lock file maintenance ([@​renovate](https://github.com/renovate)\[bot])
### [`v4.57.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4570)
[Compare Source](https://github.com/rollup/rollup/compare/v4.56.0...v4.57.0)
*2026-01-27*
##### Features
- Add import attributes to all plugin hooks that did not provide them yet ([#​5700](https://github.com/rollup/rollup/issues/5700))
- Deprecate returning import attributes from `load` or `transform` hooks as that will no longer be supported with rollup 5 ([#​5700](https://github.com/rollup/rollup/issues/5700))
##### Pull Requests
- [#​5700](https://github.com/rollup/rollup/pull/5700): extend more hooks to include import attributes and add warnings ([@​TrickyPi](https://github.com/TrickyPi), [@​lukastaegert](https://github.com/lukastaegert))
- [#​6243](https://github.com/rollup/rollup/pull/6243): fix(deps): update swc monorepo (major) ([@​renovate](https://github.com/renovate)\[bot], [@​lukastaegert](https://github.com/lukastaegert))
- [#​6244](https://github.com/rollup/rollup/pull/6244): fix(deps): lock file maintenance minor/patch updates ([@​renovate](https://github.com/renovate)\[bot], [@​lukastaegert](https://github.com/lukastaegert))
- [#​6245](https://github.com/rollup/rollup/pull/6245): chore(deps): lock file maintenance ([@​renovate](https://github.com/renovate)\[bot])
- [#​6246](https://github.com/rollup/rollup/pull/6246): Refactor to reduce Rollup 5 upgrade diff ([@​lukastaegert](https://github.com/lukastaegert))
### [`v4.56.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4560)
[Compare Source](https://github.com/rollup/rollup/compare/v4.55.3...v4.56.0)
*2026-01-22*
##### Features
- Track object property inclusions of dynamic namespace members ([#​6230](https://github.com/rollup/rollup/issues/6230))
##### Bug Fixes
- Handle methods that access dynamically imported namespace members via `this` ([#​6230](https://github.com/rollup/rollup/issues/6230))
##### Pull Requests
- [#​6230](https://github.com/rollup/rollup/pull/6230): Refine namespace handling ([@​lukastaegert](https://github.com/lukastaegert))
### [`v4.55.3`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4553)
[Compare Source](https://github.com/rollup/rollup/compare/v4.55.2...v4.55.3)
*2026-01-21*
##### Bug Fixes
- Fix JSX semicolon insert position in variable declarations ([#​6241](https://github.com/rollup/rollup/issues/6241))
##### Pull Requests
- [#​6241](https://github.com/rollup/rollup/pull/6241): Fix JSX semicolon insertion ([@​lukastaegert](https://github.com/lukastaegert))
### [`v4.55.2`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4552)
[Compare Source](https://github.com/rollup/rollup/compare/v4.55.1...v4.55.2)
*2026-01-19*
##### Bug Fixes
- Sort manual chunks by execution order to reduce circular dependency issues ([#​6240](https://github.com/rollup/rollup/issues/6240))
##### Pull Requests
- [#​6234](https://github.com/rollup/rollup/pull/6234): chore(deps): pin cross-platform-actions/action action to [`492b0c8`](https://github.com/rollup/rollup/commit/492b0c8) ([@​renovate](https://github.com/renovate)\[bot])
- [#​6235](https://github.com/rollup/rollup/pull/6235): chore(deps): update dependency globals to v17 ([@​renovate](https://github.com/renovate)\[bot], [@​lukastaegert](https://github.com/lukastaegert))
- [#​6236](https://github.com/rollup/rollup/pull/6236): fix(deps): lock file maintenance minor/patch updates ([@​renovate](https://github.com/renovate)\[bot])
- [#​6237](https://github.com/rollup/rollup/pull/6237): chore(deps): lock file maintenance ([@​renovate](https://github.com/renovate)\[bot])
- [#​6239](https://github.com/rollup/rollup/pull/6239): fix(deps): lock file maintenance minor/patch updates ([@​renovate](https://github.com/renovate)\[bot], [@​lukastaegert](https://github.com/lukastaegert))
- [#​6240](https://github.com/rollup/rollup/pull/6240): Sort manual chunks by module execution order ([@​TrickyPi](https://github.com/TrickyPi))
### [`v4.55.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4551)
[Compare Source](https://github.com/rollup/rollup/compare/v4.54.0...v4.55.1)
*2026-01-05*
##### Bug Fixes
- Fix artifact reference for OpenBSD ([#​6231](https://github.com/rollup/rollup/issues/6231))
##### Pull Requests
- [#​6231](https://github.com/rollup/rollup/pull/6231): Fix OpenBSD artifacts and ensure OIDC is working ([@​lukastaegert](https://github.com/lukastaegert))
### [`v4.54.0`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4540)
[Compare Source](https://github.com/rollup/rollup/compare/v4.53.5...v4.54.0)
*2025-12-20*
##### Features
- Enable tree-shaking for `Symbol.hasInstance`, `Symbol.dispose` and `Symbol.asyncDispose` properties if unused ([#​6046](https://github.com/rollup/rollup/issues/6046))
##### Bug Fixes
- Ensure that well-known-Symbol-valued properties are not tree-shaken except in select cases ([#​6046](https://github.com/rollup/rollup/issues/6046))
- Ensure namespace properties are included when referenced only from a try-catch ([#​6216](https://github.com/rollup/rollup/issues/6216))
##### Pull Requests
- [#​6046](https://github.com/rollup/rollup/pull/6046): fix: correctly handle wellknown protocols ([@​cyyynthia](https://github.com/cyyynthia), [@​lukastaegert](https://github.com/lukastaegert))
- [#​6201](https://github.com/rollup/rollup/pull/6201): chore(deps): update dependency lru-cache to v11 ([@​renovate](https://github.com/renovate)\[bot], [@​lukastaegert](https://github.com/lukastaegert))
- [#​6211](https://github.com/rollup/rollup/pull/6211): chore(deps): update msys2/setup-msys2 digest to [`4f806de`](https://github.com/rollup/rollup/commit/4f806de) ([@​renovate](https://github.com/renovate)\[bot], [@​lukastaegert](https://github.com/lukastaegert))
- [#​6212](https://github.com/rollup/rollup/pull/6212): chore(deps): update actions/cache action to v5 ([@​renovate](https://github.com/renovate)\[bot])
- [#​6213](https://github.com/rollup/rollup/pull/6213): chore(deps): update github artifact actions (major) ([@​renovate](https://github.com/renovate)\[bot])
- [#​6214](https://github.com/rollup/rollup/pull/6214): fix(deps): lock file maintenance minor/patch updates ([@​renovate](https://github.com/renovate)\[bot])
- [#​6215](https://github.com/rollup/rollup/pull/6215): chore(deps): lock file maintenance ([@​renovate](https://github.com/renovate)\[bot])
- [#​6216](https://github.com/rollup/rollup/pull/6216): fix: include namespace variable paths during try-catch deoptimization ([@​schwing](https://github.com/schwing))
### [`v4.53.5`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4535)
[Compare Source](https://github.com/rollup/rollup/compare/v4.53.4...v4.53.5)
*2025-12-16*
##### Bug Fixes
- Fix wrong semicolon insertion position when using JSX ([#​6206](https://github.com/rollup/rollup/issues/6206))
- Generate spec-compliant sourcemaps when sources content is excluded ([#​6196](https://github.com/rollup/rollup/issues/6196))
##### Pull Requests
- [#​6196](https://github.com/rollup/rollup/pull/6196): fix: set sourcesContent to undefined instead of null when excluding sources content ([@​TrickyPi](https://github.com/TrickyPi))
- [#​6206](https://github.com/rollup/rollup/pull/6206): Fix semicolon order in JSX ([@​TrickyPi](https://github.com/TrickyPi))
### [`v4.53.4`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4534)
[Compare Source](https://github.com/rollup/rollup/compare/v4.53.3...v4.53.4)
*2025-12-15*
##### Bug Fixes
- Ensure `Symbol.dispose` and `Symbol.asyncDispose` properties are never removed with `(await) using` declarations. ([#​6209](https://github.com/rollup/rollup/issues/6209))
##### Pull Requests
- [#​6185](https://github.com/rollup/rollup/pull/6185): chore(deps): update dependency [@​inquirer/prompts](https://github.com/inquirer/prompts) to v8 ([@​renovate](https://github.com/renovate)\[bot], [@​lukastaegert](https://github.com/lukastaegert))
- [#​6186](https://github.com/rollup/rollup/pull/6186): fix(deps): lock file maintenance minor/patch updates ([@​renovate](https://github.com/renovate)\[bot])
- [#​6187](https://github.com/rollup/rollup/pull/6187): chore(deps): lock file maintenance ([@​renovate](https://github.com/renovate)\[bot])
- [#​6188](https://github.com/rollup/rollup/pull/6188): chore(deps): lock file maintenance minor/patch updates ([@​renovate](https://github.com/renovate)\[bot])
- [#​6190](https://github.com/rollup/rollup/pull/6190): Fix syntax error in manualChunks example ([@​jonnyeom](https://github.com/jonnyeom))
- [#​6194](https://github.com/rollup/rollup/pull/6194): chore(deps): update actions/checkout action to v6 ([@​renovate](https://github.com/renovate)\[bot])
- [#​6195](https://github.com/rollup/rollup/pull/6195): fix(deps): lock file maintenance minor/patch updates ([@​renovate](https://github.com/renovate)\[bot], [@​lukastaegert](https://github.com/lukastaegert))
- [#​6202](https://github.com/rollup/rollup/pull/6202): fix(deps): update swc monorepo (major) ([@​renovate](https://github.com/renovate)\[bot])
- [#​6203](https://github.com/rollup/rollup/pull/6203): fix(deps): lock file maintenance minor/patch updates ([@​renovate](https://github.com/renovate)\[bot], [@​lukastaegert](https://github.com/lukastaegert))
- [#​6209](https://github.com/rollup/rollup/pull/6209): Do not tree-shake handlers for "using" ([@​lukastaegert](https://github.com/lukastaegert))
</details>
<details>
<summary>sass/embedded-host-node (sass-embedded)</summary>
### [`v1.97.3`](https://github.com/sass/embedded-host-node/blob/HEAD/CHANGELOG.md#1973)
[Compare Source](https://github.com/sass/embedded-host-node/compare/1.97.2...1.97.3)
- Fix a bug where nesting an at-rule within multiple style rules in plain CSS
could cause outer style rules to be omitted.
### [`v1.97.2`](https://github.com/sass/embedded-host-node/blob/HEAD/CHANGELOG.md#1972)
[Compare Source](https://github.com/sass/embedded-host-node/compare/1.97.1...1.97.2)
- Additional fixes for implicit configuration when nested imports are involved.
### [`v1.97.1`](https://github.com/sass/embedded-host-node/blob/HEAD/CHANGELOG.md#1971)
[Compare Source](https://github.com/sass/embedded-host-node/compare/1.97.0...1.97.1)
- Fix a bug with the new CSS-style `if()` syntax where values would be evaluated
even if their conditions didn't match.
### [`v1.97.0`](https://github.com/sass/embedded-host-node/blob/HEAD/CHANGELOG.md#1970)
[Compare Source](https://github.com/sass/embedded-host-node/compare/1.96.0...1.97.0)
- Add support for the `display-p3-linear` color space.
### [`v1.96.0`](https://github.com/sass/embedded-host-node/blob/HEAD/CHANGELOG.md#1960)
[Compare Source](https://github.com/sass/embedded-host-node/compare/1.95.1...1.96.0)
- Allow numbers with complex units (more than one numerator unit or more than
zero denominator units) to be emitted to CSS. These are now emitted as
`calc()` expressions, which now support complex units in plain CSS.
### [`v1.95.1`](https://github.com/sass/embedded-host-node/blob/HEAD/CHANGELOG.md#1951)
[Compare Source](https://github.com/sass/embedded-host-node/compare/1.93.3...1.95.1)
- No user-visible changes.
</details>
<details>
<summary>stormwarning/stylelint-config-recess-order (stylelint-config-recess-order)</summary>
### [`v7.6.0`](https://github.com/stormwarning/stylelint-config-recess-order/blob/HEAD/CHANGELOG.md#760)
[Compare Source](https://github.com/stormwarning/stylelint-config-recess-order/compare/v7.5.0...v7.6.0)
##### Minor Changes
- Add Anchor Positioning properties ([#​449](https://github.com/stormwarning/stylelint-config-recess-order/pull/449))
- [`anchor-name`](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/anchor-name)
- [`anchor-scope`](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/anchor-scope)
- `anchor-center`
- [`position-area`](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/position-area)
- [`position-anchor`](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/position-anchor)
- [`position-try`](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/position-try)
- [`position-try-order`](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/position-try-order)
- [`position-try-fallbacks`](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/position-fallbacks)
- [`position-visibility`](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/position-visibility)
### [`v7.5.0`](https://github.com/stormwarning/stylelint-config-recess-order/blob/HEAD/CHANGELOG.md#750)
[Compare Source](https://github.com/stormwarning/stylelint-config-recess-order/compare/v7.4.0...v7.5.0)
##### Minor Changes
- Add Corner Shape properties ([#​442](https://github.com/stormwarning/stylelint-config-recess-order/pull/442))\
Thanks [@​aicest](https://github.com/aicest)!
- [`corner`](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/corner)
- longhand `corner-*` properties
- [`corner-shape`](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/corner-shape)
- longhand `corner-*-shape` properties
##### Patch Changes
- Add support for Stylelint v17 ([#​447](https://github.com/stormwarning/stylelint-config-recess-order/pull/447))
Updated peerDependencies version ranges for `stylelint` and `stylelint-order`.
Fixes [#​446](https://github.com/stormwarning/stylelint-config-recess-order/issues/446)
</details>
<details>
<summary>unocss/unocss (unocss)</summary>
### [`v66.6.0`](https://github.com/unocss/unocss/releases/tag/v66.6.0)
[Compare Source](https://github.com/unocss/unocss/compare/v66.5.12...v66.6.0)
##### 🚀 Features
- **core**:
- Add `allLayers` option to output all layer names - by [@​zyyv](https://github.com/zyyv) in [#​5057](https://github.com/unocss/unocss/issues/5057) [<samp>(b55b4)</samp>](https://github.com/unocss/unocss/commit/b55b4628c)
- **preset-mini, preset-wind4**:
- Add `stretch` keyword for width/height - by [@​zyyv](https://github.com/zyyv) in [#​5048](https://github.com/unocss/unocss/issues/5048) [<samp>(126d1)</samp>](https://github.com/unocss/unocss/commit/126d15ab8)
- Optimize `contain-intrinsic-size` rule close [#​5045](https://github.com/unocss/unocss/issues/5045) - by [@​zyyv](https://github.com/zyyv) in [#​5045](https://github.com/unocss/unocss/issues/5045) [<samp>(d5346)</samp>](https://github.com/unocss/unocss/commit/d53461ff8)
##### 🐞 Bug Fixes
- **build**: Remove tsconfig paths mapping and adjust bundle config - by [@​Jungzl](https://github.com/Jungzl) and [@​zyyv](https://github.com/zyyv) in [#​5052](https://github.com/unocss/unocss/issues/5052) [<samp>(55748)</samp>](https://github.com/unocss/unocss/commit/557484b74)
- **cli**: Avoid clearing cache early to prevent race condition in watch mode - by [@​zyyv](https://github.com/zyyv) in [#​5054](https://github.com/unocss/unocss/issues/5054) [<samp>(6bf89)</samp>](https://github.com/unocss/unocss/commit/6bf894154)
- **svelte-scoped**: Explicit export of types to prevent node error - by [@​henrikvilhelmberglund](https://github.com/henrikvilhelmberglund) in [#​5067](https://github.com/unocss/unocss/issues/5067) [<samp>(42670)</samp>](https://github.com/unocss/unocss/commit/42670f0e6)
- **vscode**: Not use catalog version of `@types/vscode` - by [@​Jungzl](https://github.com/Jungzl) in [#​5034](https://github.com/unocss/unocss/issues/5034) [<samp>(54769)</samp>](https://github.com/unocss/unocss/commit/547698ef2)
##### [View changes on GitHub](https://github.com/unocss/unocss/compare/v66.5.12...v66.6.0)
### [`v66.5.12`](https://github.com/unocss/unocss/releases/tag/v66.5.12)
[Compare Source](https://github.com/unocss/unocss/compare/v66.5.11...v66.5.12)
##### 🚀 Features
- Enhance style injection logic to support custom root elements - by [@​octavio1243](https://github.com/octavio1243) in [#​5027](https://github.com/unocss/unocss/issues/5027) [<samp>(70f1b)</samp>](https://github.com/unocss/unocss/commit/70f1bc67d)
##### 🐞 Bug Fixes
- **playground**: Mock invalidate function in `fakePluginContext` - by [@​zyyv](https://github.com/zyyv) [<samp>(5e93d)</samp>](https://github.com/unocss/unocss/commit/5e93d5b2e)
- **preset-mini**: Correct tsdown `external` configuration - by [@​zyyv](https://github.com/zyyv) in [#​5031](https://github.com/unocss/unocss/issues/5031) [<samp>(0107e)</samp>](https://github.com/unocss/unocss/commit/0107eec4c)
- **preset-wind3, preset-wind4**: Update `column` generate value from `container` - by [@​zyyv](https://github.com/zyyv) in [#​5030](https://github.com/unocss/unocss/issues/5030) [<samp>(46860)</samp>](https://github.com/unocss/unocss/commit/46860e654)
- **transformer-attributify-jsx**: Falls back to regular expression when babel parse error - by [@​zyyv](https://github.com/zyyv) and **Copilot** in [#​5032](https://github.com/unocss/unocss/issues/5032) [<samp>(38cc8)</samp>](https://github.com/unocss/unocss/commit/38cc8aed3)
##### [View changes on GitHub](https://github.com/unocss/unocss/compare/v66.5.11...v66.5.12)
### [`v66.5.11`](https://github.com/unocss/unocss/releases/tag/v66.5.11)
[Compare Source](https://github.com/unocss/unocss/compare/v66.5.10...v66.5.11)
##### 🚀 Features
- Support Vite 8 - by [@​sxzz](https://github.com/sxzz) in [#​5011](https://github.com/unocss/unocss/issues/5011) [<samp>(115ee)</samp>](https://github.com/unocss/unocss/commit/115ee5c64)
##### 🐞 Bug Fixes
- **inspector**: Prevent blinking after toggling dark - by [@​liangmiQwQ](https://github.com/liangmiQwQ) in [#​5023](https://github.com/unocss/unocss/issues/5023) [<samp>(c9651)</samp>](https://github.com/unocss/unocss/commit/c965146f7)
- **preset-mini**: Resolve nested theme colors with dashed keys - by [@​nlemoine](https://github.com/nlemoine) in [#​5021](https://github.com/unocss/unocss/issues/5021) [<samp>(8e7db)</samp>](https://github.com/unocss/unocss/commit/8e7db6e85)
##### [View changes on GitHub](https://github.com/unocss/unocss/compare/v66.5.10...v66.5.11)
</details>
<details>
<summary>yanhao98/utils4u (utils4u)</summary>
### [`v5.1.0`](https://github.com/yanhao98/utils4u/blob/HEAD/CHANGELOG.md#510-2025-12-19)
[Compare Source](https://github.com/yanhao98/utils4u/compare/v5.0.1...v5.1.0)
##### Bug Fixes
- **ci:** fix release ([7b6b62e](https://github.com/yanhao98/utils4u/commit/7b6b62e6257fe15e8b055720ddd9b077895dfd43))
##### Features
- **array:** add omitEmptyChildren option to arrayToTree ([ad0b873](https://github.com/yanhao98/utils4u/commit/ad0b87356a929ce9f38617a69c6c16c740f02615))
- **array:** add omitEmptyChildren option to arrayToTree ([89e18ea](https://github.com/yanhao98/utils4u/commit/89e18ea04efab87addf238bfb4acde2a6432ab4a))
#### [5.0.1](https://github.com/yanhao98/utils4u/compare/v5.0.0...v5.0.1) (2025-12-09)
##### Bug Fixes
- 禁用构建时的代码压缩 ([0c0a26f](https://github.com/yanhao98/utils4u/commit/0c0a26f56af2abf59fbe0e344b2351f8b29c48c8))
</details>
<details>
<summary>vitest-dev/vitest (vitest)</summary>
### [`v4.0.18`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.18)
[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.17...v4.0.18)
##### 🚀 Experimental Features
- **experimental**: Add `onModuleRunner` hook to `worker.init` - by [@​sheremet-va](https://github.com/sheremet-va) in [#​9286](https://github.com/vitest-dev/vitest/issues/9286) [<samp>(ea837)</samp>](https://github.com/vitest-dev/vitest/commit/ea837de7d)
##### 🐞 Bug Fixes
- Use `meta.url` in `createRequire` - by [@​sheremet-va](https://github.com/sheremet-va) in [#​9441](https://github.com/vitest-dev/vitest/issues/9441) [<samp>(e0572)</samp>](https://github.com/vitest-dev/vitest/commit/e057281ca)
- **browser**: Hide injected data-testid attributes - by [@​sheremet-va](https://github.com/sheremet-va) in [#​9503](https://github.com/vitest-dev/vitest/issues/9503) [<samp>(f8989)</samp>](https://github.com/vitest-dev/vitest/commit/f89899cd8)
- **ui**: Process artifact attachments when generating HTML reporter - by [@​macarie](https://github.com/macarie) in [#​9472](https://github.com/vitest-dev/vitest/issues/9472) [<samp>(22543)</samp>](https://github.com/vitest-dev/vitest/commit/225435647)
##### [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.17...v4.0.18)
### [`v4.0.17`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.17)
[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.16...v4.0.17)
##### 🚀 Experimental Features
- Support openTelemetry for browser mode - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​9180](https://github.com/vitest-dev/vitest/issues/9180) [<samp>(1ec3a)</samp>](https://github.com/vitest-dev/vitest/commit/1ec3a8b68)
- Support TRACEPARENT and TRACESTATE environment variables for OpenTelemetry context propagation - by [@​Copilot](https://github.com/Copilot), **hi-ogawa** and [@​hi-ogawa](https://github.com/hi-ogawa) in [#​9295](https://github.com/vitest-dev/vitest/issues/9295) [<samp>(876cb)</samp>](https://github.com/vitest-dev/vitest/commit/876cb84c2)
##### 🐞 Bug Fixes
- Improve asymmetric matcher diff readability by unwrapping container matchers - by [@​Copilot](https://github.com/Copilot), **sheremet-va**, **hi-ogawa** and [@​hi-ogawa](https://github.com/hi-ogawa) in [#​9330](https://github.com/vitest-dev/vitest/issues/9330) [<samp>(b2ec7)</samp>](https://github.com/vitest-dev/vitest/commit/b2ec724a8)
- Improve runner error when importing outside of test context - by [@​sheremet-va](https://github.com/sheremet-va) in [#​9335](https://github.com/vitest-dev/vitest/issues/9335) [<samp>(2dd3d)</samp>](https://github.com/vitest-dev/vitest/commit/2dd3dd839)
- Replace crypto.randomUUID to allow insecure environments (fix [#​9](https://github.com/vitest-dev/vitest/issues/9)… - by [@​plusgut](https://github.com/plusgut) in [#​9339](https://github.com/vitest-dev/vitest/issues/9339) and [#​9](https://github.com/vitest-dev/vitest/issues/9) [<samp>(e6a3f)</samp>](https://github.com/vitest-dev/vitest/commit/e6a3f8cc7)
- Handle null options in `addEventHandler` [#​9371](https://github.com/vitest-dev/vitest/issues/9371) - by [@​ThibautMarechal](https://github.com/ThibautMarechal) in [#​9372](https://github.com/vitest-dev/vitest/issues/9372) and [#​9371](https://github.com/vitest-dev/vitest/issues/9371) [<samp>(40841)</samp>](https://github.com/vitest-dev/vitest/commit/40841ff00)
- Typo in browser.provider error - by [@​deammer](https://github.com/deammer) in [#​9394](https://github.com/vitest-dev/vitest/issues/9394) [<samp>(4b67f)</samp>](https://github.com/vitest-dev/vitest/commit/4b67fc25a)
- **browser**:
- Fix `process.env` and `import.meta.env` defines in inline project - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​9239](https://github.com/vitest-dev/vitest/issues/9239) [<samp>(b70c9)</samp>](https://github.com/vitest-dev/vitest/commit/b70c96121)
- Fix upload File instance - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​9294](https://github.com/vitest-dev/vitest/issues/9294) [<samp>(b6778)</samp>](https://github.com/vitest-dev/vitest/commit/b67788c69)
- Fix invalid project token for artifacts assets - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​9321](https://github.com/vitest-dev/vitest/issues/9321) [<samp>(caa7d)</samp>](https://github.com/vitest-dev/vitest/commit/caa7d73d4)
- Log `ErrorEvent.message` when unhandled `ErrorEvent.error` is null - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​9322](https://github.com/vitest-dev/vitest/issues/9322) [<samp>(5d84e)</samp>](https://github.com/vitest-dev/vitest/commit/5d84eeb91)
- Support `fileParallelism` on an instance - by [@​sheremet-va](https://github.com/sheremet-va) in [#​9328](https://github.com/vitest-dev/vitest/issues/9328) [<samp>(15006)</samp>](https://github.com/vitest-dev/vitest/commit/150065459)
- **coverage**:
- Remove unnecessary `istanbul-lib-source-maps` usage - by [@​AriPerkkio](https://github.com/AriPerkkio) in [#​9344](https://github.com/vitest-dev/vitest/issues/9344) [<samp>(b0940)</samp>](https://github.com/vitest-dev/vitest/commit/b09405375)
- Apply patch from [istanbuljs/istanbuljs#837](https://github.com/istanbuljs/istanbuljs/issues/837) - by [@​AriPerkkio](https://github.com/AriPerkkio) and **sapphi-red** in [#​9413](https://github.com/vitest-dev/vitest/issues/9413) and [#​837](https://github.com/vitest-dev/vitest/issues/837) [<samp>(e05ce)</samp>](https://github.com/vitest-dev/vitest/commit/e05cedbf4)
- **fsModuleCache**:
- Don't store importers in cache - by [@​sheremet-va](https://github.com/sheremet-va) in [#​9422](https://github.com/vitest-dev/vitest/issues/9422) [<samp>(75136)</samp>](https://github.com/vitest-dev/vitest/commit/751364eec)
- Add importers alongside importedModules - by [@​sheremet-va](https://github.com/sheremet-va) in [#​9423](https://github.com/vitest-dev/vitest/issues/9423) [<samp>(59f92)</samp>](https://github.com/vitest-dev/vitest/commit/59f92d403)
- **mocker**:
- Fix mock transform with class - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​9421](https://github.com/vitest-dev/vitest/issues/9421) [<samp>(d390e)</samp>](https://github.com/vitest-dev/vitest/commit/d390eb527)
- **pool**:
- Validate environment options when reusing the worker - by [@​sheremet-va](https://github.com/sheremet-va) in [#​9349](https://github.com/vitest-dev/vitest/issues/9349) [<samp>(a8a88)</samp>](https://github.com/vitest-dev/vitest/commit/a8a8836e3)
- Handle worker start failures gracefully - by [@​AriPerkkio](https://github.com/AriPerkkio) in [#​9337](https://github.com/vitest-dev/vitest/issues/9337) [<samp>(200da)</samp>](https://github.com/vitest-dev/vitest/commit/200dadb32)
- **reporter**:
- Report test module if it failed to run - by [@​sheremet-va](https://github.com/sheremet-va) in [#​9272](https://github.com/vitest-dev/vitest/issues/9272) [<samp>(c7888)</samp>](https://github.com/vitest-dev/vitest/commit/c78882985)
- **runner**:
- Respect nested test.only within describe.only - by [@​Ujjwaljain16](https://github.com/Ujjwaljain16) in [#​9021](https://github.com/vitest-dev/vitest/issues/9021) and [#​9213](https://github.com/vitest-dev/vitest/issues/9213) [<samp>(55d5d)</samp>](https://github.com/vitest-dev/vitest/commit/55d5dad69)
- **typecheck**:
- Improve error message when tsc outputs help text - by [@​Ujjwaljain16](https://github.com/Ujjwaljain16) in [#​9214](https://github.com/vitest-dev/vitest/issues/9214) [<samp>(7b10a)</samp>](https://github.com/vitest-dev/vitest/commit/7b10ab4cd)
- **ui**:
- Detect gzip by magic numbers instead of Content-Type header in html reporter - by [@​Copilot](https://github.com/Copilot), **hi-ogawa** and [@​hi-ogawa](https://github.com/hi-ogawa) in [#​9278](https://github.com/vitest-dev/vitest/issues/9278) [<samp>(dd033)</samp>](https://github.com/vitest-dev/vitest/commit/dd0331632)
- **webdriverio**:
- Fall back to WebDriver Classic [#​9244](https://github.com/vitest-dev/vitest/issues/9244) - by [@​JustasMonkev](https://github.com/JustasMonkev) in [#​9373](https://github.com/vitest-dev/vitest/issues/9373) and [#​9244](https://github.com/vitest-dev/vitest/issues/9244) [<samp>(c23dd)</samp>](https://github.com/vitest-dev/vitest/commit/c23dd11bd)
##### [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.16...v4.0.17)
### [`v4.0.16`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.16)
[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.15...v4.0.16)
##### 🐞 Bug Fixes
- Fix browser mode default testTimeout back to 15 seconds - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​9167](https://github.com/vitest-dev/vitest/issues/9167) [<samp>(da0ad)</samp>](https://github.com/vitest-dev/vitest/commit/da0ade249)
- Avoid crashing on `process.versions` stub - by [@​AriPerkkio](https://github.com/AriPerkkio) in [#​9174](https://github.com/vitest-dev/vitest/issues/9174) [<samp>(78cfb)</samp>](https://github.com/vitest-dev/vitest/commit/78cfbf99a)
- Reject calling suite function inside test - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​9198](https://github.com/vitest-dev/vitest/issues/9198) [<samp>(1a259)</samp>](https://github.com/vitest-dev/vitest/commit/1a259c340)
- Allow inlining fully dynamic import - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​9137](https://github.com/vitest-dev/vitest/issues/9137) [<samp>(56851)</samp>](https://github.com/vitest-dev/vitest/commit/568513ca6)
- Fix module graph UI on html reporter with headless browser mode - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​9219](https://github.com/vitest-dev/vitest/issues/9219) [<samp>(60642)</samp>](https://github.com/vitest-dev/vitest/commit/60642b304)
- Log deprecated `test.poolOptions` if it's set - by [@​sheremet-va](https://github.com/sheremet-va) in [#​9226](https://github.com/vitest-dev/vitest/issues/9226) [<samp>(f7f6a)</samp>](https://github.com/vitest-dev/vitest/commit/f7f6aa8ba)
- **browser**:
- Import `recordArtifact` from the vitest package - by [@​macarie](https://github.com/macarie) in [#​9186](https://github.com/vitest-dev/vitest/issues/9186) [<samp>(01c56)</samp>](https://github.com/vitest-dev/vitest/commit/01c56454d)
- Fix `import.meta.env` define - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​9205](https://github.com/vitest-dev/vitest/issues/9205) [<samp>(01a9a)</samp>](https://github.com/vitest-dev/vitest/commit/01a9a58d9)
- String formatting bug when including placeholders in console.log - by [@​michael-debs](https://github.com/michael-debs) and [@​hi-ogawa](https://github.com/hi-ogawa) in [#​9030](https://github.com/vitest-dev/vitest/issues/9030) and [#​9131](https://github.com/vitest-dev/vitest/issues/9131) [<samp>(84a30)</samp>](https://github.com/vitest-dev/vitest/commit/84a306210)
- **coverage**:
- Istanbul untested files source maps are off - by [@​AriPerkkio](https://github.com/AriPerkkio) in [#​9208](https://github.com/vitest-dev/vitest/issues/9208) [<samp>(372e8)</samp>](https://github.com/vitest-dev/vitest/commit/372e86fde)
- **experimental**:
- Export `setupEnvironment` for custom pools - by [@​AriPerkkio](https://github.com/AriPerkkio) in [#​9187](https://github.com/vitest-dev/vitest/issues/9187) [<samp>(5d26b)</samp>](https://github.com/vitest-dev/vitest/commit/5d26b87b0)
##### [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.15...v4.0.16)
</details>
<details>
<summary>vuejs/language-tools (vue-component-type-helpers)</summary>
### [`v3.2.4`](https://github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#324-2026-01-26)
[Compare Source](https://github.com/vuejs/language-tools/compare/v3.2.3...v3.2.4)
##### language-core
- **feat:** place plugin configs under `ctx.config` and support type annotation via generics ([#​5944](https://github.com/vuejs/language-tools/issues/5944)) - Thanks to [@​KazariEX](https://github.com/KazariEX)!
##### workspace
- **chore:** publish to npm with OIDC ([#​5912](https://github.com/vuejs/language-tools/issues/5912)) - Thanks to [@​ghiscoding](https://github.com/ghiscoding)!
### [`v3.2.3`](https://github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#323-2026-01-23)
[Compare Source](https://github.com/vuejs/language-tools/compare/v3.2.2...v3.2.3)
##### language-core
- **feat:** support configuration for language plugins ([#​5678](https://github.com/vuejs/language-tools/issues/5678)) - Thanks to [@​KazariEX](https://github.com/KazariEX)!
- **fix:** avoid `defineModel` breaking ast in `lang="js"` ([#​5935](https://github.com/vuejs/language-tools/issues/5935)) - Thanks to [@​KazariEX](https://github.com/KazariEX)!
- **fix:** infer object keys as string if it does not extend string ([#​5933](https://github.com/vuejs/language-tools/issues/5933)) - Thanks to [@​serkodev](https://github.com/serkodev)!
##### typescript-plugin
- **feat:** correct rename behavior on same name shorthands in template ([#​5907](https://github.com/vuejs/language-tools/issues/5907)) - Thanks to [@​KazariEX](https://github.com/KazariEX)!
- **fix:** only forward quick info for original results without tags ([#​5938](https://github.com/vuejs/language-tools/issues/5938)) - Thanks to [@​KazariEX](https://github.com/KazariEX)!
##### vscode
- **fix:** correct indent for `<style>` and `<script>` tags ([#​5925](https://github.com/vuejs/language-tools/issues/5925)) - Thanks to [@​serkodev](https://github.com/serkodev)!
### [`v3.2.2`](https://github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#322-2026-01-06)
[Compare Source](https://github.com/vuejs/language-tools/compare/v3.2.1...v3.2.2)
##### language-core
- **fix:** correct code features on v-bind shorthands of special attributes - Thanks to [@​KazariEX](https://github.com/KazariEX)!
##### language-plugin-pug
- **feat:** accurate Pug shorthand mapping ([#​5906](https://github.com/vuejs/language-tools/issues/5906))
- **fix:** pre-map HTML to Pug offset attribute ([#​5905](https://github.com/vuejs/language-tools/issues/5905))
##### language-service
- **feat:** strip `=""` for boolean props completion edits ([#​5888](https://github.com/vuejs/language-tools/issues/5888)) - Thanks to [@​KazariEX](https://github.com/KazariEX)!
- **fix:** avoid duplicate directive modifiers in completion ([#​5920](https://github.com/vuejs/language-tools/issues/5920)) - Thanks to [@​KazariEX](https://github.com/KazariEX)!
##### typescript-plugin
- **fix:** only forward quick info and suggestion diagnostics for setup bindings ([#​5892](https://github.com/vuejs/language-tools/issues/5892)) - Thanks to [@​KazariEX](https://github.com/KazariEX)!
### [`v3.2.1`](https://github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#321-2025-12-22)
[Compare Source](https://github.com/vuejs/language-tools/compare/v3.2.0...v3.2.1)
##### language-core
- **fix:** infer array type in `v-for` ([#​5896](https://github.com/vuejs/language-tools/issues/5896)) - Thanks to [@​serkodev](https://github.com/serkodev)!
##### component-meta
- **fix:** skip schema resolution correctly when `option` is `false` ([#​5891](https://github.com/vuejs/language-tools/issues/5891)) - Thanks to [@​KazariEX](https://github.com/KazariEX)!
##### component-type-helpers
- **fix:** npm package is missing build files ([#​5893](https://github.com/vuejs/language-tools/issues/5893))
##### language-service
- **feat:** props completion now only suggests `:xxx` (shorthand) when no prefix is typed, instead of both `xxx` and `:xxx`
### [`v3.2.0`](https://github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#320-2025-12-20)
[Compare Source](https://github.com/vuejs/language-tools/compare/v3.1.8...v3.2.0)
##### vscode
- **fix:** Vue TS highlighting when trailing type alias is missing semicolon ([#​5853](https://github.com/vuejs/language-tools/issues/5853)) - Thanks to [@​serkodev](https://github.com/serkodev)!
- **perf:** replace `fast-diff` with custom character-by-character alignment algorithm ([#​5849](https://github.com/vuejs/language-tools/issues/5849)) ([#​5851](https://github.com/vuejs/language-tools/issues/5851))
- **refactor:** update Vue grammar scope name to "text.html.vue" ([#​5856](https://github.com/vuejs/language-tools/issues/5856))
- **test:** add test for embedded grammars ([#​5861](https://github.com/vuejs/language-tools/issues/5861)) - Thanks to [@​serkodev](https://github.com/serkodev)!
##### language-service
- **feat:** rich hover message ([#​5881](https://github.com/vuejs/language-tools/issues/5881))
- **feat:** support markdown JSDoc for rich hover message description ([#​5890](https://github.com/vuejs/language-tools/issues/5890)) - Thanks to [@​serkodev](https://github.com/serkodev)!
- **chore:** adjust rich hover message title layout ([#​5889](https://github.com/vuejs/language-tools/issues/5889)) - Thanks to [@​serkodev](https://github.com/serkodev)!
##### component-meta
- **feat:** add `tags` to slots and exposed ([#​5862](https://github.com/vuejs/language-tools/issues/5862)) - Thanks to [@​aj-dev](https://github.com/aj-dev)!
- **feat:** filter out irrelevant properties from `exposed` ([#​5868](https://github.com/vuejs/language-tools/issues/5868)) - Thanks to [@​aj-dev](https://github.com/aj-dev)!
- **refactor:** redundant logic between deduplication and language-core ([#​5875](https://github.com/vuejs/language-tools/issues/5875))
- **refactor:** de-dependency from component-type-helpers ([#​5876](https://github.com/vuejs/language-tools/issues/5876))
- **refactor:** search prop defaults with symbol declarations ([#​5879](https://github.com/vuejs/language-tools/issues/5879))
- **refactor:** deprecate "noDeclarations" and "forceUseTs" options ([#​5887](https://github.com/vuejs/language-tools/issues/5887))
##### typescript-plugin
- **feat:** include leading dot when finding references to CSS classes ([#​5852](https://github.com/vuejs/language-tools/issues/5852))
- **fix:** missing module error after file rename ([#​5839](https://github.com/vuejs/language-tools/issues/5839)) - Thanks to [@​serkodev](https://github.com/serkodev)!
- **fix:** prioritize non-warning completion entries over warning ones ([#​5847](https://github.com/vuejs/language-tools/issues/5847))
- **fix:** always pass rest parameters for future compatibility ([#​5859](https://github.com/vuejs/language-tools/issues/5859)) - Thanks to [@​KazariEX](https://github.com/KazariEX)!
- **fix:** add nullish guards before accessing `ts.CompletionEntryData` ([#​5869](https://github.com/vuejs/language-tools/issues/5869)) - Thanks to [@​KazariEX](https://github.com/KazariEX)!
- **fix:** handle import type nodes in definition proxy ([#​5873](https://github.com/vuejs/language-tools/issues/5873))
- **fix:** handle type imports in component auto-import([#​5874](https://github.com/vuejs/language-tools/issues/5874))
##### language-core
- **feat:** revert overcorrection of `v-for` type inference ([#​5836](https://github.com/vuejs/language-tools/issues/5836))
- **feat:** align `v-for` key type with `Object.keys` ([#​5837](https://github.com/vuejs/language-tools/issues/5837)) - Thanks to [@​serkodev](https://github.com/serkodev)!
- **feat:** narrow component and directive types ([#​5841](https://github.com/vuejs/language-tools/issues/5841))
- **feat:** support `<!-- @​strictTemplates -->` magic comment ([#​5845](https://github.com/vuejs/language-tools/issues/5845))
- **fix:** correctly resolve `<script src="">` ([#​5838](https://github.com/vuejs/language-tools/issues/5838))
- **fix:** preserve template slot wrappers during `createIfBranch` ([#​5844](https://github.com/vuejs/language-tools/issues/5844)) - Thanks to [@​serkodev](https://github.com/serkodev)!
- **fix:** include end tag locations when renaming global components
- **refactor:** replace dynamic types generation with static files ([#​5872](https://github.com/vuejs/language-tools/issues/5872))
- **refactor:** improve Vue version detection and plugin resolution
##### component-type-helpers
- **refactor:** remove `ComponentType` helper
##### workspace
- **chore:** update testing infrastructure ([#​5848](https://github.com/vuejs/language-tools/issues/5848))
- **chore:** use tsgo in development ([#​5860](https://github.com/vuejs/language-tools/issues/5860))
- **chore:** reduce local dependencies and update workflows ([#​5863](https://github.com/vuejs/language-tools/issues/5863))
- **chore:** upgrade tsslint and vite to pre-release versions
- **chore:** delete tests for Vue 3.4 ([#​5871](https://github.com/vuejs/language-tools/issues/5871))
### [`v3.1.8`](https://github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#318-2025-12-09)
[Compare Source](https://github.com/vuejs/language-tools/compare/v3.1.7...v3.1.8)
##### Features
- feat(vscode): support multiline attribute for `<script>` and `<style>` tag ([#​5830](https://github.com/vuejs/language-tools/issues/5830)) - Thanks to [@​serkodev](https://github.com/serkodev)!
- feat(vscode): supports format with selected range ([#​5761](https://github.com/vuejs/language-tools/issues/5761)) - Thanks to [@​serkodev](https://github.com/serkodev)!
- feat(language-service): add tsconfig-based document link support for Pug
##### Bug Fixes
- fix(language-core): limit the range of parseDiagnostics checks ([#​5823](https://github.com/vuejs/language-tools/issues/5823))
- fix(language-core): restore default import bindings for template scope ([#​5824](https://github.com/vuejs/language-tools/issues/5824)) - Thanks to [@​serkodev](https://github.com/serkodev)!
- fix(typescript-plugin): get `preferences` and `formatOptions` in tsserver ([#​5829](https://github.com/vuejs/language-tools/issues/5829))
- fix(language-core): avoid generating component options within the setup scope ([#​5832](https://github.com/vuejs/language-tools/issues/5832))
##### Other Changes
- perf(language-core): dedupe component options generation ([#​5831](https://github.com/vuejs/language-tools/issues/5831))
### [`v3.1.7`](https://github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#317-2025-12-08)
[Compare Source](https://github.com/vuejs/language-tools/compare/v3.1.6...v3.1.7)
##### Features
- feat(language-core): cache virtual code by `scriptId` ([#​5811](https://github.com/vuejs/language-tools/issues/5811)) - Thanks to [@​serkodev](https://github.com/serkodev)!
##### Bug Fixes
- fix(language-core): avoid using `Identifier.text` property ([#​5810](https://github.com/vuejs/language-tools/issues/5810))
- fix(language-core): generate script separator on demand ([#​5816](https://github.com/vuejs/language-tools/issues/5816))
- fix(language-core): avoid invalid `__VLS_Slots` generation
##### Other Changes
- feat(lint): add typescript services types lint rule ([#​5813](https://github.com/vuejs/language-tools/issues/5813)) - Thanks to [@​serkodev](https://github.com/serkodev)!
### [`v3.1.6`](https://github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#316-2025-12-06)
[Compare Source](https://github.com/vuejs/language-tools/compare/v3.1.5...v3.1.6)
##### Features
- feat(vscode): add settings to enable per-block formatting ([#​5784](https://github.com/vuejs/language-tools/issues/5784)) - Thanks to [@​serkodev](https://github.com/serkodev)!
- feat(language-service): enhanced component auto import ([#​5790](https://github.com/vuejs/language-tools/issues/5790))
- feat(component-meta): add component name and description fields ([#​5797](https://github.com/vuejs/language-tools/issues/5797))
- feat(typescript-plugin): add support for template "Add Import" quick fix ([#​5799](https://github.com/vuejs/language-tools/issues/5799)) - Thanks to [@​serkodev](https://github.com/serkodev)!
- feat(typescript-plugin): mapping JSDoc informations from `<script setup>` ([#​5805](https://github.com/vuejs/language-tools/issues/5805))
- feat(vscode): support tsdk path for Eclipse Theia ([#​5806](https://github.com/vuejs/language-tools/issues/5806)) - Thanks to [@​serkodev](https://github.com/serkodev)!
##### Bug Fixes
- fix(language-service): ignore intrinsic elements when detect tag name casing ([#​5771](https://github.com/vuejs/language-tools/issues/5771))
- fix(language-core): `createParsedCommandLineByJson` parsed incorrect options since v3.1.5 ([#​5768 (comment)](https://github.com/vuejs/language-tools/pull/5768#issuecomment-3569623037))
- fix(vscode): make `vue.server.path` compatible with Windows ([#​5772](https://github.com/vuejs/language-tools/issues/5772))
- fix(vscode): analyze interpolation highlight ranges based on AST ([#​5777](https://github.com/vuejs/language-tools/issues/5777))
- fix(vscode): sync latest vscode html language configuration ([#​5740](https://github.com/vuejs/language-tools/issues/5740))
- fix(language-core): enhance `getVIfNode` to support `v-else-if` directives ([#​5765](https://github.com/vuejs/language-tools/issues/5765)) - Thanks to [@​serkodev](https://github.com/serkodev)!
- fix(language-core): generate `{}` instead of its string value for `style="..."` ([#​5781](https://github.com/vuejs/language-tools/issues/5781)) - Thanks to [@​KazariEX](https://github.com/KazariEX)!
- fix(language-core): `v-bind="$attrs"` loses navigation when `inferTemplateDollarAttrs` is disabled ([#​5783](https://github.com/vuejs/language-tools/issues/5783))
- fix(language-service): skip `const props =` completion in StringLiteral ([#​5786](https://github.com/vuejs/language-tools/issues/5786))
- fix(language-core): unable to get completion for the second scoped class name
- fix(language-service): format components with HTML void-element names ([#​5788](https://github.com/vuejs/language-tools/issues/5788)) - Thanks to [@​serkodev](https://github.com/serkodev)!
- fix(language-service): properly handle promise when resolving CSS links ([#​5785](https://github.com/vuejs/language-tools/issues/5785))
- fix(language-core): infer `$el` type for generic components using `inferComponentDollarEl` ([#​5794](https://github.com/vuejs/language-tools/issues/5794))
- fix(language-core): ensure `<script>` content generates before `<script setup>` ([#​5795](https://github.com/vuejs/language-tools/issues/5795))
- fix(language-core): remove `bypassDefineComponent` hack for better JS support ([#​4876](https://github.com/vuejs/language-tools/issues/4876)) ([#​5379](https://github.com/vuejs/language-tools/issues/5379))
- fix(language-core): `Prettify<T>` caused generic props gets inferred as `unknown` ([#​5667](https://github.com/vuejs/language-tools/issues/5667)) - Thanks to [@​so1ve](https://github.com/so1ve)!
- fix(vscode): handle leading `<` as operator in SFC scripts ([#​5801](https://github.com/vuejs/language-tools/issues/5801)) - Thanks to [@​serkodev](https://github.com/serkodev)!
- fix(vscode): patch `isTypeScriptDocument` in VSCode for `typescript.preferences.autoImportSpecifierExcludeRegexes` config support ([#​5364](https://github.com/vuejs/language-tools/issues/5364))
- fix(language-core): ensure type consistency for optional boolean props ([#​5803](https://github.com/vuejs/language-tools/issues/5803))
- fix(language-core): add compatibility for `vapor` attr ([#​5496](https://github.com/vuejs/language-tools/issues/5496))
- fix(language-core): AST fault tolerance for key binding on template ([#​5807](https://github.com/vuejs/language-tools/issues/5807))
##### Performance
- perf(language-core): reuse ts asts for `:class` - Thanks to [@​KazariEX](https://github.com/KazariEX)!
##### Other Changes
- Revert "refactor(typescript-plugin): remove go to definition trick for auto imported components ([#​5733](https://github.com/vuejs/language-tools/issues/5733))"
- docs(typescript-plugin): update Neovim configuration link ([#​5775](https://github.com/vuejs/language-tools/issues/5775)) - Thanks to [@​AlexVagrant](https://github.com/AlexVagrant)!
- refactor(language-core): normalize template AST ([#​5782](https://github.com/vuejs/language-tools/issues/5782))
- refactor(language-core): split style codegen ([#​5787](https://github.com/vuejs/language-tools/issues/5787))
- refactor(language-core): remove `debugger` from virtual code for tsslint compatibility
- refactor(language-core): remove legacy navigation support in `ref="xxx"`
- refactor(language-core): reduce codegen options ([#​5804](https://github.com/vuejs/language-tools/issues/5804))
- refactor(component-meta): deprecated `rawType` and `__internal__.tsLs` ([#​5808](https://github.com/vuejs/language-tools/issues/5808))
- chore: update volar to 2.4.26
- feat: fallback resolution mode for `createResolveModuleName` ([volarjs/volar.js#293](https://github.com/volarjs/volar.js/pull/293)) ([#​5644](https://github.com/vuejs/language-tools/issues/5644)) - Thanks to [@​serkodev](https://github.com/serkodev)!
</details>
<details>
<summary>intlify/vue-i18n (vue-i18n)</summary>
### [`v11.2.8`](https://github.com/intlify/vue-i18n/releases/tag/v11.2.8)
[Compare Source](https://github.com/intlify/vue-i18n/compare/v11.2.7...v11.2.8)
<!-- Release notes generated using configuration in .github/release.yml at v11.2.8 -->
**Full Changelog**: <https://github.com/intlify/vue-i18n/compare/v11.2.7...v11.2.8>
### [`v11.2.7`](https://github.com/intlify/vue-i18n/releases/tag/v11.2.7)
[Compare Source](https://github.com/intlify/vue-i18n/compare/v11.2.6...v11.2.7)
<!-- Release notes generated using configuration in .github/release.yml at v11.2.7 -->
**Full Changelog**: <https://github.com/intlify/vue-i18n/compare/v11.2.6...v11.2.7>
### [`v11.2.6`](https://github.com/intlify/vue-i18n/releases/tag/v11.2.6)
[Compare Source](https://github.com/intlify/vue-i18n/compare/v11.2.2...v11.2.6)
<!-- Release notes generated using configuration in .github/release.yml at v11.2.6 -->
**Full Changelog**: <https://github.com/intlify/vue-i18n/compare/v11.2.5...v11.2.6>
</details>
<details>
<summary>vue-macros/vue-macros (vue-macros)</summary>
### [`v3.1.2`](https://github.com/vue-macros/vue-macros/releases/tag/v3.1.2)
[Compare Source](https://github.com/vue-macros/vue-macros/compare/v3.1.1...v3.1.2)
##### 🚀 Features
- **volar/jsx-directive**: Support FunctionExpression and ObjectExpression slots - by [@​zhiyuanzmj](https://github.com/zhiyuanzmj) in [#​1008](https://github.com/vue-macros/vue-macros/issues/1008) [<samp>(da626)</samp>](https://github.com/vue-macros/vue-macros/commit/da626b14)
##### [View changes on GitHub](https://github.com/vue-macros/vue-macros/compare/v3.1.1...v3.1.2)
</details>
<details>
<summary>vuejs/router (vue-router)</summary>
### [`v4.6.4`](https://github.com/vuejs/router/releases/tag/v4.6.4)
[Compare Source](https://github.com/vuejs/router/compare/v4.6.3...v4.6.4)
##### 🚀 Features
- **experimental**:
- Handle redirect types - by [@​posva](https://github.com/posva) [<samp>(92efb)</samp>](https://github.com/vuejs/router/commit/92efba79)
- Basic alias - by [@​posva](https://github.com/posva) [<samp>(ded2d)</samp>](https://github.com/vuejs/router/commit/ded2d578)
##### 🐞 Bug Fixes
- Make the build output compatible with v4.5 - by [@​drylint](https://github.com/drylint) in [#​2591](https://github.com/vuejs/router/issues/2591) [<samp>(42bc2)</samp>](https://github.com/vuejs/router/commit/42bc246f)
- **experimental**: IsActive with custom params - by [@​posva](https://github.com/posva) [<samp>(edca6)</samp>](https://github.com/vuejs/router/commit/edca66c6)
##### [View changes on GitHub](https://github.com/vuejs/router/compare/v4.6.3...v4.6.4)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zOS4zIiwidXBkYXRlZEluVmVyIjoiNDMuMjkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
renovatebot
changed title from chore(deps): update dependency @cloudflare/vite-plugin to v1.16.1 to chore(deps): update all non-major dependencies2025-12-18 15:17:24 +08:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
1.15.3→1.23.11.2.14→1.2.181.2.11→1.2.141.2.48→1.2.547.0.0→7.0.124.0.3→24.0.42.0.19→2.1.314.1.0→14.2.020.0.11→20.5.027.2.0→27.4.04.17.21→4.17.231.8.0→1.8.14.53.3→4.57.11.93.3→1.97.37.4.0→7.6.066.5.10→66.6.05.0.1→5.1.04.0.15→4.0.183.1.5→3.2.411.2.2→11.2.83.1.1→3.1.24.6.3→4.6.43.1.8→3.2.4Release Notes
cloudflare/workers-sdk (@cloudflare/vite-plugin)
v1.23.1Compare Source
Patch Changes
#12381
98283faThanks @jamesopstad! - Avoid collectingnodejs_compatwarnings during dependency optimization.Previously, a custom plugin was provided during dependency optimization to collect warnings when Node.js built-ins were imported and the
nodejs_compatflag was not enabled.Because optimized dependencies are cached, the warning was only displayed when dependencies changed.
Additionally, it sometimes included false positives from dependencies that were no longer used.
We now always externalize Node.js built-ins during dependency optimization and collect the warnings at runtime.
This is more consistent with how warnings are collected for direct imports of Node.js built-ins.
Updated dependencies [
ee9b81f,63f1adb,ba13de9,447daa3,fe3af35,bd4bb98,dab4bc9,83adb2c,18c0784]:v1.23.0Compare Source
Minor Changes
#11697
67a4ab1Thanks @jamesopstad! - Addexperimental.prerenderWorkeroption to the plugin config.This enables configuring a dedicated Worker for prerendering at build time. This is an experimental feature and may change or be removed at any time.
#12214
4db3864Thanks @jamesopstad! - Use Hook Filters to optimize plugin performance with Vite 8. This skips unnecessary Rust-to-JS calls with Rolldown powered Vite.Patch Changes
#12358
4340c42Thanks @jamesopstad! - Always emit a.assetsignorefile in the client output directory.Previously, we would emit a
.assetsignorefile in the client output directory only if the client output included awrangler.jsonfile.We now always emit it, which prevents a
wrangler.jsonfile being deployed as an asset if it is copied into this directory by mistake.Updated dependencies [
964a39d,253a85d,ce736b9,0c9625a,47944d1,4c4d5a5,b05b919,0aaf080,b981db5,a113c0d,fdd7a9f,a5fca2c,1bd1488,f7aa8c7]:v1.22.1Compare Source
Patch Changes
#12187
0c85b05Thanks @jamesopstad! - UseesmExternalRequirePluginto convert externalrequirecalls in Vite 8.Updated dependencies [
8a210af,eb8a415,3b06b18,17961bb,52fdfe7,6d8d9cd,5f060c9,cb72c11]:v1.22.0Compare Source
Minor Changes
05714f8Thanks @emily-shen! - Add a no-op local explorer worker, which is gated by the experimental flagX_LOCAL_EXPLORER.Patch Changes
#12052
9c76067Thanks @edmundhung! - Fix dev server crash on WebSocket client disconnectWhen a WebSocket client disconnects while an upgrade request is being processed, the server would crash with an unhandled
ECONNRESETerror. The fix adds an error handler to the socket at the start of the upgrade process.Updated dependencies [
a0a9ef6,ad4666c,014e7aa,e414f05,77e82d2,f08ef21,0641e6c,eacedba,05714f8,e8b2ef5,bbd8a5e]:v1.21.2Compare Source
Patch Changes
#11875
ae2459cThanks @bxff! - Skip shortcut registration in non-TTY environmentsPreviously, registering keyboard shortcuts in non-TTY environments (e.g., Turborepo) caused Miniflare
ERR_DISPOSEDerrors during prerendering. Shortcuts are now only registered when running in an interactive terminal.Updated dependencies [
614bbd7,788bf78,1375577,ae108f0,bba0968,c3407ad,f9e8a45]:v1.21.1Compare Source
Patch Changes
#11951
77fdc18Thanks @jamesopstad! - Add validation for environment name collisions and improve error message for missing environments.Updated dependencies [
75386b1,8e4a0e5,133bf95,93d8d78,69ff962,22727c2,fa39a73,4ac7c82,69ff962,029531a,d58fbd1,202c59e,133bf95,25e2c60,69ff962]:v1.21.0Compare Source
Minor Changes
#11879
5c8ff05Thanks @jamesopstad! - Add support for child environments.This is to support React Server Components via @vitejs/plugin-rsc and frameworks that build on top of it. A
childEnvironmentsoption is now added to the plugin config to enable using multiple environments within a single Worker. The parent environment can import modules from a child environment in order to access a separate module graph. For a typical RSC use case, the plugin might be configured as in the following example:Patch Changes
#11898
c17e971Thanks @petebacondarwin! - Bundle more third-party dependencies to reduce supply chain riskPreviously, several small utility packages were listed as runtime dependencies and
installed separately. These are now bundled directly into the published packages,
reducing the number of external dependencies users need to trust.
Bundled dependencies:
acorn,acorn-walk,exit-hook,glob-to-regexp,stoppablemime@remix-run/node-fetch-server,defu,get-port,picocolors,tinyglobbybirpc,devalue,get-port,semverUpdated dependencies [
e78186d,fe4faa3,fec8f5b,d39777f,4714ca1,c17e971,695b043]:v1.20.3Compare Source
Patch Changes
99b1f32]:v1.20.2Compare Source
Patch Changes
#11834
5c59217Thanks @vicb! - fix handling of Node builtin modulesThe list of builtin modules should not depend on the version of Node.
Switch to using the lists published by
@cloudflare/unenv-preset.This fixes an issue with trying to import i.e.
node:sqlitewith Node < 22.5.0which does not implement this module.
#11838
88a9e20Thanks @jamesopstad! - Setbuild.rolldownOptions.resolve.extensionsfor compatibility with Vite 8 beta.#11847
46e09a6Thanks @jamesopstad! - Applyvite-plugin-cloudflare:nodejs-compat-warningsplugin only to relevant environments.This is an optimisation so that it doesn't run for the
clientenvironment or Worker environments that have thenodejs_compatcompatibility flag enabled.Updated dependencies [
b0e54b2,ed60c4f,5c59217,faa5753,e574ef3,b6148ed,beb96af,5c59217,ab3859c,0eb973d,ad65efa,fc96e5f,43d5363,0f8d69d]:v1.20.1Compare Source
Patch Changes
#11807
fada563Thanks @jamesopstad! - UserolldownOptionsin plugin config when available.This improves compatibility with Vite 8 beta and removes warnings related to use of
esbuildOptions.Updated dependencies [
97e67b9,7d63fa5]:v1.20.0Compare Source
Minor Changes
#11620
25f6672Thanks @dario-piotrowicz! - Expose a newgetLocalWorkerdCompatibilityDateutility that allows callers to get the compatibility date of the locally installedworkerdpackage.#11723
3455912Thanks @jamesopstad! - Add a postbuildApphook that builds Worker environments that haven't already been built.This ensures that auxiliary Workers are included in the build when using full-stack frameworks that define their own
builder.buildAppfunction. Note that this feature is not supported with Vite 6 as thebuildApphook was introduced in Vite 7.#11738
c54f8daThanks @jamesopstad! - Add defaultTextmodule rule for.sqlfiles.This enables importing
.sqlfiles directly in Wrangler and the Cloudflare Vite plugin without extra configuration.Patch Changes
#11815
70ef3edThanks @jamesopstad! - SetignoreOutdatedRequeststotrueinoptimizeDepsconfig.This is a workaround for vitejs/vite#20867 and will resolve
Error: There is a new version of the pre-bundle for ...errors that some users are experiencing. The longer term solution is to use full-bundle mode rather thanoptimizeDepsonce it is supported for server environments. Vite v7.3.1 or above is needed for this change to take effect.#11735
dd66dcdThanks @jamesopstad! - RemovetopLevelNameandnamewhen passingentryWorkerConfigto theconfigfunction for auxiliary Workers.The
namefor each Worker should be unique and thetopLevelNameis computed rather than provided directly.#11720
0457de6Thanks @jamesopstad! - fix: regression where plain class and object types were no longer supported as Durable Objects and Worker entrypointsUpdated dependencies [
02fbd22,b993d95,f612b46,77078ef,2510723,65d1850,1615fce,b2769bf,554a4df,9f6dd71,8eede3f,d123ad0,9e360f6,5121b23,82e7e90,6a05b1c,62fd118,a7e9f80,fc95831,b0dbf1a,4688f59,69979a3,c54f8da,df1f9c9,d059f69,eac5cf7,b827893]:v1.19.0Compare Source
Minor Changes
#11670
3483b84Thanks @jamesopstad! - Provide the resolved entry Worker config in the second parameter to the auxiliary Workerconfigfunction. This makes it straightforward to inherit configuration from the entry Worker in auxiliary Workers.Example:
Patch Changes
ae1ad22,171cfd9,428ae9e,737c0f4,c0e249e,472cf72,3853200]:v1.18.0Compare Source
Minor Changes
#11045
12a63efThanks @edmundhung! - Add keyboard shortcut to display Worker bindings during developmentWhen running
vite devorvite preview, you can now pressb + Enterto display a list of all bindings configured for your Worker(s). This makes it easier to discover and verify which resources (e.g. KV namespaces, Durable Objects, environment variables, etc.) are available to your Worker during development.This feature requires
viteversion7.2.7or later.#11265
06f48c0Thanks @petebacondarwin! - Add a check to vite-plugin that ensures that the version of Wrangler being used internally is correctIn some pnpm setups it is possible for a different peer dependency version of Wrangler to leak and override the version that we require internally.
Patch Changes
ed42010,5d085fb,b75b710,1e9be12,6b28de1,6c590a0,12a63ef,4201472,7d8d4a6,95d81e1,6c590a0]:v1.17.1Compare Source
Patch Changes
c15e99e,31c162a,bd5f087,c6dd86f,235d325,b17797c,b17797c,41103f5,ea6fbec,bb47e20,991760d]:v1.17.0Compare Source
Minor Changes
79d30d4Thanks @vicb! - Set the target JS version to ES2024Patch Changes
#11466
4f15699Thanks @ascorbic! - Throw a more helpful error message when a Worker's entry module can't be resolvedUpdated dependencies [
819e287,af54c63,9988cc9,ce295bf,45480b1,9514c9a,94c67e8,ac861f8,79d30d4,56e78c8,0aa959a,f550b62]:v1.16.1Compare Source
Patch Changes
59534ba,7e80340]:v1.16.0Compare Source
Minor Changes
#11445
c8e22c3Thanks @ascorbic! - Allow Worker config to be customized in the plugin configThe Vite plugin can now be used to generate a Worker configuration instead of needing a Wrangler config file, or to customize an existing user-provided configuration.
This is done via a new
configoption on the plugin, which accepts either a partial Worker configuration object, or a function that receives the current configuration and returns a partial config object, or modifies the current config in place.#11360
6b38532Thanks @emily-shen! - Containers: Allow users to directly authenticate external image registries in local devPreviously, we always queried the API for stored registry credentials and used those to pull images. This means that if you are using an external registry (ECR, dockerhub) then you have to configure registry credentials remotely before running local dev.
Now you can directly authenticate with your external registry provider (using
docker loginetc.), and Wrangler or Vite will be able to pull the image specified in thecontainers.imagefield in your config file.The Cloudflare-managed registry (registry.cloudflare.com) currently still does not work with the Vite plugin.
#11408
f29e699Thanks @ascorbic! - Support zero-config operationIf the Vite plugin is used in a project without an existing Wrangler config file, it should be able to operate in "zero-config" mode by generating a default Wrangler configuration for an assets-only worker.
#11417
2ca70b1Thanks @jamesopstad! - Register named entrypoints with the dev registry.This enables binding to named entrypoints defined in a
vite devsession from anothervite devorwrangler devsession running locally.Patch Changes
#11383
1d685cbThanks @dario-piotrowicz! - Fix: Ensure thatvite devandvite previewhard error with an appropriate error message when a remote proxy session is required but if the connection with it fails to be establishedWhen using remote bindings, either with
vite devorvite preview, the remote proxy session necessary to connect to the remote resources can fail to be created. This might happen if for example you try to set a binding with some invalid values such as:Before, this could go undetected and cause unwanted behaviors such as requests handling hanging indefinitely. Now, a hard error will be thrown instead causing the vite process to crash, clearly indicating that something went wrong during the remote session's creation.
#11009
e4ddbc2Thanks @dario-piotrowicz! - Make sure that theaccount_idpresent in the user's config file is used for remote bindingsUpdated dependencies [
2b4813b,abe49d8,b154de2,f29e699,5ee3780,6e63b57,71ab562,76f0540,2342d2f,5e937c1,9a1de61,6b38532,e4ddbc2,2aec2b4,695fa25,504e258,5a873bb,d25f7e2,1cfae2d,e7b690b,1d685cb,edf896d,2b4813b,c47ad11,a977701,9eaa9e2]:stylelint-types/stylelint-order (@stylelint-types/stylelint-order)
v7.0.1Compare Source
Features
tsconfig/bases (@tsconfig/node24)
v24.0.4Compare Source
unjs/unhead (@unhead/vue)
v2.1.3Compare Source
🐞 Bug Fixes
<link rel="alternate">- by @danielroe and onmax in #655 (fdabe)s._statusRef- by @danielroe in #642 (4ef03)🏎 Performance
View changes on GitHub
v2.1.2Compare Source
🐞 Bug Fixes
View changes on GitHub
v2.1.1Compare Source
No significant changes
View changes on GitHub
v2.1.0Compare Source
🚀 Features
🐞 Bug Fixes
🏎 Performance
View changes on GitHub
vueuse/vueuse (@vueuse/core)
v14.2.0Compare Source
🚀 Features
useCssSupports- by @OrbisK in #5266 (c1282)rootMarginfromuseIntersectionObserver- by @9romise in #5207 (46682)rootMarginreactive - by @doyuli, @ilyaliao and @9romise in #4934 (53abe)watchElementoption for auto-reinitialize on element change - by @Mini-ghost and @ilyaliao in #5189 (17ea2)🐞 Bug Fixes
executereturn the actual data - by @9romise in #5167 (0c346)focus-traprange to^7 - by ** ^8(#5270)** ()View changes on GitHub
capricorn86/happy-dom (happy-dom)
v20.5.0Compare Source
👷♂️ Patch fixes
import typeandexport type) - By @capricorn86 in task #2055v20.4.0Compare Source
🎨 Features
v20.3.9Compare Source
👷♂️ Patch fixes
v20.3.8Compare Source
👷♂️ Patch fixes
focusNodeandfocusOffsetin the Selection API returned incorrect values - By @skoch13 in task #1850v20.3.7Compare Source
👷♂️ Patch fixes
v20.3.6Compare Source
👷♂️ Patch fixes
<details>by clicking on a child of the<summary>element - By @Nxooah in task #1928v20.3.5Compare Source
👷♂️ Patch fixes
BrowserFrameURLto avoid mock interference - By @marchaos in task #1964CookieURLUtility- By @marchaos in task #1968v20.3.4Compare Source
👷♂️ Patch fixes
<p>elements per HTML spec - By @TrevorBurnham in task #1949EventTargetshould not call arbitrary on* properties - By @TrevorBurnham in task #1895v20.3.3Compare Source
👷♂️ Patch fixes
KeyboardEvent- By @TrevorBurnham in task #1897Node.getRootNode()returns correct root for detached shadow trees - By @TrevorBurnham in task #1941Node.contains()to work for<select>and<form>elements - By @TrevorBurnham in task #1876setTimeout()withqueueMicrotask()where appropriate - By @TrevorBurnham in task #1880XMLEncodeUtilitywith pre-compiledRegExpand lookup tables - By @TrevorBurnham in task #1983parseFloat()for "Cache-Control" header max-age parsing - By @TrevorBurnham in task #1985RegExpflags inHTMLParser- By @TrevorBurnham in task #1981v20.3.2Compare Source
👷♂️ Patch fixes
PropertySymbol.bodyto set body incloneBodyStream- By @TrevorBurnham in task #1963DOMTokenListadd/remove with Set for O - By @TrevorBurnham in task #1989WebSocketURLs - By @TrevorBurnham in task #1975v20.3.1Compare Source
👷♂️ Patch fixes
DataTransfer.getData()- By @marchaos in task #1965XMLHttpRequest- By @rexxars in task #1890v20.3.0Compare Source
🎨 Features
RegExpto convert ASCII character casing to improve performance - By @TrevorBurnham in task #1886v20.2.0Compare Source
🎨 Features
Element.classList.contains()instead of splittingclassNamein query selectors to improve performance as it's cached - By @TrevorBurnham in task #1884v20.1.1Compare Source
👷♂️ Patch fixes
querySelector()- By @TrevorBurnham in task #1882querySelector()to improve performance - By @TrevorBurnham in task #1882v20.1.0Compare Source
🎨 Features
BrowserPage.evaluateModule()andBrowserFrame.evaluateModule()- By @capricorn86 in task #1944moduleto the browser settings - By @capricorn86 in task #1944import()to JavaScript evaluation - By @capricorn86 in task #1944type="module"on script elementsWebSocket- By @capricorn86 in task #1944CloseEvent- By @capricorn86 in task #1944render.setupScriptandrender.modeto the configuration in @happy-dom/server-renderer - By @capricorn86 in task #1944urlstorenderItemsin the configuration in @happy-dom/server-renderer - By @capricorn86 in task #1944ServerRendererin @happy-dom/server-renderer - By @capricorn86 in task #1944👷♂️ Patch fixes
jsdom/jsdom (jsdom)
v27.4.0Compare Source
TextEncoderandTextDecoder.@exodus/bytespackage; it is now much more correct. (ChALkeR)<meta charset>or using the parent frame's encoding.Ranges were used and then the elements referred to by those ranges were removed.v27.3.0Compare Source
@acemir/cssom. (acemir)lodash/lodash (lodash-es)
v4.17.23Compare Source
v4.17.22Compare Source
ota-meshi/postcss-html (postcss-html)
v1.8.1Compare Source
What's Changed
toJSON()due todocumentproperty. by @ota-meshi in #147Full Changelog: https://github.com/ota-meshi/postcss-html/compare/v1.8.0...v1.8.1
rollup/rollup (rollup)
v4.57.1Compare Source
2026-01-30
Bug Fixes
Pull Requests
process.report.getReport()calls in a child process for robust environment detection (@alan-agius4, @lukastaegert)v4.57.0Compare Source
2026-01-27
Features
loadortransformhooks as that will no longer be supported with rollup 5 (#5700)Pull Requests
v4.56.0Compare Source
2026-01-22
Features
Bug Fixes
this(#6230)Pull Requests
v4.55.3Compare Source
2026-01-21
Bug Fixes
Pull Requests
v4.55.2Compare Source
2026-01-19
Bug Fixes
Pull Requests
492b0c8(@renovate[bot])v4.55.1Compare Source
2026-01-05
Bug Fixes
Pull Requests
v4.54.0Compare Source
2025-12-20
Features
Symbol.hasInstance,Symbol.disposeandSymbol.asyncDisposeproperties if unused (#6046)Bug Fixes
Pull Requests
4f806de(@renovate[bot], @lukastaegert)v4.53.5Compare Source
2025-12-16
Bug Fixes
Pull Requests
v4.53.4Compare Source
2025-12-15
Bug Fixes
Symbol.disposeandSymbol.asyncDisposeproperties are never removed with(await) usingdeclarations. (#6209)Pull Requests
sass/embedded-host-node (sass-embedded)
v1.97.3Compare Source
could cause outer style rules to be omitted.
v1.97.2Compare Source
v1.97.1Compare Source
if()syntax where values would be evaluatedeven if their conditions didn't match.
v1.97.0Compare Source
display-p3-linearcolor space.v1.96.0Compare Source
zero denominator units) to be emitted to CSS. These are now emitted as
calc()expressions, which now support complex units in plain CSS.v1.95.1Compare Source
stormwarning/stylelint-config-recess-order (stylelint-config-recess-order)
v7.6.0Compare Source
Minor Changes
anchor-nameanchor-scopeanchor-centerposition-areaposition-anchorposition-tryposition-try-orderposition-try-fallbacksposition-visibilityv7.5.0Compare Source
Minor Changes
Thanks @aicest!
cornercorner-*propertiescorner-shapecorner-*-shapepropertiesPatch Changes
Add support for Stylelint v17 (#447)
Updated peerDependencies version ranges for
stylelintandstylelint-order.Fixes #446
unocss/unocss (unocss)
v66.6.0Compare Source
🚀 Features
allLayersoption to output all layer names - by @zyyv in #5057 (b55b4)stretchkeyword for width/height - by @zyyv in #5048 (126d1)contain-intrinsic-sizerule close #5045 - by @zyyv in #5045 (d5346)🐞 Bug Fixes
@types/vscode- by @Jungzl in #5034 (54769)View changes on GitHub
v66.5.12Compare Source
🚀 Features
🐞 Bug Fixes
fakePluginContext- by @zyyv (5e93d)externalconfiguration - by @zyyv in #5031 (0107e)columngenerate value fromcontainer- by @zyyv in #5030 (46860)View changes on GitHub
v66.5.11Compare Source
🚀 Features
🐞 Bug Fixes
View changes on GitHub
yanhao98/utils4u (utils4u)
v5.1.0Compare Source
Bug Fixes
Features
5.0.1 (2025-12-09)
Bug Fixes
vitest-dev/vitest (vitest)
v4.0.18Compare Source
🚀 Experimental Features
onModuleRunnerhook toworker.init- by @sheremet-va in #9286 (ea837)🐞 Bug Fixes
meta.urlincreateRequire- by @sheremet-va in #9441 (e0572)View changes on GitHub
v4.0.17Compare Source
🚀 Experimental Features
🐞 Bug Fixes
addEventHandler#9371 - by @ThibautMarechal in #9372 and #9371 (40841)process.envandimport.meta.envdefines in inline project - by @hi-ogawa in #9239 (b70c9)ErrorEvent.messagewhen unhandledErrorEvent.erroris null - by @hi-ogawa in #9322 (5d84e)fileParallelismon an instance - by @sheremet-va in #9328 (15006)istanbul-lib-source-mapsusage - by @AriPerkkio in #9344 (b0940)View changes on GitHub
v4.0.16Compare Source
🐞 Bug Fixes
process.versionsstub - by @AriPerkkio in #9174 (78cfb)test.poolOptionsif it's set - by @sheremet-va in #9226 (f7f6a)recordArtifactfrom the vitest package - by @macarie in #9186 (01c56)import.meta.envdefine - by @hi-ogawa in #9205 (01a9a)setupEnvironmentfor custom pools - by @AriPerkkio in #9187 (5d26b)View changes on GitHub
vuejs/language-tools (vue-component-type-helpers)
v3.2.4Compare Source
language-core
ctx.configand support type annotation via generics (#5944) - Thanks to @KazariEX!workspace
v3.2.3Compare Source
language-core
defineModelbreaking ast inlang="js"(#5935) - Thanks to @KazariEX!typescript-plugin
vscode
<style>and<script>tags (#5925) - Thanks to @serkodev!v3.2.2Compare Source
language-core
language-plugin-pug
language-service
=""for boolean props completion edits (#5888) - Thanks to @KazariEX!typescript-plugin
v3.2.1Compare Source
language-core
v-for(#5896) - Thanks to @serkodev!component-meta
optionisfalse(#5891) - Thanks to @KazariEX!component-type-helpers
language-service
:xxx(shorthand) when no prefix is typed, instead of bothxxxand:xxxv3.2.0Compare Source
vscode
fast-diffwith custom character-by-character alignment algorithm (#5849) (#5851)language-service
component-meta
tagsto slots and exposed (#5862) - Thanks to @aj-dev!exposed(#5868) - Thanks to @aj-dev!typescript-plugin
ts.CompletionEntryData(#5869) - Thanks to @KazariEX!language-core
v-fortype inference (#5836)v-forkey type withObject.keys(#5837) - Thanks to @serkodev!<!-- @​strictTemplates -->magic comment (#5845)<script src="">(#5838)createIfBranch(#5844) - Thanks to @serkodev!component-type-helpers
ComponentTypehelperworkspace
v3.1.8Compare Source
Features
<script>and<style>tag (#5830) - Thanks to @serkodev!Bug Fixes
preferencesandformatOptionsin tsserver (#5829)Other Changes
v3.1.7Compare Source
Features
scriptId(#5811) - Thanks to @serkodev!Bug Fixes
Identifier.textproperty (#5810)__VLS_SlotsgenerationOther Changes
v3.1.6Compare Source
Features
<script setup>(#5805)Bug Fixes
createParsedCommandLineByJsonparsed incorrect options since v3.1.5 (#5768 (comment))vue.server.pathcompatible with Windows (#5772)getVIfNodeto supportv-else-ifdirectives (#5765) - Thanks to @serkodev!{}instead of its string value forstyle="..."(#5781) - Thanks to @KazariEX!v-bind="$attrs"loses navigation wheninferTemplateDollarAttrsis disabled (#5783)const props =completion in StringLiteral (#5786)$eltype for generic components usinginferComponentDollarEl(#5794)<script>content generates before<script setup>(#5795)bypassDefineComponenthack for better JS support (#4876) (#5379)Prettify<T>caused generic props gets inferred asunknown(#5667) - Thanks to @so1ve!<as operator in SFC scripts (#5801) - Thanks to @serkodev!isTypeScriptDocumentin VSCode fortypescript.preferences.autoImportSpecifierExcludeRegexesconfig support (#5364)vaporattr (#5496)Performance
:class- Thanks to @KazariEX!Other Changes
debuggerfrom virtual code for tsslint compatibilityref="xxx"rawTypeand__internal__.tsLs(#5808)createResolveModuleName(volarjs/volar.js#293) (#5644) - Thanks to @serkodev!intlify/vue-i18n (vue-i18n)
v11.2.8Compare Source
Full Changelog: https://github.com/intlify/vue-i18n/compare/v11.2.7...v11.2.8
v11.2.7Compare Source
Full Changelog: https://github.com/intlify/vue-i18n/compare/v11.2.6...v11.2.7
v11.2.6Compare Source
Full Changelog: https://github.com/intlify/vue-i18n/compare/v11.2.5...v11.2.6
vue-macros/vue-macros (vue-macros)
v3.1.2Compare Source
🚀 Features
View changes on GitHub
vuejs/router (vue-router)
v4.6.4Compare Source
🚀 Features
🐞 Bug Fixes
View changes on GitHub
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Renovate Bot.
bc281b6180to2d4461836echore(deps): update dependency @cloudflare/vite-plugin to v1.16.1to chore(deps): update all non-major dependencies2d4461836eto07a1bb669d07a1bb669dtodee38fbae8dee38fbae8to75cac0614375cac06143todae1c5b2dbdae1c5b2dbto8bf86018318bf8601831toc692e034a8c692e034a8toa14da4911ea14da4911eto237a0e1d1c237a0e1d1cto6152b67c316152b67c31to552fa2b827552fa2b827to312c57f627312c57f627to9190f86fe89190f86fe8toec3c45e692ec3c45e692toab22408134ab22408134to06f346b78906f346b789toec64b82aaaec64b82aaatof8a955b42cf8a955b42ctoae26637777ae26637777to1a85dfe4051a85dfe405to1c42b907031c42b90703toaadfa4c73caadfa4c73ctod403891446d403891446to36c76a08c536c76a08c5tod7baadd730d7baadd730toa0451f18b9a0451f18b9tof49c04e7b3f49c04e7b3toe1f1fed324e1f1fed324toe55e8db290e55e8db290to42f29c19be42f29c19betof88ef4d21bf88ef4d21btoe03538894be03538894btod73c55cf43d73c55cf43to144c61cf37144c61cf37to762f88317b762f88317bto330a3aa916330a3aa916to2862e5d08c2862e5d08ctodc09e754c5dc09e754c5tof65cb5449ef65cb5449etoeceed257faeceed257fatoe1d06c603de1d06c603dto0f01f4a1380f01f4a138to3d5ed26a083d5ed26a08tob849d0ec68b849d0ec68to56033aaa2a56033aaa2ato55802d008455802d0084tobd5bcf8aaabd5bcf8aaato8aecb051e28aecb051e2to8bdf5deffd8bdf5deffdto189f91ac4b189f91ac4btocd1d294a22cd1d294a22to8090896dda8090896ddato18849a668c18849a668ctodd3561c90bdd3561c90bto018b8eac77018b8eac77toa01116df36a01116df36tob82ce1cb5cb82ce1cb5ctoddcdc3656dddcdc3656dtoa9c4ff8fbfa9c4ff8fbftoedffe30c8aedffe30c8ato4aff4d202b4aff4d202bto31f8a19a0231f8a19a02toc4da8409b3c4da8409b3to71bdb7eb0571bdb7eb05toea79fa5837ea79fa5837tod28df8620bd28df8620bto00ad01331000ad013310to05fe62192305fe621923toe7fbb46802e7fbb46802to3011ba3df53011ba3df5toc7f585418cc7f585418ctoa3b79c132ea3b79c132eto65ab21f20d65ab21f20dto955713f7ad955713f7adto49c7957f4d49c7957f4dto681c998bb4681c998bb4to369372907c369372907cto2fbf029ed72fbf029ed7to2a650381512a65038151tod890a9e8f7d890a9e8f7to093f1ff95b093f1ff95btocf0b6ad785cf0b6ad785tob0ab29ff5bb0ab29ff5bto05c396fa0d05c396fa0dto042c47f34f042c47f34fto466b6928cf466b6928cftofd6584ff81fd6584ff81tof867920433f867920433tofd32fdaaebfd32fdaaebto8a741e188b8a741e188bto7ea6f513c27ea6f513c2to3c61137ce53c61137ce5to07468574e607468574e6to5877e851e45877e851e4to0494f8b73d0494f8b73dto6e37c50be56e37c50be5tod7832457b5d7832457b5to1968a057091968a05709tob97008e211b97008e211to4ea495eadf4ea495eadfto6d69d8f4006d69d8f400to83cd8e355c83cd8e355cto5a5d286c245a5d286c24to2b98675b122b98675b12to47c9ddb88847c9ddb888to2bbb25f46d2bbb25f46dto2d61c022292d61c02229to85bc4ab43a85bc4ab43ato266606d2eb266606d2ebto2e6d4092b72e6d4092b7to08cbc8823808cbc88238toe1b4798b5ee1b4798b5etofeefcbc3c4feefcbc3c4to5a9e33b30f5a9e33b30fto9a4338db5e9a4338db5etoa33ee7e9b6a33ee7e9b6to271905adf3271905adf3to7e2fcb6a037e2fcb6a03tob73742e673b73742e673tof68dde001df68dde001dto4e7bb441d84e7bb441d8to6968d5b83e6968d5b83etob177c02877b177c02877to7b047c698d7b047c698dtocc1eccb5d0cc1eccb5d0toa582c152f2a582c152f2to13d5ba8f2b13d5ba8f2bto9bbd9060da9bbd9060dato298fe755bf298fe755bfto5bdebc7d5a5bdebc7d5atoc258bf5474c258bf5474to399770af40399770af40toa79c53fdd7a79c53fdd7to4587b61a684587b61a68to5aa43b972c5aa43b972ctoe968e41416e968e41416toee80beabfaee80beabfato060a6e0bbd060a6e0bbdto2818a5685a2818a5685atob6c3fa08a7b6c3fa08a7to773fe8eb0b773fe8eb0btod9cd00a60fd9cd00a60ftod1ffb12be8d1ffb12be8to206f6671e4206f6671e4to2bdbe781a32bdbe781a3to5cd78e64ab5cd78e64abto24080aacaa24080aacaato826222c9d7826222c9d7tod9dfb6f1fd