Skip to content

refactor(client): inline dev-id value in CSS selector - #22736

Merged
sapphi-red merged 1 commit into
vitejs:mainfrom
btea:refactor/optimize-removeStyle-css-selector
Jun 23, 2026
Merged

refactor(client): inline dev-id value in CSS selector#22736
sapphi-red merged 1 commit into
vitejs:mainfrom
btea:refactor/optimize-removeStyle-css-selector

Conversation

@btea

@btea btea commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Use data-vite-dev-id="\${CSS.escape(id)}" as the CSS selector instead of selecting all link[data-vite-dev-id] elements and filtering by ID in JavaScript. This lets the browser's native selector engine do the matching, making the code simpler and slightly more efficient.
https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape_static

@btea
btea requested a review from hi-ogawa June 22, 2026 06:34
@sapphi-red sapphi-red added the p1-chore Doesn't change code behavior (priority) label Jun 23, 2026

@sapphi-red sapphi-red left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@sapphi-red
sapphi-red merged commit 57f59bc into vitejs:main Jun 23, 2026
27 of 28 checks passed
@btea
btea deleted the refactor/optimize-removeStyle-css-selector branch June 23, 2026 11:09
renovate Bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Jun 24, 2026
| datasource | package | from   | to    |
| ---------- | ------- | ------ | ----- |
| npm        | vite    | 8.0.14 | 8.1.0 |


## [v8.1.0](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#810-2026-06-23)

##### Features

- extend `server.fs.deny` list with common files ([#22707](vitejs/vite#22707)) ([61ba8fd](vitejs/vite@61ba8fd))
- update rolldown to 1.1.2 ([#22695](vitejs/vite#22695)) ([4f008a6](vitejs/vite@4f008a6))
- use `~` for Rolldown ([#22693](vitejs/vite#22693)) ([9928722](vitejs/vite@9928722))

##### Bug Fixes

- **bundled-dev:** errors should be kept when incremental build fails ([#22617](vitejs/vite#22617)) ([9a0dd48](vitejs/vite@9a0dd48))
- cache falsy values in perEnvironmentState ([#22715](vitejs/vite#22715)) ([0e91e79](vitejs/vite@0e91e79))
- **glob:** respect caseSensitive option in hmr matcher ([#22711](vitejs/vite#22711)) ([65f525e](vitejs/vite@65f525e))
- **html:** omit nonce on import map when cspNonce is unset ([#22713](vitejs/vite#22713)) ([8340bb5](vitejs/vite@8340bb5))
- **optimizer:** skip null-valued exports in expandGlobIds glob resolution ([#22611](vitejs/vite#22611)) ([8b9f5cd](vitejs/vite@8b9f5cd))
- resolved build options should be kept as a getter ([#22691](vitejs/vite#22691)) ([3527191](vitejs/vite@3527191))
- **server:** handle malformed URI in memory files middleware ([#22714](vitejs/vite#22714)) ([df9e0a5](vitejs/vite@df9e0a5))
- use literal envPrefix queries for Vite Task ([#22706](vitejs/vite#22706)) ([da72733](vitejs/vite@da72733))
- warn on deprecated envFile ([#22555](vitejs/vite#22555)) ([ed7b283](vitejs/vite@ed7b283))

##### Code Refactoring

- **client:** inline dev-id value in CSS selector ([#22736](vitejs/vite#22736)) ([57f59bc](vitejs/vite@57f59bc))
- remove unused removeRawQuery util ([#22724](vitejs/vite#22724)) ([403cc60](vitejs/vite@403cc60))
- use `rolldownOptions` property for chunkImportMap ([#22692](vitejs/vite#22692)) ([8e8816c](vitejs/vite@8e8816c))


## [v8.0.16](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8016-2026-06-01-small)

##### Bug Fixes

- **deps:** reject UNC paths for launch-editor-middleware ([#22571](vitejs/vite#22571)) ([50b9512](vitejs/vite@50b9512))
- reject windows alternate paths ([#22572](vitejs/vite#22572)) ([dc245c7](vitejs/vite@dc245c7))


## [v8.0.15](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8015-2026-06-01-small)

##### Features

- send 408 on request timeout ([#22476](vitejs/vite#22476)) ([c85c9ee](vitejs/vite@c85c9ee))
- update rolldown to 1.0.3 ([#22538](vitejs/vite#22538)) ([646dbed](vitejs/vite@646dbed))

##### Bug Fixes

- capitalize error messages and remove spurious space in parse error ([#22488](vitejs/vite#22488)) ([85a0eff](vitejs/vite@85a0eff))
- **deps:** update all non-major dependencies ([#22511](vitejs/vite#22511)) ([2686d7d](vitejs/vite@2686d7d))
- **dev:** fix html-proxy cache key mismatch for /@fs/ HTML paths ([#21762](vitejs/vite#21762)) ([47c4213](vitejs/vite@47c4213))
- **glob:** error on relative glob in virtual module when no files match ([#22497](vitejs/vite#22497)) ([5c8e98f](vitejs/vite@5c8e98f))
- **optimizer:** close the rolldown bundle when write() rejects ([#22528](vitejs/vite#22528)) ([e3cfb9d](vitejs/vite@e3cfb9d))
- **resolve:** provide onWarn for viteResolvePlugin in JS plugin containers ([#22509](vitejs/vite#22509)) ([40985f1](vitejs/vite@40985f1))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#22566](vitejs/vite#22566)) ([3052a67](vitejs/vite@3052a67))

##### Code Refactoring

- correct logic in `collectAllModules` function ([#22562](vitejs/vite#22562)) ([6978a9c](vitejs/vite@6978a9c))
renovate Bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Jun 24, 2026
| datasource | package | from   | to    |
| ---------- | ------- | ------ | ----- |
| npm        | vite    | 8.0.14 | 8.1.0 |


## [v8.1.0](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#810-2026-06-23)

##### Features

- extend `server.fs.deny` list with common files ([#22707](vitejs/vite#22707)) ([61ba8fd](vitejs/vite@61ba8fd))
- update rolldown to 1.1.2 ([#22695](vitejs/vite#22695)) ([4f008a6](vitejs/vite@4f008a6))
- use `~` for Rolldown ([#22693](vitejs/vite#22693)) ([9928722](vitejs/vite@9928722))

##### Bug Fixes

- **bundled-dev:** errors should be kept when incremental build fails ([#22617](vitejs/vite#22617)) ([9a0dd48](vitejs/vite@9a0dd48))
- cache falsy values in perEnvironmentState ([#22715](vitejs/vite#22715)) ([0e91e79](vitejs/vite@0e91e79))
- **glob:** respect caseSensitive option in hmr matcher ([#22711](vitejs/vite#22711)) ([65f525e](vitejs/vite@65f525e))
- **html:** omit nonce on import map when cspNonce is unset ([#22713](vitejs/vite#22713)) ([8340bb5](vitejs/vite@8340bb5))
- **optimizer:** skip null-valued exports in expandGlobIds glob resolution ([#22611](vitejs/vite#22611)) ([8b9f5cd](vitejs/vite@8b9f5cd))
- resolved build options should be kept as a getter ([#22691](vitejs/vite#22691)) ([3527191](vitejs/vite@3527191))
- **server:** handle malformed URI in memory files middleware ([#22714](vitejs/vite#22714)) ([df9e0a5](vitejs/vite@df9e0a5))
- use literal envPrefix queries for Vite Task ([#22706](vitejs/vite#22706)) ([da72733](vitejs/vite@da72733))
- warn on deprecated envFile ([#22555](vitejs/vite#22555)) ([ed7b283](vitejs/vite@ed7b283))

##### Code Refactoring

- **client:** inline dev-id value in CSS selector ([#22736](vitejs/vite#22736)) ([57f59bc](vitejs/vite@57f59bc))
- remove unused removeRawQuery util ([#22724](vitejs/vite#22724)) ([403cc60](vitejs/vite@403cc60))
- use `rolldownOptions` property for chunkImportMap ([#22692](vitejs/vite#22692)) ([8e8816c](vitejs/vite@8e8816c))


## [v8.0.16](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8016-2026-06-01-small)

##### Bug Fixes

- **deps:** reject UNC paths for launch-editor-middleware ([#22571](vitejs/vite#22571)) ([50b9512](vitejs/vite@50b9512))
- reject windows alternate paths ([#22572](vitejs/vite#22572)) ([dc245c7](vitejs/vite@dc245c7))


## [v8.0.15](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8015-2026-06-01-small)

##### Features

- send 408 on request timeout ([#22476](vitejs/vite#22476)) ([c85c9ee](vitejs/vite@c85c9ee))
- update rolldown to 1.0.3 ([#22538](vitejs/vite#22538)) ([646dbed](vitejs/vite@646dbed))

##### Bug Fixes

- capitalize error messages and remove spurious space in parse error ([#22488](vitejs/vite#22488)) ([85a0eff](vitejs/vite@85a0eff))
- **deps:** update all non-major dependencies ([#22511](vitejs/vite#22511)) ([2686d7d](vitejs/vite@2686d7d))
- **dev:** fix html-proxy cache key mismatch for /@fs/ HTML paths ([#21762](vitejs/vite#21762)) ([47c4213](vitejs/vite@47c4213))
- **glob:** error on relative glob in virtual module when no files match ([#22497](vitejs/vite#22497)) ([5c8e98f](vitejs/vite@5c8e98f))
- **optimizer:** close the rolldown bundle when write() rejects ([#22528](vitejs/vite#22528)) ([e3cfb9d](vitejs/vite@e3cfb9d))
- **resolve:** provide onWarn for viteResolvePlugin in JS plugin containers ([#22509](vitejs/vite#22509)) ([40985f1](vitejs/vite@40985f1))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#22566](vitejs/vite#22566)) ([3052a67](vitejs/vite@3052a67))

##### Code Refactoring

- correct logic in `collectAllModules` function ([#22562](vitejs/vite#22562)) ([6978a9c](vitejs/vite@6978a9c))
renovate Bot added a commit to gwennlbh/pleye that referenced this pull request Jul 23, 2026
##### [v8.1.5](https://github.com/vitejs/vite/releases/tag/v8.1.5)

Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v8.1.5/packages/vite/CHANGELOG.md) for details.
##### [v8.1.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-814-2026-07-09-small)

##### Features

- **legacy:** prefer oxc as minifier (fix [#21973](vitejs/vite#21973)) ([#22468](vitejs/vite#22468)) ([ab5dafa](vitejs/vite@ab5dafa))

##### Bug Fixes

- **build:** add workaround for building on stackblitz ([#22840](vitejs/vite#22840)) ([575c32c](vitejs/vite@575c32c))
- **build:** keep `import.meta.url` in preload function as-is ([#22839](vitejs/vite#22839)) ([f1f90ed](vitejs/vite@f1f90ed))
- **deps:** update all non-major dependencies ([#22865](vitejs/vite#22865)) ([d4295a9](vitejs/vite@d4295a9))
- **deps:** update rolldown-related dependencies ([#22866](vitejs/vite#22866)) ([7cf07e4](vitejs/vite@7cf07e4))
- **html:** avoid backtracking in import-only check ([#22848](vitejs/vite#22848)) ([b5868c0](vitejs/vite@b5868c0))
- **optimizer:** avoid optimizer run for transform request before init ([#22852](vitejs/vite#22852)) ([72a5e21](vitejs/vite@72a5e21))
- **ssr:** align named export function call stacktrace column with Node ([#22829](vitejs/vite#22829)) ([173a1b6](vitejs/vite@173a1b6))
- strip pure CSS chunk imports when chunkImportMap is enabled ([#22841](vitejs/vite#22841)) ([648bd04](vitejs/vite@648bd04))

##### Documentation

- fix incorrect `@default` for `server.cors` ([#22859](vitejs/vite#22859)) ([70435b2](vitejs/vite@70435b2))

##### Miscellaneous Chores

- **deps:** update dependency postcss-modules to v9 ([#22867](vitejs/vite#22867)) ([a9539d6](vitejs/vite@a9539d6))

##### Code Refactoring

- eliminate ineffectiveDynamicImport warn ([#22876](vitejs/vite#22876)) ([ea22fb3](vitejs/vite@ea22fb3))

##### Tests

- avoid warnings ([#22851](vitejs/vite#22851)) ([af21ab6](vitejs/vite@af21ab6))

##### Build System

- remove the custom onLog function ([#22878](vitejs/vite#22878)) ([2c4a217](vitejs/vite@2c4a217))
- replace deprecated `onwarn` with `onLog` ([#22741](vitejs/vite#22741)) ([c581b55](vitejs/vite@c581b55))
##### [v8.1.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-813-2026-07-02-small)

##### Bug Fixes

- **css:** inject inlined CSS after the shebang line ([#22717](vitejs/vite#22717)) ([1534d36](vitejs/vite@1534d36))
- **deps:** bump `es-module-lexer` to 2.3.0 ([#22838](vitejs/vite#22838)) ([7103c3a](vitejs/vite@7103c3a))
- preload css for nested dynamic imports ([#22759](vitejs/vite#22759)) ([2c53054](vitejs/vite@2c53054))
- **ssr:** correct stacktrace column position for first line ([#22828](vitejs/vite#22828)) ([c4acd69](vitejs/vite@c4acd69))
##### [v8.1.2](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-812-2026-06-30-small)

##### Bug Fixes

- **deps:** revert es-module-lexer to 2.1.0 ([#22827](vitejs/vite#22827)) ([0d3bd7c](vitejs/vite@0d3bd7c))
- restore, "fix: resolve pnpm .modules.yaml from workspace root instead of cwd ([#22757](vitejs/vite#22757))" ([#22825](vitejs/vite#22825)) ([efb98cc](vitejs/vite@efb98cc))
- revert, "fix: escape ids with multiple null bytes ([#22687](vitejs/vite#22687))" ([cccef55](vitejs/vite@cccef55))
- revert, "fix: resolve pnpm .modules.yaml from workspace root instead of cwd ([#22757](vitejs/vite#22757))" ([cf97711](vitejs/vite@cf97711))
##### [v8.1.1](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-811-2026-06-30-small)

##### Features

- update dynamic import warning to link to Vite docs ([#22823](vitejs/vite#22823)) ([62bd7af](vitejs/vite@62bd7af))

##### Bug Fixes

- **bundled-dev:** avoid stack overflow on `import.meta.hot.invalidate()` ([#22797](vitejs/vite#22797)) ([709eb8e](vitejs/vite@709eb8e))
- **bundled-dev:** serve assets emitted during HMR/lazy compile ([#22745](vitejs/vite#22745)) ([5876b2c](vitejs/vite@5876b2c))
- **bundledDev:** skip plugin transform hooks for rolldown-lazy stub modules ([#22778](vitejs/vite#22778)) ([8f925e2](vitejs/vite@8f925e2))
- **css:** preserve dollar signs in external `@import` urls with lightningcss ([#22718](vitejs/vite#22718)) ([9fa7ab4](vitejs/vite@9fa7ab4))
- **css:** resolve tsconfig paths in CSS and Sass [@import](https://github.com/import) ([#22775](vitejs/vite#22775)) ([ef0b891](vitejs/vite@ef0b891))
- **deps:** update all non-major dependencies ([#22734](vitejs/vite#22734)) ([e635f49](vitejs/vite@e635f49))
- **deps:** update all non-major dependencies ([#22804](vitejs/vite#22804)) ([8837400](vitejs/vite@8837400))
- **deps:** update rolldown-related dependencies ([#22591](vitejs/vite#22591)) ([2ce6677](vitejs/vite@2ce6677))
- escape ids with multiple null bytes ([#22687](vitejs/vite#22687)) ([833fc30](vitejs/vite@833fc30))
- hide console window when running 'net use' on Windows ([#22698](vitejs/vite#22698)) ([92b63f2](vitejs/vite@92b63f2))
- ignore bundled config temp dir ([#22800](vitejs/vite#22800)) ([043a810](vitejs/vite@043a810))
- invert `esbuild.jsxSideEffects` when converting to `oxc.jsx.pure` ([#22809](vitejs/vite#22809)) ([33895ba](vitejs/vite@33895ba))
- **optimize-deps:** ignore `ERR_CLOSED_SERVER` in scanner ([#22784](vitejs/vite#22784)) ([085a0ab](vitejs/vite@085a0ab))
- **optimizer:** scanner should resolve `input` from `root` ([#22769](vitejs/vite#22769)) ([9722b07](vitejs/vite@9722b07))
- resolve pnpm .modules.yaml from workspace root instead of cwd ([#22757](vitejs/vite#22757)) ([2531ac7](vitejs/vite@2531ac7))
- return sourcemap field from some plugins that were lacking ([#22782](vitejs/vite#22782)) ([7e18bf8](vitejs/vite@7e18bf8))
- **server:** handle malformed URI in indexHtmlMiddleware ([#22781](vitejs/vite#22781)) ([84f5ccc](vitejs/vite@84f5ccc))

##### Miscellaneous Chores

- improve dependency optimizer messages ([#22549](vitejs/vite#22549)) ([092cb3b](vitejs/vite@092cb3b))

##### Code Refactoring

- **css:** remove lightningcss null byte bug workaround ([#22822](vitejs/vite#22822)) ([2dafd3b](vitejs/vite@2dafd3b))
- use pre-defined environments variable to avoid duplicate `Object.values` calls ([#22790](vitejs/vite#22790)) ([1113acf](vitejs/vite@1113acf))

##### Tests

- enable "manual chunk path" test and remove "worker.format error" test ([#22824](vitejs/vite#22824)) ([c088511](vitejs/vite@c088511))
##### [v8.1.0](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#810-2026-06-23)

##### Features

- extend `server.fs.deny` list with common files ([#22707](vitejs/vite#22707)) ([61ba8fd](vitejs/vite@61ba8fd))
- update rolldown to 1.1.2 ([#22695](vitejs/vite#22695)) ([4f008a6](vitejs/vite@4f008a6))
- use `~` for Rolldown ([#22693](vitejs/vite#22693)) ([9928722](vitejs/vite@9928722))

##### Bug Fixes

- **bundled-dev:** errors should be kept when incremental build fails ([#22617](vitejs/vite#22617)) ([9a0dd48](vitejs/vite@9a0dd48))
- cache falsy values in perEnvironmentState ([#22715](vitejs/vite#22715)) ([0e91e79](vitejs/vite@0e91e79))
- **glob:** respect caseSensitive option in hmr matcher ([#22711](vitejs/vite#22711)) ([65f525e](vitejs/vite@65f525e))
- **html:** omit nonce on import map when cspNonce is unset ([#22713](vitejs/vite#22713)) ([8340bb5](vitejs/vite@8340bb5))
- **optimizer:** skip null-valued exports in expandGlobIds glob resolution ([#22611](vitejs/vite#22611)) ([8b9f5cd](vitejs/vite@8b9f5cd))
- resolved build options should be kept as a getter ([#22691](vitejs/vite#22691)) ([3527191](vitejs/vite@3527191))
- **server:** handle malformed URI in memory files middleware ([#22714](vitejs/vite#22714)) ([df9e0a5](vitejs/vite@df9e0a5))
- use literal envPrefix queries for Vite Task ([#22706](vitejs/vite#22706)) ([da72733](vitejs/vite@da72733))
- warn on deprecated envFile ([#22555](vitejs/vite#22555)) ([ed7b283](vitejs/vite@ed7b283))

##### Code Refactoring

- **client:** inline dev-id value in CSS selector ([#22736](vitejs/vite#22736)) ([57f59bc](vitejs/vite@57f59bc))
- remove unused removeRawQuery util ([#22724](vitejs/vite#22724)) ([403cc60](vitejs/vite@403cc60))
- use `rolldownOptions` property for chunkImportMap ([#22692](vitejs/vite#22692)) ([8e8816c](vitejs/vite@8e8816c))
##### [v8.0.16](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8016-2026-06-01-small)

##### Bug Fixes

- **deps:** reject UNC paths for launch-editor-middleware ([#22571](vitejs/vite#22571)) ([50b9512](vitejs/vite@50b9512))
- reject windows alternate paths ([#22572](vitejs/vite#22572)) ([dc245c7](vitejs/vite@dc245c7))
##### [v8.0.15](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8015-2026-06-01-small)

##### Features

- send 408 on request timeout ([#22476](vitejs/vite#22476)) ([c85c9ee](vitejs/vite@c85c9ee))
- update rolldown to 1.0.3 ([#22538](vitejs/vite#22538)) ([646dbed](vitejs/vite@646dbed))

##### Bug Fixes

- capitalize error messages and remove spurious space in parse error ([#22488](vitejs/vite#22488)) ([85a0eff](vitejs/vite@85a0eff))
- **deps:** update all non-major dependencies ([#22511](vitejs/vite#22511)) ([2686d7d](vitejs/vite@2686d7d))
- **dev:** fix html-proxy cache key mismatch for /@fs/ HTML paths ([#21762](vitejs/vite#21762)) ([47c4213](vitejs/vite@47c4213))
- **glob:** error on relative glob in virtual module when no files match ([#22497](vitejs/vite#22497)) ([5c8e98f](vitejs/vite@5c8e98f))
- **optimizer:** close the rolldown bundle when write() rejects ([#22528](vitejs/vite#22528)) ([e3cfb9d](vitejs/vite@e3cfb9d))
- **resolve:** provide onWarn for viteResolvePlugin in JS plugin containers ([#22509](vitejs/vite#22509)) ([40985f1](vitejs/vite@40985f1))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#22566](vitejs/vite#22566)) ([3052a67](vitejs/vite@3052a67))

##### Code Refactoring

- correct logic in `collectAllModules` function ([#22562](vitejs/vite#22562)) ([6978a9c](vitejs/vite@6978a9c))
##### [v8.0.14](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8014-2026-05-21-small)

##### Features

- update rolldown to 1.0.2 ([#22484](vitejs/vite#22484)) ([96efc88](vitejs/vite@96efc88))

##### Bug Fixes

- **deps:** update all non-major dependencies ([#22471](vitejs/vite#22471)) ([98b8163](vitejs/vite@98b8163))
- **dev:** handle errors when sending messages to vite server ([#22450](vitejs/vite#22450)) ([e8e9a34](vitejs/vite@e8e9a34))
- **html:** handle trailing slash paths in transformIndexHtml ([#22480](vitejs/vite#22480)) ([5d94d1b](vitejs/vite@5d94d1b))
- **optimizer:** pass oxc jsx options to transformSync in dependency scan                                                            ([#22342](vitejs/vite#22342)) ([b3132da](vitejs/vite@b3132da))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#22470](vitejs/vite#22470)) ([7cb728e](vitejs/vite@7cb728e))
- remove irrelevant commits from changelog ([2c69495](vitejs/vite@2c69495))

##### Code Refactoring

- **glob:** do not rewrite import path for absolute base ([#22310](vitejs/vite#22310)) ([0ae2844](vitejs/vite@0ae2844))

##### Tests

- **css:** sass does not use main field ([#22449](vitejs/vite#22449)) ([ebf39a0](vitejs/vite@ebf39a0))
##### [v8.0.13](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8013-2026-05-14-small)

##### Features

- **bundled-dev:** add lazy bundling support ([#21406](vitejs/vite#21406)) ([4f0949f](vitejs/vite@4f0949f))
- **optimizer:** improve the esbuild plugin converter to pass some properties of build result to `onEnd` ([#22357](vitejs/vite#22357)) ([47071ce](vitejs/vite@47071ce))
- update rolldown to 1.0.1 ([#22444](vitejs/vite#22444)) ([8c766a6](vitejs/vite@8c766a6))

##### Bug Fixes

- **build:** copy public directory after building same environment with `write=false` ([#22328](vitejs/vite#22328)) ([158e8ae](vitejs/vite@158e8ae))
- **css:** await sass/less/styl worker disposal on teardown (fix [#22274](vitejs/vite#22274)) ([#22275](vitejs/vite#22275)) ([b7edcb7](vitejs/vite@b7edcb7))
- **css:** keep deprecated `name`/`originalFileName` in synthetic `assetFileNames` call ([#22439](vitejs/vite#22439)) ([8e59c97](vitejs/vite@8e59c97))
- make `isBundled` per environment ([#22257](vitejs/vite#22257)) ([a576326](vitejs/vite@a576326))
- **ssr:** avoid rewriting labels that collide with imports ([#22451](vitejs/vite#22451)) ([d9b18e0](vitejs/vite@d9b18e0))

##### Miscellaneous Chores

- remove irrelevant commits from changelog ([#22430](vitejs/vite#22430)) ([6ea3838](vitejs/vite@6ea3838))
- update changelog ([#22413](vitejs/vite#22413)) ([fcdc87c](vitejs/vite@fcdc87c))
##### [v8.0.12](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8012-2026-05-11-small)

##### Features

- update rolldown to 1.0.0 ([#22401](vitejs/vite#22401)) ([cf0ff41](vitejs/vite@cf0ff41))

##### Bug Fixes

- **create-vite:** pass react framework to TanStack CLI ([#22397](vitejs/vite#22397)) ([18f0f90](vitejs/vite@18f0f90))
- **deps:** update all non-major dependencies ([#22420](vitejs/vite#22420)) ([2be6000](vitejs/vite@2be6000))
- **module-runner:** prevent partial-exports race on concurrent imports of in-flight invalidated re-export chains ([#22369](vitejs/vite#22369)) ([f5a22e6](vitejs/vite@f5a22e6))
- refer to `rolldownOptions` instead of deprecated `rollupOptions` in messages ([#22400](vitejs/vite#22400)) ([b675c7b](vitejs/vite@b675c7b))
- **worker:** apply `build.target` to worker bundle ([#22404](vitejs/vite#22404)) ([3c93fde](vitejs/vite@3c93fde))
- **worker:** forward define to worker bundle transform ([#22408](vitejs/vite#22408)) ([d4838a0](vitejs/vite@d4838a0))

##### Miscellaneous Chores

- **deps:** update dependency eslint-plugin-n to v18 ([#22423](vitejs/vite#22423)) ([2fe7bd2](vitejs/vite@2fe7bd2))
- **deps:** update rolldown-related dependencies ([#22421](vitejs/vite#22421)) ([66b9eb3](vitejs/vite@66b9eb3))
##### [v8.0.11](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8011-2026-05-07-small)

##### Features

- update rolldown to 1.0.0-rc.18 ([#22360](vitejs/vite#22360)) ([3f80524](vitejs/vite@3f80524))

##### Bug Fixes

- **deps:** update all non-major dependencies ([#22334](vitejs/vite#22334)) ([672c962](vitejs/vite@672c962))
- **deps:** update all non-major dependencies ([#22382](vitejs/vite#22382)) ([5c0cfcb](vitejs/vite@5c0cfcb))
- **glob:** align hmr matcher options with glob enumeration ([#22306](vitejs/vite#22306)) ([30028f9](vitejs/vite@30028f9))
- make separate object instance for each environment ([#22276](vitejs/vite#22276)) ([7c2aa3b](vitejs/vite@7c2aa3b))

##### Documentation

- **create-vite:** list react-compiler templates in README ([#22347](vitejs/vite#22347)) ([7c3a61f](vitejs/vite@7c3a61f))
- explain mergeConfig skips null/undefined ([#22325](vitejs/vite#22325)) ([2151f70](vitejs/vite@2151f70))
- mention native config loader in CLI options ([#22348](vitejs/vite#22348)) ([0420c5d](vitejs/vite@0420c5d))
- update evan's x handle ([640202a](vitejs/vite@640202a))

##### Miscellaneous Chores

- **deps:** update dependency tsdown to ^0.21.10 ([#22333](vitejs/vite#22333)) ([3b51e05](vitejs/vite@3b51e05))
- **deps:** update rolldown-related dependencies ([#22383](vitejs/vite#22383)) ([555ff36](vitejs/vite@555ff36))
- **deps:** update transitive packages to fix npm audit alerts ([#22316](vitejs/vite#22316)) ([86aee62](vitejs/vite@86aee62))

##### Code Refactoring

- devtools integration ([#22312](vitejs/vite#22312)) ([3c8bf06](vitejs/vite@3c8bf06))
- remove unnecessary async ([#22296](vitejs/vite#22296)) ([b31fd35](vitejs/vite@b31fd35))
- show direct path type in bad character warning ([#22339](vitejs/vite#22339)) ([0c162e9](vitejs/vite@0c162e9))

##### Tests

- **create-vite:** use short help alias ([#22389](vitejs/vite#22389)) ([994ab66](vitejs/vite@994ab66))
##### [v8.0.10](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8010-2026-04-23-small)

##### Features

- update rolldown to 1.0.0-rc.17 ([#22299](vitejs/vite#22299)) ([a4d06d9](vitejs/vite@a4d06d9))

##### Bug Fixes

- `hmrClient.logger.debug` and `hmrClient.logger.error` looked different from other HMR logs ([#22147](vitejs/vite#22147)) ([a4d828f](vitejs/vite@a4d828f))
- **css:** show filename in CSS minification warnings for `.css?inline` ([#22292](vitejs/vite#22292)) ([83f0a78](vitejs/vite@83f0a78))
- **optimizer:** allow user transform.target to override default in optimizeDeps ([#22273](vitejs/vite#22273)) ([5c7cec6](vitejs/vite@5c7cec6))
- remove format sniffing module resolution from JS resolver ([#22297](vitejs/vite#22297)) ([b8a21cc](vitejs/vite@b8a21cc))

##### Code Refactoring

- enable some typecheck rules ([#22278](vitejs/vite#22278)) ([9437518](vitejs/vite@9437518))
- typecheck client directory ([#22284](vitejs/vite#22284)) ([40a0847](vitejs/vite@40a0847))
##### [v8.0.9](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-809-2026-04-20-small)

##### Features

- update rolldown to 1.0.0-rc.16 ([#22248](vitejs/vite#22248)) ([2947edd](vitejs/vite@2947edd))

##### Bug Fixes

- allow binding when strictPort is set but wildcard port is in use ([#22150](vitejs/vite#22150)) ([dfc8aa5](vitejs/vite@dfc8aa5))
- **build:** emptyOutDir should happen for watch rebuilds ([#22207](vitejs/vite#22207)) ([ee52267](vitejs/vite@ee52267))
- **bundled-dev:** reject requests to HMR patch files in non potentially trustworthy origins ([#22269](vitejs/vite#22269)) ([868f141](vitejs/vite@868f141))
- **css:** use unique key for cssEntriesMap to prevent same-basename collision ([#22039](vitejs/vite#22039)) ([374bb5d](vitejs/vite@374bb5d))
- **deps:** update all non-major dependencies ([#22219](vitejs/vite#22219)) ([4cd0d67](vitejs/vite@4cd0d67))
- **deps:** update all non-major dependencies ([#22268](vitejs/vite#22268)) ([c28e9c1](vitejs/vite@c28e9c1))
- detect Deno workspace root (fix [#22237](vitejs/vite#22237)) ([#22238](vitejs/vite#22238)) ([1b793c0](vitejs/vite@1b793c0))
- **dev:** handle errors in `watchChange` hook ([#22188](vitejs/vite#22188)) ([fc08bda](vitejs/vite@fc08bda))
- **optimizer:** handle more chars that will be sanitized ([#22208](vitejs/vite#22208)) ([3f24533](vitejs/vite@3f24533))
- skip fallback sourcemap generation for `?raw` imports ([#22148](vitejs/vite#22148)) ([3ec9cda](vitejs/vite@3ec9cda))

##### Documentation

- align the descriptions in READMEs ([#22231](vitejs/vite#22231)) ([44c42b9](vitejs/vite@44c42b9))
- fix reuses wording in dev environment comment ([#22173](vitejs/vite#22173)) ([9163412](vitejs/vite@9163412))
- fix wording in sass error comment ([#22214](vitejs/vite#22214)) ([bc5c6a7](vitejs/vite@bc5c6a7))
- update build CLI defaults ([#22261](vitejs/vite#22261)) ([605bb97](vitejs/vite@605bb97))

##### Miscellaneous Chores

- **deps:** update dependency dotenv-expand to v13 ([#22271](vitejs/vite#22271)) ([0a3887d](vitejs/vite@0a3887d))
##### [v8.0.8](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-808-2026-04-09-small)

##### Features

- update rolldown to 1.0.0-rc.15 ([#22201](vitejs/vite#22201)) ([6baf587](vitejs/vite@6baf587))

##### Bug Fixes

- avoid `dns.getDefaultResultOrder` temporary ([#22202](vitejs/vite#22202)) ([15f1c15](vitejs/vite@15f1c15))
- **ssr:** class property keys hoisting matching imports ([#22199](vitejs/vite#22199)) ([e137601](vitejs/vite@e137601))
##### [v8.0.7](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-807-2026-04-07-small)

##### Bug Fixes

- use sync dns.getDefaultResultOrder instead of dns.promises ([#22185](vitejs/vite#22185)) ([5c05b04](vitejs/vite@5c05b04))
##### [v8.0.6](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-806-2026-04-07-small)

##### Features

- update rolldown to 1.0.0-rc.13 ([#22097](vitejs/vite#22097)) ([51d3e48](vitejs/vite@51d3e48))

##### Bug Fixes

- **css:** avoid mutating sass error multiple times ([#22115](vitejs/vite#22115)) ([d5081c2](vitejs/vite@d5081c2))
- **optimize-deps:** hoist CJS interop assignment ([#22156](vitejs/vite#22156)) ([17a8f9e](vitejs/vite@17a8f9e))

##### Performance Improvements

- early return in `getLocalhostAddressIfDiffersFromDNS` when DNS order is `verbatim` ([#22151](vitejs/vite#22151)) ([56ec256](vitejs/vite@56ec256))

##### Miscellaneous Chores

- **create-vite:** remove unnecessary DOM.Iterable ([#22168](vitejs/vite#22168)) ([bdc53ab](vitejs/vite@bdc53ab))
- replace remaining prettier script ([#22179](vitejs/vite#22179)) ([af71fb2](vitejs/vite@af71fb2))
##### [v8.0.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-805-2026-04-06-small)

##### Bug Fixes

- apply server.fs check to env transport ([#22159](vitejs/vite#22159)) ([f02d9fd](vitejs/vite@f02d9fd))
- avoid path traversal with optimize deps sourcemap handler ([#22161](vitejs/vite#22161)) ([79f002f](vitejs/vite@79f002f))
- check `server.fs` after stripping query as well ([#22160](vitejs/vite#22160)) ([a9a3df2](vitejs/vite@a9a3df2))
- disallow referencing files outside the package from sourcemap ([#22158](vitejs/vite#22158)) ([f05f501](vitejs/vite@f05f501))
##### [v8.0.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-804-2026-04-06-small)

##### Features

- allow esbuild 0.28 as peer deps ([#22155](vitejs/vite#22155)) ([b0da973](vitejs/vite@b0da973))
- **hmr:** truncate list of files on hmr update ([#21535](vitejs/vite#21535)) ([d00e806](vitejs/vite@d00e806))
- **optimizer:** log when dependency scanning or bundling takes over 1s ([#21797](vitejs/vite#21797)) ([f61a1ab](vitejs/vite@f61a1ab))

##### Bug Fixes

- `hasBothRollupOptionsAndRolldownOptions` should return `false` for proxy case ([#22043](vitejs/vite#22043)) ([99897d2](vitejs/vite@99897d2))
- add types for `vite/modulepreload-polyfill` ([#22126](vitejs/vite#22126)) ([17330d2](vitejs/vite@17330d2))
- **deps:** update all non-major dependencies ([#22073](vitejs/vite#22073)) ([6daa10f](vitejs/vite@6daa10f))
- **deps:** update all non-major dependencies ([#22143](vitejs/vite#22143)) ([22b0166](vitejs/vite@22b0166))
- **resolve:** resolve tsconfig paths starting with `#` ([#22038](vitejs/vite#22038)) ([3460fc5](vitejs/vite@3460fc5))
- **ssr:** use browser platform for webworker SSR builds (fix [#21969](vitejs/vite#21969)) ([#21963](vitejs/vite#21963)) ([364c227](vitejs/vite@364c227))

##### Documentation

- add `environment.fetchModule` documentation ([#22035](vitejs/vite#22035)) ([54229e7](vitejs/vite@54229e7))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#21989](vitejs/vite#21989)) ([0ded627](vitejs/vite@0ded627))

##### Code Refactoring

- upgrade to typescript 6 ([#22110](vitejs/vite#22110)) ([cc41398](vitejs/vite@cc41398))
##### [v8.0.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-803-2026-03-26-small)

##### Features

- update rolldown to 1.0.0-rc.12 ([#22024](vitejs/vite#22024)) ([84164ef](vitejs/vite@84164ef))

##### Bug Fixes

- **html:** cache unfiltered CSS list to prevent missing styles across entries ([#22017](vitejs/vite#22017)) ([5464190](vitejs/vite@5464190))
- **module-runner:** handle non-ascii characters in base64 sourcemaps ([#21985](vitejs/vite#21985)) ([77c95bf](vitejs/vite@77c95bf))
- **module-runner:** skip re-import if the runner is closed ([#22020](vitejs/vite#22020)) ([ee2c2cd](vitejs/vite@ee2c2cd))
- **optimizer:** scan is not resolving sub path import if used in a glob import ([#22018](vitejs/vite#22018)) ([ddfe20d](vitejs/vite@ddfe20d))
- **ssr:** ssrTransform incorrectly rewrites `meta` identifier inside `import.meta` when a binding named `meta` exists ([#22019](vitejs/vite#22019)) ([cff5f0c](vitejs/vite@cff5f0c))

##### Miscellaneous Chores

- **deps:** bump picomatch from 4.0.3 to 4.0.4 ([#22027](vitejs/vite#22027)) ([7e56003](vitejs/vite@7e56003))

##### Tests

- **html:** add tests for `getCssFilesForChunk` ([#22016](vitejs/vite#22016)) ([43fbbf9](vitejs/vite@43fbbf9))
##### [v8.0.2](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-802-2026-03-23-small)

##### Features

- update rolldown to 1.0.0-rc.11 ([#21998](vitejs/vite#21998)) ([ff91c31](vitejs/vite@ff91c31))

##### Bug Fixes

- **deps:** update all non-major dependencies ([#21988](vitejs/vite#21988)) ([9b7d150](vitejs/vite@9b7d150))

##### Miscellaneous Chores

- **deps:** update dependency [@vitejs/devtools](https://github.com/vitejs/devtools) to ^0.1.5 ([#21992](vitejs/vite#21992)) ([b2dd65b](vitejs/vite@b2dd65b))
##### [v8.0.1](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-801-2026-03-19-small)

##### Features

- update rolldown to 1.0.0-rc.10 ([#21932](vitejs/vite#21932)) ([b3c067d](vitejs/vite@b3c067d))

##### Bug Fixes

- **bundled-dev:** properly disable `inlineConst` optimization ([#21865](vitejs/vite#21865)) ([6d97142](vitejs/vite@6d97142))
- **css:** lightningcss minify failed when `build.target: 'es6'` ([#21933](vitejs/vite#21933)) ([5fcce46](vitejs/vite@5fcce46))
- **deps:** update all non-major dependencies ([#21878](vitejs/vite#21878)) ([6dbbd7f](vitejs/vite@6dbbd7f))
- **dev:** always use ESM Oxc runtime ([#21829](vitejs/vite#21829)) ([d323ed7](vitejs/vite@d323ed7))
- **dev:** handle concurrent restarts in `_createServer` ([#21810](vitejs/vite#21810)) ([40bc729](vitejs/vite@40bc729))
- handle `+` symbol in package subpath exports during dep optimization ([#21886](vitejs/vite#21886)) ([86db93d](vitejs/vite@86db93d))
- improve `no-cors` request block error ([#21902](vitejs/vite#21902)) ([5ba688b](vitejs/vite@5ba688b))
- use precise regexes for transform filter to avoid backtracking ([#21800](vitejs/vite#21800)) ([dbe41bd](vitejs/vite@dbe41bd))
- **worker:** `require(json)` result should not be wrapped ([#21847](vitejs/vite#21847)) ([0672fd2](vitejs/vite@0672fd2))
- **worker:** make worker output consistent with client and SSR ([#21871](vitejs/vite#21871)) ([69454d7](vitejs/vite@69454d7))

##### Miscellaneous Chores

- add changelog rearrange script ([#21835](vitejs/vite#21835)) ([efef073](vitejs/vite@efef073))
- **deps:** bump required `@vitejs/devtools` version to 0.1+ ([#21925](vitejs/vite#21925)) ([12932f5](vitejs/vite@12932f5))
- **deps:** update rolldown-related dependencies ([#21787](vitejs/vite#21787)) ([1af1d3a](vitejs/vite@1af1d3a))
- rearrange 8.0 changelog ([8e05b61](vitejs/vite@8e05b61))
- rearrange 8.0 changelog ([#21834](vitejs/vite#21834)) ([86edeee](vitejs/vite@86edeee))
##### [v8.0.0](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#800-2026-03-12)

##### Features

- update rolldown to 1.0.0-rc.9 ([#21813](vitejs/vite#21813)) ([f05be0e](vitejs/vite@f05be0e))
- warn when `vite-tsconfig-paths` plugin is detected ([#21781](vitejs/vite#21781)) ([ada493e](vitejs/vite@ada493e))

##### Bug Fixes

- **deps:** update all non-major dependencies ([#21786](vitejs/vite#21786)) ([eaa4352](vitejs/vite@eaa4352))
jquagga added a commit to jquagga/swa that referenced this pull request Aug 2, 2026
* Remove github dependencies on the codeberg version

* Url changes to codeberg (#2)

Co-authored-by: Justin Settle <jus10@partlycloudy.org>
Reviewed-on: https://codeberg.org/jquagga/swa/pulls/2

* chore(deps): update all non-major dependencies (#3)

* chore(deps): lock file maintenance (#4)

This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: (in timezone America/New_York)

- Branch creation
  - "before 4am on monday"
- 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 [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNzYuNyIsInVwZGF0ZWRJblZlciI6IjQzLjE3Ni43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: jquagga-renovate <renovate@partlycloudy.org>
Reviewed-on: https://codeberg.org/jquagga/swa/pulls/4

* Switch from npm to pnpm for building (#5)

Co-authored-by: Justin Settle <jus10@partlycloudy.org>
Reviewed-on: https://codeberg.org/jquagga/swa/pulls/5

* chore(deps): update dependency svelte to v5.55.7 [security] (#6)

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/) |
|---|---|---|---|---|---|
| [svelte](https://svelte.dev) ([source](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte)) | [`5.55.5` → `5.55.7`](https://renovatebot.com/diffs/npm/svelte/5.55.5/5.55.7) | ![age](https://developer.mend.io/api/mc/badges/age/npm/svelte/5.55.7?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/svelte/5.55.7?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/svelte/5.55.5/5.55.7?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/svelte/5.55.5/5.55.7?slim=true) |

---

### Svelte: ReDoS in `<svelte:element>` Tag Validation
[CVE-2026-42567](https://nvd.nist.gov/vuln/detail/CVE-2026-42567) / [GHSA-9rmh-mm8f-r9h6](https://github.com/advisories/GHSA-9rmh-mm8f-r9h6)

<details>
<summary>More information</summary>

#### Details
An internal regex in the Svelte runtime can take exponential time to test in `<svelte:element this={tag}></svelte:element>`. You are only vulnerable to this if you allow tags of unconstrained length. If your application only allows a predetermined list of tags or trims their length before passing them to `svelte:element`, you are safe.

#### Severity
- CVSS Score: 5.9 / 10 (Medium)
- Vector String: `CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N`

#### References
- [https://github.com/sveltejs/svelte/security/advisories/GHSA-9rmh-mm8f-r9h6](https://github.com/sveltejs/svelte/security/advisories/GHSA-9rmh-mm8f-r9h6)
- [https://github.com/sveltejs/svelte](https://github.com/sveltejs/svelte)
- [https://github.com/sveltejs/svelte/releases/tag/svelte%405.55.7](https://github.com/sveltejs/svelte/releases/tag/svelte%405.55.7)

This data is provided by [OSV](https://osv.dev/vulnerability/GHSA-9rmh-mm8f-r9h6) and the [GitHub Advisory Database](https://github.com/github/advisory-database) ([CC-BY 4.0](https://github.com/github/advisory-database/blob/main/LICENSE.md)).
</details>

---

### Svelte: SSR XSS via Insecure Promise Serialization in hydratable
[GHSA-f3cj-j4f6-wq85](https://github.com/advisories/GHSA-f3cj-j4f6-wq85)

<details>
<summary>More information</summary>

#### Details
Contents of `hydratable` promises were not properly stringified, potentially leading to an XSS exploit. You are vulnerable if all of the following is true:
- you are using `hydratable` (an experimental feature at the time of this report)
- you are passing attacker-controlled input such that a synchronous value is hydrated, then a promise value, e.g. `hydratable('someKey', () => [synchronousValue, promiseValue])`

#### Severity
- CVSS Score: 5.3 / 10 (Medium)
- Vector String: `CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N`

#### References
- [https://github.com/sveltejs/svelte/security/advisories/GHSA-f3cj-j4f6-wq85](https://github.com/sveltejs/svelte/security/advisories/GHSA-f3cj-j4f6-wq85)
- [https://github.com/sveltejs/svelte/commit/a16ebc67bbcf8f708360195687e1b2719463e1a4](https://github.com/sveltejs/svelte/commit/a16ebc67bbcf8f708360195687e1b2719463e1a4)
- [https://github.com/sveltejs/svelte](https://github.com/sveltejs/svelte)
- [http://github.com/sveltejs/svelte/releases/tag/svelte%405.55.7](http://github.com/sveltejs/svelte/releases/tag/svelte%405.55.7)

This data is provided by [OSV](https://osv.dev/vulnerability/GHSA-f3cj-j4f6-wq85) and the [GitHub Advisory Database](https://github.com/github/advisory-database) ([CC-BY 4.0](https://github.com/github/advisory-database/blob/main/LICENSE.md)).
</details>

---

### Svelte SSR vulnerable to cross-site scripting via spread attributes
[CVE-2026-42599](https://nvd.nist.gov/vuln/detail/CVE-2026-42599) / [GHSA-pr6f-5x2q-rwfp](https://github.com/advisories/GHSA-pr6f-5x2q-rwfp)

<details>
<summary>More information</summary>

#### Details
When using spread syntax to render attributes from untrusted data, event handler properties are included in the rendered HTML output. If an application spreads user-controlled or external data as element attributes, an attacker can inject malicious event handlers that execute in victims' browsers. Note that this vulnerability _only_ triggers if the user's browser has JavaScript enabled but Svelte's hydration mechanism does not reach the vulnerable element before the event fires.

This is similar to but different from [CVE-2026-27121](https://nvd.nist.gov/vuln/detail/CVE-2026-27121).

#### Severity
- CVSS Score: 5.1 / 10 (Medium)
- Vector String: `CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N`

#### References
- [https://github.com/sveltejs/svelte/security/advisories/GHSA-pr6f-5x2q-rwfp](https://github.com/sveltejs/svelte/security/advisories/GHSA-pr6f-5x2q-rwfp)
- [https://nvd.nist.gov/vuln/detail/CVE-2026-27121](https://nvd.nist.gov/vuln/detail/CVE-2026-27121)
- [https://github.com/sveltejs/svelte](https://github.com/sveltejs/svelte)
- [https://github.com/sveltejs/svelte/releases/tag/svelte%405.55.7](https://github.com/sveltejs/svelte/releases/tag/svelte%405.55.7)

This data is provided by [OSV](https://osv.dev/vulnerability/GHSA-pr6f-5x2q-rwfp) and the [GitHub Advisory Database](https://github.com/github/advisory-database) ([CC-BY 4.0](https://github.com/github/advisory-database/blob/main/LICENSE.md)).
</details>

---

### Svelte Vulnerable to XSS via DOM Clobbering of Internal Framework State
[CVE-2026-42573](https://nvd.nist.gov/vuln/detail/CVE-2026-42573) / [GHSA-rcqx-6q8c-2c42](https://github.com/advisories/GHSA-rcqx-6q8c-2c42)

<details>
<summary>More information</summary>

#### Details
Svelte was vulnerable to DOM clobbering of its internal framework state on elements, potentially leading to XSS attacks.

You are vulnerable if all of the following is true:
- you are using attribute spreading on a form element
- you are using attribute spreading or allow a dynamic value for the `name` attribute on an input or button element within that form
- both of these are simultaneously user-controllable

```svelte
<form {...spread1}>
  <input {...spread2}>
</form>
```

#### Severity
- CVSS Score: 5.3 / 10 (Medium)
- Vector String: `CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:L/VI:N/VA:N/SC:H/SI:H/SA:N`

#### References
- [https://github.com/sveltejs/svelte/security/advisories/GHSA-rcqx-6q8c-2c42](https://github.com/sveltejs/svelte/security/advisories/GHSA-rcqx-6q8c-2c42)
- [https://github.com/sveltejs/svelte](https://github.com/sveltejs/svelte)
- [https://github.com/sveltejs/svelte/releases/tag/svelte%405.55.7](https://github.com/sveltejs/svelte/releases/tag/svelte%405.55.7)

This data is provided by [OSV](https://osv.dev/vulnerability/GHSA-rcqx-6q8c-2c42) and the [GitHub Advisory Database](https://github.com/github/advisory-database) ([CC-BY 4.0](https://github.com/github/advisory-database/blob/main/LICENSE.md)).
</details>

---

### Release Notes

<details>
<summary>sveltejs/svelte (svelte)</summary>

### [`v5.55.7`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5557)

[Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.55.6...svelte@5.55.7)

##### Patch Changes

- fix: prevent XSS on `hydratable` from user contents ([`a16ebc67bbcf8f708360195687e1b2719463e1a4`](https://github.com/sveltejs/svelte/commit/a16ebc67bbcf8f708360195687e1b2719463e1a4))

- chore: bump devalue ([#&#8203;18219](https://github.com/sveltejs/svelte/pull/18219))

- fix: disallow empty attribute names during SSR ([`547853e2406a2147ad7fb5ffeba95b01bd9642da`](https://github.com/sveltejs/svelte/commit/547853e2406a2147ad7fb5ffeba95b01bd9642da))

- fix: harden regex ([`d2375e2ebcab5c88feb5652f1a9d621b8f06b259`](https://github.com/sveltejs/svelte/commit/d2375e2ebcab5c88feb5652f1a9d621b8f06b259))

- fix: move Svelte runtime properties to symbols ([`e1cbbd96441e82c9eb8a23a2903c0d06d3cda991`](https://github.com/sveltejs/svelte/commit/e1cbbd96441e82c9eb8a23a2903c0d06d3cda991))

### [`v5.55.6`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5556)

[Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.55.5...svelte@5.55.6)

##### Patch Changes

- fix: leave stale promises to wait for a later resolution, instead of rejecting ([#&#8203;18180](https://github.com/sveltejs/svelte/pull/18180))

- fix: keep dependencies of `$state.eager/pending` ([#&#8203;18218](https://github.com/sveltejs/svelte/pull/18218))

- fix: reapply context after transforming error during SSR ([#&#8203;18099](https://github.com/sveltejs/svelte/pull/18099))

- fix: don't rebase just-created batches ([#&#8203;18117](https://github.com/sveltejs/svelte/pull/18117))

- chore: allow `null` for `pending` in typings ([#&#8203;18201](https://github.com/sveltejs/svelte/pull/18201))

- fix: flush eager effects in production ([#&#8203;18107](https://github.com/sveltejs/svelte/pull/18107))

- fix: rethrow error of failed iterable after calling `return()` ([#&#8203;18169](https://github.com/sveltejs/svelte/pull/18169))

- fix: account for proxified instance when updating `bind:this` ([#&#8203;18147](https://github.com/sveltejs/svelte/pull/18147))

- fix: ensure scheduled batch is flushed if not obsolete ([#&#8203;18131](https://github.com/sveltejs/svelte/pull/18131))

- fix: resolve stale deriveds with latest value ([#&#8203;18167](https://github.com/sveltejs/svelte/pull/18167))

- chore: remove unnecessary `increment_pending` calls ([#&#8203;18183](https://github.com/sveltejs/svelte/pull/18183))

- fix: correctly compile component member expressions for SSR ([#&#8203;18192](https://github.com/sveltejs/svelte/pull/18192))

- fix: reset `source.updated` stack traces after `flush` ([#&#8203;18196](https://github.com/sveltejs/svelte/pull/18196))

- fix: replacing async 'blocking' strategy with 'merging' ([#&#8203;18205](https://github.com/sveltejs/svelte/pull/18205))

- fix: allow `@debug` tags to reference awaited variables ([#&#8203;18138](https://github.com/sveltejs/svelte/pull/18138))

- fix: re-run fallback props if dependencies update ([#&#8203;18146](https://github.com/sveltejs/svelte/pull/18146))

- fix: abort running obsolete async branches ([#&#8203;18118](https://github.com/sveltejs/svelte/pull/18118))

- fix: ignore comments when reading CSS values ([#&#8203;18153](https://github.com/sveltejs/svelte/pull/18153))

- fix: wrap `Promise.all` in `save` during SSR ([#&#8203;18178](https://github.com/sveltejs/svelte/pull/18178))

- fix: ignore false-positive errors of `$inspect` dependencies ([#&#8203;18106](https://github.com/sveltejs/svelte/pull/18106))

</details>

---

### Configuration

📅 **Schedule**: (in timezone America/New_York)

- 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.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xODAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjE4MC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJzZWN1cml0eSJdfQ==-->

Co-authored-by: jquagga-renovate <renovate@partlycloudy.org>
Reviewed-on: https://codeberg.org/jquagga/swa/pulls/6

* chore(deps): update all non-major dependencies (#7)

* chore(deps): lock file maintenance (#8)

This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: (in timezone America/New_York)

- Branch creation
  - "before 4am on monday"
- 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 [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xODIuMSIsInVwZGF0ZWRJblZlciI6IjQzLjE4Mi4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: jquagga-renovate <renovate@partlycloudy.org>
Reviewed-on: https://codeberg.org/jquagga/swa/pulls/8

* chore(deps): update all non-major dependencies (#9)

* chore(deps): update dependency svelte to v5.55.9 (#10)

* chore(deps): lock file maintenance (#11)

This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: (in timezone America/New_York)

- Branch creation
  - "before 4am on monday"
- 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 [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTUuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE5NS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: jquagga-renovate <renovate@partlycloudy.org>
Reviewed-on: https://codeberg.org/jquagga/swa/pulls/11

* chore(deps): update all non-major dependencies (#12)

* Small tidy updates (#13)

Co-authored-by: Justin Settle <jus10@partlycloudy.org>
Reviewed-on: https://codeberg.org/jquagga/swa/pulls/13

* chore(deps): pin dependency @types/node to 25.9.1 (#14)

This PR contains the following updates:

| Package | Type | Update | Change | OpenSSF |
|---|---|---|---|---|
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | devDependencies | pin | [`^25.9.1` → `25.9.1`](https://renovatebot.com/diffs/npm/@types%2fnode/25.9.1/25.9.1) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/DefinitelyTyped/DefinitelyTyped/badge)](https://securityscorecards.dev/viewer/?uri=github.com/DefinitelyTyped/DefinitelyTyped) |

⚠️ Renovate's pin functionality [does not currently](https://github.com/renovatebot/renovate/issues/40288) wire in the release age for a package, so the Minimum Release Age checks can apply. You will need to manually validate the Minimum Release Age for these package(s).

Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies.

---

### Configuration

📅 **Schedule**: (in timezone America/New_York)

- Branch creation
  - "before 4am on sunday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDQuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIwNC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: jquagga-renovate <renovate@partlycloudy.org>
Reviewed-on: https://codeberg.org/jquagga/swa/pulls/14

* Add setopt to the shellscript (#16)

Co-authored-by: Justin Settle <jus10@partlycloudy.org>
Reviewed-on: https://codeberg.org/jquagga/swa/pulls/16

* chore(deps): lock file maintenance (#15)

* wrangler changes (#17)

Co-authored-by: Justin Settle <jus10@partlycloudy.org>
Reviewed-on: https://codeberg.org/jquagga/swa/pulls/17

* renovate updates (#18)

Co-authored-by: Justin Settle <jus10@partlycloudy.org>
Reviewed-on: https://codeberg.org/jquagga/swa/pulls/18

* Change User Agent to codeberg (#19)

Co-authored-by: Justin Settle <jus10@partlycloudy.org>
Reviewed-on: https://codeberg.org/jquagga/swa/pulls/19

* chore(deps): update all dependencies (#20)

* chore(deps): update (#21)

This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: (in timezone America/New_York)

- Branch creation
  - Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- 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 [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMTQuNiIsInVwZGF0ZWRJblZlciI6IjQzLjIxNC42IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: jquagga-renovate <renovate@partlycloudy.org>
Reviewed-on: https://codeberg.org/jquagga/swa/pulls/21

* chore(deps): update all dependencies (#22)

* chore(deps): update (#23)

This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: (in timezone America/New_York)

- Branch creation
  - Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- 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 [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMjIuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIyMi4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: jquagga-renovate <renovate@partlycloudy.org>
Reviewed-on: https://codeberg.org/jquagga/swa/pulls/23

* chore(deps): update all dependencies (#24)

* chore(deps): update all dependencies (#25)

This PR contains the following updates:

| Package | Type | Update | Change | OpenSSF |
|---|---|---|---|---|
| [@sveltejs/kit](https://svelte.dev) ([source](https://github.com/sveltejs/kit/tree/HEAD/packages/kit)) | devDependencies | minor | [`2.66.0` → `2.68.0`](https://renovatebot.com/diffs/npm/@sveltejs%2fkit/2.66.0/2.68.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/sveltejs/kit/badge)](https://securityscorecards.dev/viewer/?uri=github.com/sveltejs/kit) |
| [@types/luxon](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/luxon) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/luxon)) | devDependencies | patch | [`3.7.1` → `3.7.2`](https://renovatebot.com/diffs/npm/@types%2fluxon/3.7.1/3.7.2) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/DefinitelyTyped/DefinitelyTyped/badge)](https://securityscorecards.dev/viewer/?uri=github.com/DefinitelyTyped/DefinitelyTyped) |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | devDependencies | patch | [`25.9.3` → `25.9.4`](https://renovatebot.com/diffs/npm/@types%2fnode/25.9.3/25.9.4) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/DefinitelyTyped/DefinitelyTyped/badge)](https://securityscorecards.dev/viewer/?uri=github.com/DefinitelyTyped/DefinitelyTyped) |
| [cookie](https://github.com/jshttp/cookie) | overrides | major | [`1.1.1` → `2.0.0`](https://renovatebot.com/diffs/npm/cookie/1.1.1/2.0.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/jshttp/cookie/badge)](https://securityscorecards.dev/viewer/?uri=github.com/jshttp/cookie) |
| [svelte](https://svelte.dev) ([source](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte)) | devDependencies | patch | [`5.56.3` → `5.56.4`](https://renovatebot.com/diffs/npm/svelte/5.56.3/5.56.4) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/sveltejs/svelte/badge)](https://securityscorecards.dev/viewer/?uri=github.com/sveltejs/svelte) |
| [svelte-check](https://github.com/sveltejs/language-tools) | devDependencies | minor | [`4.6.0` → `4.7.1`](https://renovatebot.com/diffs/npm/svelte-check/4.6.0/4.7.1) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/sveltejs/language-tools/badge)](https://securityscorecards.dev/viewer/?uri=github.com/sveltejs/language-tools) |
| [vite](https://vite.dev) ([source](https://github.com/vitejs/vite/tree/HEAD/packages/vite)) | devDependencies | minor | [`8.0.16` → `8.1.0`](https://renovatebot.com/diffs/npm/vite/8.0.16/8.1.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/vitejs/vite/badge)](https://securityscorecards.dev/viewer/?uri=github.com/vitejs/vite) |
| [wrangler](https://github.com/cloudflare/workers-sdk) ([source](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler)) | devDependencies | minor | [`4.102.0` → `4.105.0`](https://renovatebot.com/diffs/npm/wrangler/4.102.0/4.105.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/cloudflare/workers-sdk/badge)](https://securityscorecards.dev/viewer/?uri=github.com/cloudflare/workers-sdk) |

---

### Release Notes

<details>
<summary>sveltejs/kit (@&#8203;sveltejs/kit)</summary>

### [`v2.68.0`](https://github.com/sveltejs/kit/blob/HEAD/packages/kit/CHANGELOG.md#2680)

##### Minor Changes

- feat: expose `RemoteFormEnhanceInstance` and `RemoteFormEnhanceCallback` types ([#&#8203;15816](https://github.com/sveltejs/kit/pull/15816))

- feat: set value of `submit` fields when form is submitted ([#&#8203;15979](https://github.com/sveltejs/kit/pull/15979))

##### Patch Changes

- fix: skip `native_navigation` when `__data.json` returns 404 on a static fallback page ([#&#8203;16135](https://github.com/sveltejs/kit/pull/16135))

- fix: ignore third-party monkeypatches in `pushState`/`replaceState` warning detection ([#&#8203;15267](https://github.com/sveltejs/kit/pull/15267))

- fix: snapshot form fields on read ([#&#8203;16150](https://github.com/sveltejs/kit/pull/16150))

- fix: strip field prefix before erroring on duplicates ([#&#8203;16151](https://github.com/sveltejs/kit/pull/16151))

- fix: call reset function via prototype ([#&#8203;16138](https://github.com/sveltejs/kit/pull/16138))

- chore: fix navigation `type` hover info ([#&#8203;16147](https://github.com/sveltejs/kit/pull/16147))

### [`v2.67.0`](https://github.com/sveltejs/kit/blob/HEAD/packages/kit/CHANGELOG.md#2670)

[Compare Source](https://github.com/sveltejs/kit/compare/@sveltejs/kit@2.66.0...@sveltejs/kit@2.67.0)

##### Minor Changes

- feat: add `prerender.handleInvalidUrl` option for invalid URLs discovered while crawling ([#&#8203;16088](https://github.com/sveltejs/kit/pull/16088))

##### Patch Changes

- fix: support `exactOptionalPropertyTypes` for optional form schema fields ([#&#8203;15866](https://github.com/sveltejs/kit/pull/15866))

- fix: avoid unnecessarily overriding a user's Vite 8 `codeSplitting` setting ([#&#8203;16118](https://github.com/sveltejs/kit/pull/16118))

</details>

<details>
<summary>jshttp/cookie (cookie)</summary>

### [`v2.0.0`](https://github.com/jshttp/cookie/releases/tag/v2.0.0)

[Compare Source](https://github.com/jshttp/cookie/compare/v1.1.1...v2.0.0)

**Important:** This release moves the package to ESM only. In node 22+ you can `require(esm)`, and older node versions are not supported.

**Changed**

- Switch to ESM ([#&#8203;273](https://github.com/jshttp/cookie/pull/273))
- Remove deprecated code paths ([#&#8203;272](https://github.com/jshttp/cookie/pull/272))
  - The old `parse` and `stringify` methods have been renamed: `parseCookie` and `stringifySetCookie`
  - `stringifySetCookie` only supports object mode (e.g. `{ name: "", value: "" }`)

**Improvements**

- Faster stringify cookie ([#&#8203;262](https://github.com/jshttp/cookie/issues/262))
- Optimize encode performance ([#&#8203;269](https://github.com/jshttp/cookie/pull/269))
- Apply `encode` to empty cookie values ([#&#8203;277](https://github.com/jshttp/cookie/pull/277))

**Fixed**

- Omit leading semicolon when stringifying cookies with skipped values ([#&#8203;267](https://github.com/jshttp/cookie/issues/267))

</details>

<details>
<summary>sveltejs/svelte (svelte)</summary>

### [`v5.56.4`](https://github.com/sveltejs/svelte/blob/HEAD/packages/svelte/CHANGELOG.md#5564)

[Compare Source](https://github.com/sveltejs/svelte/compare/svelte@5.56.3...svelte@5.56.4)

##### Patch Changes

- fix: include wrapping parentheses in `{@&#8203;const}` declarator `end` position ([#&#8203;18436](https://github.com/sveltejs/svelte/pull/18436))

- fix: always unset reactivity context after restoring it ([#&#8203;18453](https://github.com/sveltejs/svelte/pull/18453))

- fix: don't notify `searchParams` subscribers when the URL changes without affecting the search string ([#&#8203;18425](https://github.com/sveltejs/svelte/pull/18425))

- fix: strip `?` from optional parameters in `<script lang="ts">` so generated JavaScript is valid ([#&#8203;18448](https://github.com/sveltejs/svelte/pull/18448))

</details>

<details>
<summary>sveltejs/language-tools (svelte-check)</summary>

### [`v4.7.1`](https://github.com/sveltejs/language-tools/releases/tag/svelte-check%404.7.1)

[Compare Source](https://github.com/sveltejs/language-tools/compare/svelte-check@4.7.0...svelte-check@4.7.1)

##### Patch Changes

- fix: correctly parse --tsgo-experimental-api flag ([#&#8203;3067](https://github.com/sveltejs/language-tools/pull/3067))

### [`v4.7.0`](https://github.com/sveltejs/language-tools/releases/tag/svelte-check%404.7.0)

[Compare Source](https://github.com/sveltejs/language-tools/compare/svelte-check@4.6.0...svelte-check@4.7.0)

##### Minor Changes

- feat: add `--config` option ([#&#8203;3066](https://github.com/sveltejs/language-tools/pull/3066))

- feat: svelte-check tsgo support with experimental api ([#&#8203;3036](https://github.com/sveltejs/language-tools/pull/3036))

##### Patch Changes

- fix: load esm version of Vite ([#&#8203;3065](https://github.com/sveltejs/language-tools/pull/3065))

- fix: stop excluding workspaces under dot-prefixed ancestors ([#&#8203;3037](https://github.com/sveltejs/language-tools/pull/3037))

- Updated dependencies \[[`7a3464b`](https://github.com/sveltejs/language-tools/commit/7a3464b54b997c703d5b60cc6ab1ed74c49efffc), [`a2561fc`](https://github.com/sveltejs/language-tools/commit/a2561fc2c52bdcd0bad746261222196fd94d5396)]:
  - [@&#8203;sveltejs/load-config](https://github.com/sveltejs/load-config)@&#8203;0.2.0

</details>

<details>
<summary>vitejs/vite (vite)</summary>

### [`v8.1.0`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#810-2026-06-23)

[Compare Source](https://github.com/vitejs/vite/compare/v8.0.16...v8.1.0)

##### Features

- extend `server.fs.deny` list with common files ([#&#8203;22707](https://github.com/vitejs/vite/issues/22707)) ([61ba8fd](https://github.com/vitejs/vite/commit/61ba8fdc6500e8aa668021833ae5e6ebd200466d))
- update rolldown to 1.1.2 ([#&#8203;22695](https://github.com/vitejs/vite/issues/22695)) ([4f008a6](https://github.com/vitejs/vite/commit/4f008a6213014fe5e898f42561bdc621e103903e))
- use `~` for Rolldown ([#&#8203;22693](https://github.com/vitejs/vite/issues/22693)) ([9928722](https://github.com/vitejs/vite/commit/9928722f7d08de27907c48b65ddc071244166e05))

##### Bug Fixes

- **bundled-dev:** errors should be kept when incremental build fails ([#&#8203;22617](https://github.com/vitejs/vite/issues/22617)) ([9a0dd48](https://github.com/vitejs/vite/commit/9a0dd481ac2160078b8173879e0fa86e5e6af05d))
- cache falsy values in perEnvironmentState ([#&#8203;22715](https://github.com/vitejs/vite/issues/22715)) ([0e91e79](https://github.com/vitejs/vite/commit/0e91e79841b501d29dc86a6b7c0313660781196a))
- **glob:** respect caseSensitive option in hmr matcher ([#&#8203;22711](https://github.com/vitejs/vite/issues/22711)) ([65f525e](https://github.com/vitejs/vite/commit/65f525e643ba31faeaeafbc5d888b61465e6b48d))
- **html:** omit nonce on import map when cspNonce is unset ([#&#8203;22713](https://github.com/vitejs/vite/issues/22713)) ([8340bb5](https://github.com/vitejs/vite/commit/8340bb51cab703427a13d5df40b0005352c1b676))
- **optimizer:** skip null-valued exports in expandGlobIds glob resolution ([#&#8203;22611](https://github.com/vitejs/vite/issues/22611)) ([8b9f5cd](https://github.com/vitejs/vite/commit/8b9f5cd9f19f6002e1323b10155ab943219e86aa))
- resolved build options should be kept as a getter ([#&#8203;22691](https://github.com/vitejs/vite/issues/22691)) ([3527191](https://github.com/vitejs/vite/commit/3527191cad6c935a3d129506cc9a893c84009037))
- **server:** handle malformed URI in memory files middleware ([#&#8203;22714](https://github.com/vitejs/vite/issues/22714)) ([df9e0a5](https://github.com/vitejs/vite/commit/df9e0a589ff64e09c32beca9494bff4757d4ea37))
- use literal envPrefix queries for Vite Task ([#&#8203;22706](https://github.com/vitejs/vite/issues/22706)) ([da72733](https://github.com/vitejs/vite/commit/da727337b13ac6144e523eb06852b2a52c377f22))
- warn on deprecated envFile ([#&#8203;22555](https://github.com/vitejs/vite/issues/22555)) ([ed7b283](https://github.com/vitejs/vite/commit/ed7b28352e347dc7c95d590d2e696c3e5bd1e3d7))

##### Code Refactoring

- **client:** inline dev-id value in CSS selector ([#&#8203;22736](https://github.com/vitejs/vite/issues/22736)) ([57f59bc](https://github.com/vitejs/vite/commit/57f59bc843dd527a81c503684b7f408872edaef3))
- remove unused removeRawQuery util ([#&#8203;22724](https://github.com/vitejs/vite/issues/22724)) ([403cc60](https://github.com/vitejs/vite/commit/403cc608e4e8633b0335f5e8221c83dfca4994f8))
- use `rolldownOptions` property for chunkImportMap ([#&#8203;22692](https://github.com/vitejs/vite/issues/22692)) ([8e8816c](https://github.com/vitejs/vite/commit/8e8816ca9fa249d210150c5590bac06af3560aa7))

</details>

<details>
<summary>cloudflare/workers-sdk (wrangler)</summary>

### [`v4.105.0`](https://github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#41050)

[Compare Source](https://github.com/cloudflare/workers-sdk/compare/wrangler@4.104.0...wrangler@4.105.0)

##### Minor Changes

- [#&#8203;14311](https://github.com/cloudflare/workers-sdk/pull/14311) [`34e0cef`](https://github.com/cloudflare/workers-sdk/commit/34e0cefcd54130be4ca3f9cf4de1e9867252ead0) Thanks [@&#8203;sherryliu-lsy](https://github.com/sherryliu-lsy)! - Add Google Artifact Registry support to `containers registries configure`

  `wrangler containers registries configure` now recognizes `*-docker.pkg.dev` (Google Artifact Registry) domains.

  - The Google service account email is the public credential, supplied with `--gar-email`. It must match the `client_email` in the service account key.
  - The service account JSON key is the private credential. It is provided via stdin (a file path, raw JSON, or base64) or an interactive prompt (a file path or base64) — never as a CLI flag, so it does not appear in shell history. The key is validated against `--gar-email` and stored base64-encoded.
  - Secret reuse inherits the existence-first flow: when the target Secrets Store secret already exists, it is reused by reference and the key is not required. In that case the email cannot be verified locally; it is validated against the key when images are pulled.

  ```sh
  <path-to-key>.json | npx wrangler@latest containers registries configure <region>-docker.pkg.dev --gar-email=<service-account-email> --secret-name=Google_Service_Account_JSON_Key
  ```

##### Patch Changes

- [#&#8203;14424](https://github.com/cloudflare/workers-sdk/pull/14424) [`5f40dd5`](https://github.com/cloudflare/workers-sdk/commit/5f40dd5d2897c4c8a1fb30f29af038baefcf67a4) Thanks [@&#8203;MattieTK](https://github.com/MattieTK)! - Bump `am-i-vibing` from 0.4.0 to 0.5.0

  This updates the agentic environment detection library to the latest version, which adds detection for the Pi coding agent (`earendil-works/pi`).

- [#&#8203;14406](https://github.com/cloudflare/workers-sdk/pull/14406) [`3b743c1`](https://github.com/cloudflare/workers-sdk/commit/3b743c1b86ad80c40fd9d2d678cd5a8cb66e86fa) Thanks [@&#8203;dependabot](https://github.com/apps/dependabot)! - Update dependencies of "miniflare", "wrangler"

  The following dependency versions have been updated:

  | Dependency | From         | To           |
  | ---------- | ------------ | ------------ |
  | workerd    | 1.20260623.1 | 1.20260625.1 |

- [#&#8203;14343](https://github.com/cloudflare/workers-sdk/pull/14343) [`daa5389`](https://github.com/cloudflare/workers-sdk/commit/daa5389863bd20ab655cf68a5f7cd63afeb30904) Thanks [@&#8203;th0m](https://github.com/th0m)! - Use digest-pinned image references for Dockerfile container deploys

  Dockerfile-backed container deploys now use the pushed image digest when deploying the container application. This lets snapshot-enabled container apps pass Cloudchamber validation while keeping local, non-pushed builds and registry image URI deploys unchanged.

- [#&#8203;14394](https://github.com/cloudflare/workers-sdk/pull/14394) [`8a5cf8c`](https://github.com/cloudflare/workers-sdk/commit/8a5cf8c2e61bf3c01a836aad260fa3a5f29e1e7c) Thanks [@&#8203;Partha-Shankar](https://github.com/Partha-Shankar)! - fix(d1): escape `migrationsTableName` and filenames in SQLite queries

  D1 migration commands in both `wrangler` and `@cloudflare/vitest-pool-workers` interpolated the `migrationsTableName` config value and migration filenames directly into SQL strings without any escaping. This meant:

  - A table name such as `my"table` would produce invalid SQL in `CREATE TABLE`, `SELECT`, and `INSERT` statements, and
  - A migration filename containing an apostrophe (e.g. `what's-new.sql`) would break the `INSERT INTO ... VALUES ('...')` statement appended after each migration in `wrangler`.

  Both identifiers are now properly escaped before interpolation: `migrationsTableName` is wrapped in double-quotes with internal double-quotes doubled (SQL-standard identifier quoting), and migration filenames used as string literals have their single-quotes doubled before insertion.

- Updated dependencies \[[`3b743c1`](https://github.com/cloudflare/workers-sdk/commit/3b743c1b86ad80c40fd9d2d678cd5a8cb66e86fa)]:
  - miniflare\@&#8203;4.20260625.0

### [`v4.104.0`](https://github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#41040)

[Compare Source](https://github.com/cloudflare/workers-sdk/compare/wrangler@4.103.0...wrangler@4.104.0)

##### Minor Changes

- [#&#8203;14369](https://github.com/cloudflare/workers-sdk/pull/14369) [`e312dec`](https://github.com/cloudflare/workers-sdk/commit/e312decf71f8d1a435ca178f209844363f24014a) Thanks [@&#8203;edmundhung](https://github.com/edmundhung)! - Add `getEnv()` to `createTestHarness()` Worker handles

  Tests can now access the full `env` object for a Worker with `await server.getWorker<Env>().getEnv()`, including vars, secrets, and bindings.

##### Patch Changes

- [#&#8203;14364](https://github.com/cloudflare/workers-sdk/pull/14364) [`a085dec`](https://github.com/cloudflare/workers-sdk/commit/a085deca12d7126c21e500b3dd4298edfd13f8cd) Thanks [@&#8203;dependabot](https://github.com/apps/dependabot)! - Update dependencies of "miniflare", "wrangler"

  The following dependency versions have been updated:

  | Dependency | From         | To           |
  | ---------- | ------------ | ------------ |
  | workerd    | 1.20260617.1 | 1.20260619.1 |

- [#&#8203;14383](https://github.com/cloudflare/workers-sdk/pull/14383) [`9a0de8f`](https://github.com/cloudflare/workers-sdk/commit/9a0de8f71f50bb7d1884288e376259082084a315) Thanks [@&#8203;dependabot](https://github.com/apps/dependabot)! - Update dependencies of "miniflare", "wrangler"

  The following dependency versions have been updated:

  | Dependency | From         | To           |
  | ---------- | ------------ | ------------ |
  | workerd    | 1.20260619.1 | 1.20260621.1 |

- [#&#8203;14397](https://github.com/cloudflare/workers-sdk/pull/14397) [`fab565f`](https://github.com/cloudflare/workers-sdk/commit/fab565fdb1a912c73232d72ccdf1963fd96f9ad5) Thanks [@&#8203;dependabot](https://github.com/apps/dependabot)! - Update dependencies of "miniflare", "wrangler"

  The following dependency versions have been updated:

  | Dependency | From         | To           |
  | ---------- | ------------ | ------------ |
  | workerd    | 1.20260621.1 | 1.20260623.1 |

- [#&#8203;14388](https://github.com/cloudflare/workers-sdk/pull/14388) [`3f02864`](https://github.com/cloudflare/workers-sdk/commit/3f028644284236fbfe36567052200cf00e707d85) Thanks [@&#8203;petebacondarwin](https://github.com/petebacondarwin)! - Stop erroring when `find_additional_modules` discovers a file that only matches a inactive module rule

  Module rules assign module *types* to imported files — they are not include/exclude filters. Also, setting `fallthrough: false` in a rule will cause subsequent rules to become inactive. Previously, when `find_additional_modules` walked the filesystem and discovered a file whose only matching rule is inactive, Wrangler would throw an error and fail the build.

  This meant that adding a user rule like the one below would break the build for any `.txt`, `.html`, `.sql`, `.bin` or `.wasm` file that didn't match the user-supplied globs but lived somewhere under the module root:

  ```jsonc
  // wrangler.json
  {
    "rules": [
      {
        "type": "Text",
        "globs": ["html/includeme.html"],
        "fallthrough": false
      }
    ]
  }
  ```

  Discovered files that only match an inactive rule are now silently skipped (a `debug`-level log records each skip for troubleshooting), so users can use `fallthrough: false` to narrow the set of files attached to their Worker without having to delete or move untouched files on disk.

  The direct-import path is unchanged: importing a file in code that only matches an inactive rule is still a hard error, because the imported file genuinely needs a defined module type.

  Fixes [#&#8203;14257](https://github.com/cloudflare/workers-sdk/issues/14257).

- [#&#8203;14358](https://github.com/cloudflare/workers-sdk/pull/14358) [`4ef872f`](https://github.com/cloudflare/workers-sdk/commit/4ef872fe530282d26ec8f2f8c52f23b8702ae757) Thanks [@&#8203;gabivlj](https://github.com/gabivlj)! - Fix container egress interception on arm64 Docker runtimes

  Both `wrangler dev` and the Cloudflare Vite plugin no longer force the `proxy-everything` sidecar image to pull as `linux/amd64`, allowing Docker to select the native image from the multi-platform manifest. Set `MINIFLARE_CONTAINER_EGRESS_IMAGE_PLATFORM` to force a specific platform when needed.

- [#&#8203;14362](https://github.com/cloudflare/workers-sdk/pull/14362) [`2a02858`](https://github.com/cloudflare/workers-sdk/commit/2a028589543aa7692f99a053952bfc1c5eb8302f) Thanks [@&#8203;sherryliu-lsy](https://github.com/sherryliu-lsy)! - Don't require the private credential when reusing an existing Secrets Store secret in `containers registries configure`

  `wrangler containers registries configure` now checks whether the target Secrets Store secret already exists before resolving the private credential. When the secret already exists it is reused by reference, so the private credential no longer needs to be supplied (via stdin in non-interactive mode, or via a prompt interactively). This applies to all external registries.

  The new-secret path is unchanged: the credential is still required and stored. The only visible interactive change is that the secret prompt now appears last and only when a new secret is being created.

- Updated dependencies \[[`a085dec`](https://github.com/cloudflare/workers-sdk/commit/a085deca12d7126c21e500b3dd4298edfd13f8cd), [`9a0de8f`](https://github.com/cloudflare/workers-sdk/commit/9a0de8f71f50bb7d1884288e376259082084a315), [`fab565f`](https://github.com/cloudflare/workers-sdk/commit/fab565fdb1a912c73232d72ccdf1963fd96f9ad5)]:
  - miniflare\@&#8203;4.20260623.0

### [`v4.103.0`](https://github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#41030)

[Compare Source](https://github.com/cloudflare/workers-sdk/compare/wrangler@4.102.0...wrangler@4.103.0)

##### Minor Changes

- [#&#8203;14295](https://github.com/cloudflare/workers-sdk/pull/14295) [`cfd6205`](https://github.com/cloudflare/workers-sdk/commit/cfd6205fe86f6afd74b5881f09524c93c83b8359) Thanks [@&#8203;dario-piotrowicz](https://github.com/dario-piotrowicz)! - Move `unstable_getWorkerNameFromProject` from wrangler to `@cloudflare/workers-utils`

  The `unstable_getWorkerNameFromProject` export has been removed from the `wrangler` package. This function is now available as `getWorkerNameFromProject` (without the `unstable_` prefix) from `@cloudflare/workers-utils`. If you were importing this function from `wrangler`, update your import to use `@cloudflare/workers-utils` instead.

- [#&#8203;14295](https://github.com/cloudflare/workers-sdk/pull/14295) [`cfd6205`](https://github.com/cloudflare/workers-sdk/commit/cfd6205fe86f6afd74b5881f09524c93c83b8359) Thanks [@&#8203;dario-piotrowicz](https://github.com/dario-piotrowicz)! - Remove experimental autoconfig exports

  The experimental autoconfig exports (`experimental_getDetailsForAutoConfig`, `experimental_runAutoConfig`, `experimental_AutoConfigFramework`) have been removed. This logic has been moved to the `@cloudflare/autoconfig` package (without the `experimental_` prefixes since the package itself is pre-v1).

##### Patch Changes

- [#&#8203;14366](https://github.com/cloudflare/workers-sdk/pull/14366) [`c6579d3`](https://github.com/cloudflare/workers-sdk/commit/c6579d30bd6fd7705fe3f10c7655d74a0476df86) Thanks [@&#8203;jamesopstad](https://github.com/jamesopstad)! - Resolve relative `cf-worker` entrypoint imports relative to the importing module

  When loading the experimental `cloudflare.config.ts`, a relative entrypoint imported with `import ... with { type: "cf-worker" }` (e.g. `./src/index.ts`) is now anchored to the module where the import is written, rather than being passed through verbatim and later resolved against the top-level config file. This fixes incorrect resolution when the import lives in a file other than the entry config — for example a config that re-exports from a nested file.

  Bare specifiers (such as `@scope/pkg`) and virtual modules (such as `virtual:foo`) are still left unresolved so that consumers can apply their own resolution.

- [#&#8203;14316](https://github.com/cloudflare/workers-sdk/pull/14316) [`444b75e`](https://github.com/cloudflare/workers-sdk/commit/444b75e75492738d10e7dc89ec645f7e2fad6b97) Thanks [@&#8203;matingathani](https://github.com/matingathani)! - Prevent `wrangler dev` crash when source-mapping a truncated error chunk

  When a worker logs many errors in quick succession, the stderr chunks received by `wrangler dev` can be truncated mid-stack-frame, leaving a call site with an invalid column number. The source map library throws in that case, which was crashing the wrangler process entirely. The error is now caught and the original (un-source-mapped) text is returned instead.

- [#&#8203;14118](https://github.com/cloudflare/workers-sdk/pull/14118) [`b38823f`](https://github.com/cloudflare/workers-sdk/commit/b38823fb35a8bdcd00004e74404ab18d7b070dbf) Thanks [@&#8203;aicayzer](https://github.com/aicayzer)! - Fix `Uint8Array` step outputs in local Workflows being persisted with the full backing `ArrayBuffer`

  A `Uint8Array` returned from a Workflows step under `wrangler dev` was serialised together with its full underlying `ArrayBuffer`, causing a raw `SQLITE_TOOBIG` error at view sizes well below the documented 1MiB step-output limit. For example, a 200KB view sliced from an 800KB buffer (a common pattern from `crypto.getRandomValues` or `arr.slice(...)` on a larger pool) would fail. The view's bytes are now copied to a tight buffer before persistence, bringing local behaviour in line with production. Fixes [#&#8203;14101](https://github.com/cloudflare/workers-sdk/issues/14101).

- Updated dependencies \[[`b38823f`](https://github.com/cloudflare/workers-sdk/commit/b38823fb35a8bdcd00004e74404ab18d7b070dbf)]:
  - miniflare\@&#8203;4.20260617.1

</details>

---

### Configuration

📅 **Schedule**: (in timezone America/New_York)

- Branch creation
  - Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **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 [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDYuMSIsInVwZGF0ZWRJblZlciI6IjQzLjI0Ni4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: jquagga-renovate <renovate@partlycloudy.org>
Reviewed-on: https://codeberg.org/jquagga/swa/pulls/25

* Correct duplicate alert IDs (#26)

Correct an issue when there are two alerts with the same properties issued at the same time.  Previously we used the event name and issue date; now let's use event id and issue date as a unique identifier.  This corrects a svelte for_each issue when two alerts have the same index. Basically add the upstream index to keep alerts unique.

Co-authored-by: Justin Settle <jus10@partlycloudy.org>
Reviewed-on: https://codeberg.org/jquagga/swa/pulls/26

* Remove humidity check when calculating Heat Index. (#27)

It seems to clamp down in certain cases which isn't desireable.

Co-authored-by: Justin Settle <jus10@partlycloudy.org>
Reviewed-on: https://codeberg.org/jquagga/swa/pulls/27

* chore(deps): update (#28)

This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: (in timezone America/New_York)

- Branch creation
  - Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- 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 [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNTEuMyIsInVwZGF0ZWRJblZlciI6IjQzLjI1MS4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: jquagga-renovate <renovate@partlycloudy.org>
Reviewed-on: https://codeberg.org/jquagga/swa/pulls/28

* chore(deps): update all dependencies (#29)

* chore(deps): update (#30)

* chore(deps): update all dependencies (#31)

This PR contains the following updates:

| Package | Type | Update | Change | Pending | OpenSSF |
|---|---|---|---|---|---|
| [@sveltejs/kit](https://svelte.dev) ([source](https://github.com/sveltejs/kit/tree/HEAD/packages/kit)) | devDependencies | patch | [`2.69.1` → `2.69.2`](https://renovatebot.com/diffs/npm/@sveltejs%2fkit/2.69.1/2.69.2) | `2.69.3` | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/sveltejs/kit/badge)](https://securityscorecards.dev/viewer/?uri=github.com/sveltejs/kit) |
| [@sveltejs/vite-plugin-svelte](https://github.com/sveltejs/vite-plugin-svelte) ([source](https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte)) | devDependencies | minor | [`7.1.2` → `7.2.0`](https://renovatebot.com/diffs/npm/@sveltejs%2fvite-plugin-svelte/7.1.2/7.2.0) |  | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/sveltejs/vite-plugin-svelte/badge)](https://securityscorecards.dev/viewer/?uri=github.com/sveltejs/vite-plugin-svelte) |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | devDependencies | patch | [`25.9.4` → `25.9.5`](https://renovatebot.com/diffs/npm/@types%2fnode/25.9.4/25.9.5) |  | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/DefinitelyTyped/DefinitelyTyped/badge)](https://securityscorecards.dev/viewer/?uri=github.com/DefinitelyTyped/DefinitelyTyped) |
| [svelte-check](https://github.com/sveltejs/language-tools) | devDependencies | patch | [`4.7.1` → `4.7.2`](https://renovatebot.com/diffs/npm/svelte-check/4.7.1/4.7.2) |  | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/sveltejs/language-tools/badge)](https://securityscorecards.dev/viewer/?uri=github.com/sveltejs/language-tools) |
| [typescript](https://www.typescriptlang.org/) ([source](https://github.com/microsoft/TypeScript)) | devDependencies | major | [`6.0.3` → `7.0.2`](https://renovatebot.com/diffs/npm/typescript/6.0.3/7.0.2) |  | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/microsoft/TypeScript/badge)](https://securityscorecards.dev/viewer/?uri=github.com/microsoft/TypeScript) |
| [vite](https://vite.dev) ([source](https://github.com/vitejs/vite/tree/HEAD/packages/vite)) | devDependencies | patch | [`8.1.3` → `8.1.4`](https://renovatebot.com/diffs/npm/vite/8.1.3/8.1.4) |  | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/vitejs/vite/badge)](https://securityscorecards.dev/viewer/?uri=github.com/vitejs/vite) |
| [wrangler](https://github.com/cloudflare/workers-sdk) ([source](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler)) | devDependencies | minor | [`4.107.0` → `4.110.0`](https://renovatebot.com/diffs/npm/wrangler/4.107.0/4.110.0) |  | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/cloudflare/workers-sdk/badge)](https://securityscorecards.dev/viewer/?uri=github.com/cloudflare/workers-sdk) |

---

### Release Notes

<details>
<summary>sveltejs/kit (@&#8203;sveltejs/kit)</summary>

### [`v2.69.2`](https://github.com/sveltejs/kit/blob/HEAD/packages/kit/CHANGELOG.md#2692)

[Compare Source](https://github.com/sveltejs/kit/compare/@sveltejs/kit@2.69.1...@sveltejs/kit@2.69.2)

##### Patch Changes

- fix: set `define` values on `globalThis` when running Vitest ([#&#8203;16246](https://github.com/sveltejs/kit/pull/16246))

</details>

<details>
<summary>sveltejs/vite-plugin-svelte (@&#8203;sveltejs/vite-plugin-svelte)</summary>

### [`v7.2.0`](https://github.com/sveltejs/vite-plugin-svelte/blob/HEAD/packages/vite-plugin-svelte/CHANGELOG.md#720)

[Compare Source](https://github.com/sveltejs/vite-plugin-svelte/compare/@sveltejs/vite-plugin-svelte@7.1.4...@sveltejs/vite-plugin-svelte@7.2.0)

##### Minor Changes

- feat(inspector): add a context menu with current component stack ([#&#8203;1370](https://github.com/sveltejs/vite-plugin-svelte/pull/1370))

### [`v7.1.4`](https://github.com/sveltejs/vite-plugin-svelte/blob/HEAD/packages/vite-plugin-svelte/CHANGELOG.md#714)

[Compare Source](https://github.com/sveltejs/vite-plugin-svelte/compare/@sveltejs/vite-plugin-svelte@7.1.3...@sveltejs/vite-plugin-svelte@7.1.4)

##### Patch Changes

- fix: enforce ltr styles for inspector ([#&#8203;1324](https://github.com/sveltejs/vite-plugin-svelte/pull/1324))

### [`v7.1.3`](https://github.com/sveltejs/vite-plugin-svelte/blob/HEAD/packages/vite-plugin-svelte/CHANGELOG.md#713)

[Compare Source](https://github.com/sveltejs/vite-plugin-svelte/compare/@sveltejs/vite-plugin-svelte@7.1.2...@sveltejs/vite-plugin-svelte@7.1.3)

##### Patch Changes

- fix: ensure the inspector is injected into the client correctly for Vite+ projects ([#&#8203;1355](https://github.com/sveltejs/vite-plugin-svelte/pull/1355))

</details>

<details>
<summary>sveltejs/language-tools (svelte-check)</summary>

### [`v4.7.2`](https://github.com/sveltejs/language-tools/releases/tag/svelte-check%404.7.2)

[Compare Source](https://github.com/sveltejs/language-tools/compare/svelte-check@4.7.1...svelte-check@4.7.2)

##### Patch Changes

- fix: resolve tsgo bin path with package.json ([#&#8203;3074](https://github.com/sveltejs/language-tools/pull/3074))

- fix: report tsconfig errors in --tsgo-experimental-api ([#&#8203;3070](https://github.com/sveltejs/language-tools/pull/3070))

</details>

<details>
<summary>microsoft/TypeScript (typescript)</summary>

### [`v7.0.2`](https://github.com/microsoft/TypeScript/compare/v6.0.3...2bd066d87f5bafd315be9f40889d0a60b9e58e0b)

[Compare Source](https://github.com/microsoft/TypeScript/compare/v6.0.3...2bd066d87f5bafd315be9f40889d0a60b9e58e0b)

</details>

<details>
<summary>vitejs/vite (vite)</summary>

### [`v8.1.4`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-814-2026-07-09-small)

[Compare Source](https://github.com/vitejs/vite/compare/v8.1.3...v8.1.4)

##### Features

- **legacy:** prefer oxc as minifier (fix [#&#8203;21973](https://github.com/vitejs/vite/issues/21973)) ([#&#8203;22468](https://github.com/vitejs/vite/issues/22468)) ([ab5dafa](https://github.com/vitejs/vite/commit/ab5dafa8e66296ef201f615489fb57954bb740ce))

##### Bug Fixes

- **build:** add workaround for building on stackblitz ([#&#8203;22840](https://github.com/vitejs/vite/issues/22840)) ([575c32c](https://github.com/vitejs/vite/commit/575c32c29925c554f4ef4068738ab89c6878f615))
- **build:** keep `import.meta.url` in preload function as-is ([#&#8203;22839](https://github.com/vitejs/vite/issues/22839)) ([f1f90ed](https://github.com/vitejs/vite/commit/f1f90ed4742b3cf453428c7e581a6016a4d47321))
- **deps:** update all non-major dependencies ([#&#8203;22865](https://github.com/vitejs/vite/issues/22865)) ([d4295a9](https://github.com/vitejs/vite/commit/d4295a9ffce428c0e51892373e00c07fccc0498a))
- **deps:** update rolldown-related dependencies ([#&#8203;22866](https://github.com/vitejs/vite/issues/22866)) ([7cf07e4](https://github.com/vitejs/vite/commit/7cf07e4c5f7a6af276012e0c2ec06e08499e951e))
- **html:** avoid backtracking in import-only check ([#&#8203;22848](https://github.com/vitejs/vite/issues/22848)) ([b5868c0](https://github.com/vitejs/vite/commit/b5868c01a124d345664450aaebd677bfba964c05))
- **optimizer:** avoid optimizer run for transform request before init ([#&#8203;22852](https://github.com/vitejs/vite/issues/22852)) ([72a5e21](https://github.com/vitejs/vite/commit/72a5e2192506f51a5efd09c059815a5c43a9eacb))
- **ssr:** align named export function call stacktrace column with Node ([#&#8203;22829](https://github.com/vitejs/vite/issues/22829)) ([173a1b6](https://github.com/vitejs/vite/commit/173a1b648c321e0f836e5a94fc47c4fa9b081bfc))
- strip pure CSS chunk imports when chunkImportMap is enabled ([#&#8203;22841](https://github.com/vitejs/vite/issues/22841)) ([648bd04](https://github.com/vitejs/vite/commit/648bd04933093d0aac9565f21a49811437776886))

##### Documentation

- fix incorrect `@default` for `server.cors` ([#&#8203;22859](https://github.com/vitejs/vite/issues/22859)) ([70435b2](https://github.com/vitejs/vite/commit/70435b2551ee4fe3a0d55c8a3bb61b96f44d2763))

##### Miscellaneous Chores

- **deps:** update dependency postcss-modules to v9 ([#&#8203;22867](https://github.com/vitejs/vite/issues/22867)) ([a9539d6](https://github.com/vitejs/vite/commit/a9539d69efc7a4ccf988bbf5da31c2b416ba990e))

##### Code Refactoring

- eliminate ineffectiveDynamicImport warn ([#&#8203;22876](https://github.com/vitejs/vite/issues/22876)) ([ea22fb3](https://github.com/vitejs/vite/commit/ea22fb352aad9a42c0a9d08f39d8a0bae8c111a5))

##### Tests

- avoid warnings ([#&#8203;22851](https://github.com/vitejs/vite/issues/22851)) ([af21ab6](https://github.com/vitejs/vite/commit/af21ab68adac3380dc9a854d2fe3f776654301cd))

##### Build System

- remove the custom onLog function ([#&#8203;22878](https://github.com/vitejs/vite/issues/22878)) ([2c4a217](https://github.com/vitejs/vite/commit/2c4a217a63dc0a7fcb10bc710a988f32b173f481))
- replace deprecated `onwarn` with `onLog` ([#&#8203;22741](https://github.com/vitejs/vite/issues/22741)) ([c581b55](https://github.com/vitejs/vite/commit/c581b5588cb8e94603d17bce2ff9fec8e8e0a3bf))

</details>

<details>
<summary>cloudflare/workers-sdk (wrangler)</summary>

### [`v4.110.0`](https://github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#41100)

[Compare Source](https://github.com/cloudflare/workers-sdk/compare/wrangler@4.109.0...wrangler@4.110.0)

##### Minor Changes

- [#&#8203;14591](https://github.com/cloudflare/workers-sdk/pull/14591) [`0283a1f`](https://github.com/cloudflare/workers-sdk/commit/0283a1fcdc635244f731010422e513e8b4ab0be3) Thanks [@&#8203;dario-piotrowicz](https://github.com/dario-piotrowicz)! - Send npm package dependency metadata with worker uploads

  Wrangler now collects npm package dependency information from the project's `package.json` at deploy and version upload time, and includes it in the upload metadata sent to the Cloudflare API. This enables dependency analytics and future features like vulnerability alerting.

  The collected data includes the package name, the version constraint from `package.json`, and the exact installed version from `node_modules`. Both `dependencies` and `devDependencies` are included, while workspace packages, local packages, and unresolvable packages are excluded. The list is capped at 200 entries per upload.

  To opt out, set `dependencies_instrumentation.enabled` to `false` in your Wrangler configuration file:

  ```json
  {
    "dependencies_instrumentation": {
      "enabled": false
    }
  }
  ```

- [#&#8203;14535](https://github.com/cloudflare/workers-sdk/pull/14535) [`1b965c5`](https://github.com/cloudflare/workers-sdk/commit/1b965c51babff16ae7657335d93badebd50c310f) Thanks [@&#8203;Naapperas](https://github.com/Naapperas)! - Support dynamic retry delays for Workflow steps in local dev

  A step's `retries.delay` can now be a function that computes the delay per failed attempt, in addition to a static duration. The function receives `{ ctx, error }` and returns a delay (a number of milliseconds or a duration string like `"30 seconds"`), and its result is fed into the configured `backoff`.

  ```js
  await step.do(
    "call flaky API",
    {
      retries: {
        limit: 5,
        backoff: "constant",
        delay: ({ ctx }) => ctx.attempt * 1000,
      },
    },
    async () => {
      /* ... */
    }
  );
  ```

  The function is invoked once per failed attempt with a 5 second timeout. If it throws, times out, or returns an invalid value, the step fails without further retries.

##### Patch Changes

- [#&#8203;14589](https://github.com/cloudflare/workers-sdk/pull/14589) [`7b28392`](https://github.com/cloudflare/workers-sdk/commit/7b2839290a707e7ee22dde17de68116e88f8a2dc) Thanks [@&#8203;jamesopstad](https://github.com/jamesopstad)! - Fix runtime type caching when `wrangler dev` auto-regenerates types

  When `dev.generate_types` (or `wrangler dev --types`) regenerated an out-of-date `worker-configuration.d.ts`, the written file omitted the `// Begin runtime types` marker (and the `/* eslint-disable */` header) that `wrangler types` writes. As a result, later runs could not detect the cached runtime types and always regenerated them. The auto-regenerated file now matches `wrangler types` output, restoring the cache.

- Updated dependencies \[[`1b965c5`](https://github.com/cloudflare/workers-sdk/commit/1b965c51babff16ae7657335d93badebd50c310f)]:
  - miniflare\@&#8203;4.20260708.1

### [`v4.109.0`](https://github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#41090)

[Compare Source](https://github.com/cloudflare/workers-sdk/compare/wrangler@4.108.0...wrangler@4.109.0)

##### Minor Changes

- [#&#8203;14489](https://github.com/cloudflare/workers-sdk/pull/14489) [`e3f0cd6`](https://github.com/cloudflare/workers-sdk/commit/e3f0cd69e08c0eed9d75f61221d1076b6c287eef) Thanks [@&#8203;edmundhung](https://github.com/edmundhung)! - Add `listDurableObjectIds()` to `createTestHarness` Worker handles

  Tests using `createTestHarness` can now list persisted Durable Object instance IDs for a Durable Object binding. This helps integration tests discover objects created by app behavior without adding test-only endpoints.

- [#&#8203;14465](https://github.com/cloudflare/workers-sdk/pull/14465) [`2fedb1f`](https://github.com/cloudflare/workers-sdk/commit/2fedb1fc811efb3f7544c569e57383cabd4f14f8) Thanks [@&#8203;vaishnav-mk](https://github.com/vaishnav-mk)! - Add rollback support when terminating Workflow instances

  `WorkflowInstance.terminate({ rollback: true })` now runs registered rollback handlers before marking a local Workflow instance as terminated. Wrangler also supports this via `wrangler workflows instances terminate --rollback`, including local mode.

  The rollback option is only sent for terminate operations and is rejected by the Local Explorer API for pause, resume, and restart actions.

- [#&#8203;14511](https://github.com/cloudflare/workers-sdk/pull/14511) [`17d2fc1`](https://github.com/cloudflare/workers-sdk/commit/17d2fc12989f72a2fcd42e62fb152f270d61ab38) Thanks [@&#8203;juleslemee](https://github.com/juleslemee)! - Add `wrangler turnstile widget` commands for managing Turnstile widgets

  You can now create, list, inspect, update, and delete Turnstile widgets from the CLI:

  ```
  wrangler turnstile widget create <name> --domain example.com --mode managed
  wrangler turnstile widget list
  wrangler turnstile widget get <sitekey>
  wrangler turnstile widget update <sitekey> --name "Renamed"
  wrangler turnstile widget delete <sitekey>
  ```

  All five subcommands accept `--json` for machine-readable output (`get` prints a formatted view by default; the rest print a short human summary). `--domain` accepts comma-separ…
renovate Bot added a commit to gwennlbh/pleye that referenced this pull request Aug 6, 2026
##### [v8.2.0](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#820-2026-07-30)

##### Features

- add `input` to `server.fs.allow` ([#23035](vitejs/vite#23035)) ([95a3cda](vitejs/vite@95a3cda))
- **bundled-dev:** reload once after rebuild instead of via the fallback page ([#23106](vitejs/vite#23106)) ([b24381d](vitejs/vite@b24381d))
- **bundled-dev:** support worker file update accepted by HMR ([#23068](vitejs/vite#23068)) ([0d04351](vitejs/vite@0d04351))
- **config:** include column in config incompatibility location ([#23064](vitejs/vite#23064)) ([8a24572](vitejs/vite@8a24572))
- **dev:** resolve interface name for explicit host in network URLs ([#22965](vitejs/vite#22965)) ([3ac77d9](vitejs/vite@3ac77d9))

##### Bug Fixes

- **bundledDev:** print build errors to the terminal when an HMR update fails ([#23024](vitejs/vite#23024)) ([41c4658](vitejs/vite@41c4658))
- **deps:** update all non-major dependencies ([#23069](vitejs/vite#23069)) ([4c07b74](vitejs/vite@4c07b74))
- **hmr:** preserve environment snapshot during server restart ([#22992](vitejs/vite#22992)) ([b1186c3](vitejs/vite@b1186c3))
- **importAnalysis:** interop imports injected into optimized dep files by plugins ([#23029](vitejs/vite#23029)) ([8c2a87d](vitejs/vite@8c2a87d))
- **module-runner:** keep stack trace interception working when `Object.prototype` is frozen ([#23073](vitejs/vite#23073)) ([599c5b0](vitejs/vite@599c5b0))
- **server:** strip base in indexHtml module graph lookup ([#22932](vitejs/vite#22932)) ([fa005d1](vitejs/vite@fa005d1))
- support resolving top-level input option with plugins ([#23101](vitejs/vite#23101)) ([41df81a](vitejs/vite@41df81a))

##### Documentation

- **config:** correct cacheDir default fallback description ([#23060](vitejs/vite#23060)) ([aafa103](vitejs/vite@aafa103))

##### Tests

- config CJS module vars in ESM case ([#23010](vitejs/vite#23010)) ([d8cd388](vitejs/vite@d8cd388))
##### [v8.1.5](https://github.com/vitejs/vite/releases/tag/v8.1.5)

Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v8.1.5/packages/vite/CHANGELOG.md) for details.
##### [v8.1.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-814-2026-07-09-small)

##### Features

- **legacy:** prefer oxc as minifier (fix [#21973](vitejs/vite#21973)) ([#22468](vitejs/vite#22468)) ([ab5dafa](vitejs/vite@ab5dafa))

##### Bug Fixes

- **build:** add workaround for building on stackblitz ([#22840](vitejs/vite#22840)) ([575c32c](vitejs/vite@575c32c))
- **build:** keep `import.meta.url` in preload function as-is ([#22839](vitejs/vite#22839)) ([f1f90ed](vitejs/vite@f1f90ed))
- **deps:** update all non-major dependencies ([#22865](vitejs/vite#22865)) ([d4295a9](vitejs/vite@d4295a9))
- **deps:** update rolldown-related dependencies ([#22866](vitejs/vite#22866)) ([7cf07e4](vitejs/vite@7cf07e4))
- **html:** avoid backtracking in import-only check ([#22848](vitejs/vite#22848)) ([b5868c0](vitejs/vite@b5868c0))
- **optimizer:** avoid optimizer run for transform request before init ([#22852](vitejs/vite#22852)) ([72a5e21](vitejs/vite@72a5e21))
- **ssr:** align named export function call stacktrace column with Node ([#22829](vitejs/vite#22829)) ([173a1b6](vitejs/vite@173a1b6))
- strip pure CSS chunk imports when chunkImportMap is enabled ([#22841](vitejs/vite#22841)) ([648bd04](vitejs/vite@648bd04))

##### Documentation

- fix incorrect `@default` for `server.cors` ([#22859](vitejs/vite#22859)) ([70435b2](vitejs/vite@70435b2))

##### Miscellaneous Chores

- **deps:** update dependency postcss-modules to v9 ([#22867](vitejs/vite#22867)) ([a9539d6](vitejs/vite@a9539d6))

##### Code Refactoring

- eliminate ineffectiveDynamicImport warn ([#22876](vitejs/vite#22876)) ([ea22fb3](vitejs/vite@ea22fb3))

##### Tests

- avoid warnings ([#22851](vitejs/vite#22851)) ([af21ab6](vitejs/vite@af21ab6))

##### Build System

- remove the custom onLog function ([#22878](vitejs/vite#22878)) ([2c4a217](vitejs/vite@2c4a217))
- replace deprecated `onwarn` with `onLog` ([#22741](vitejs/vite#22741)) ([c581b55](vitejs/vite@c581b55))
##### [v8.1.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-813-2026-07-02-small)

##### Bug Fixes

- **css:** inject inlined CSS after the shebang line ([#22717](vitejs/vite#22717)) ([1534d36](vitejs/vite@1534d36))
- **deps:** bump `es-module-lexer` to 2.3.0 ([#22838](vitejs/vite#22838)) ([7103c3a](vitejs/vite@7103c3a))
- preload css for nested dynamic imports ([#22759](vitejs/vite#22759)) ([2c53054](vitejs/vite@2c53054))
- **ssr:** correct stacktrace column position for first line ([#22828](vitejs/vite#22828)) ([c4acd69](vitejs/vite@c4acd69))
##### [v8.1.2](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-812-2026-06-30-small)

##### Bug Fixes

- **deps:** revert es-module-lexer to 2.1.0 ([#22827](vitejs/vite#22827)) ([0d3bd7c](vitejs/vite@0d3bd7c))
- restore, "fix: resolve pnpm .modules.yaml from workspace root instead of cwd ([#22757](vitejs/vite#22757))" ([#22825](vitejs/vite#22825)) ([efb98cc](vitejs/vite@efb98cc))
- revert, "fix: escape ids with multiple null bytes ([#22687](vitejs/vite#22687))" ([cccef55](vitejs/vite@cccef55))
- revert, "fix: resolve pnpm .modules.yaml from workspace root instead of cwd ([#22757](vitejs/vite#22757))" ([cf97711](vitejs/vite@cf97711))
##### [v8.1.1](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-811-2026-06-30-small)

##### Features

- update dynamic import warning to link to Vite docs ([#22823](vitejs/vite#22823)) ([62bd7af](vitejs/vite@62bd7af))

##### Bug Fixes

- **bundled-dev:** avoid stack overflow on `import.meta.hot.invalidate()` ([#22797](vitejs/vite#22797)) ([709eb8e](vitejs/vite@709eb8e))
- **bundled-dev:** serve assets emitted during HMR/lazy compile ([#22745](vitejs/vite#22745)) ([5876b2c](vitejs/vite@5876b2c))
- **bundledDev:** skip plugin transform hooks for rolldown-lazy stub modules ([#22778](vitejs/vite#22778)) ([8f925e2](vitejs/vite@8f925e2))
- **css:** preserve dollar signs in external `@import` urls with lightningcss ([#22718](vitejs/vite#22718)) ([9fa7ab4](vitejs/vite@9fa7ab4))
- **css:** resolve tsconfig paths in CSS and Sass [@import](https://github.com/import) ([#22775](vitejs/vite#22775)) ([ef0b891](vitejs/vite@ef0b891))
- **deps:** update all non-major dependencies ([#22734](vitejs/vite#22734)) ([e635f49](vitejs/vite@e635f49))
- **deps:** update all non-major dependencies ([#22804](vitejs/vite#22804)) ([8837400](vitejs/vite@8837400))
- **deps:** update rolldown-related dependencies ([#22591](vitejs/vite#22591)) ([2ce6677](vitejs/vite@2ce6677))
- escape ids with multiple null bytes ([#22687](vitejs/vite#22687)) ([833fc30](vitejs/vite@833fc30))
- hide console window when running 'net use' on Windows ([#22698](vitejs/vite#22698)) ([92b63f2](vitejs/vite@92b63f2))
- ignore bundled config temp dir ([#22800](vitejs/vite#22800)) ([043a810](vitejs/vite@043a810))
- invert `esbuild.jsxSideEffects` when converting to `oxc.jsx.pure` ([#22809](vitejs/vite#22809)) ([33895ba](vitejs/vite@33895ba))
- **optimize-deps:** ignore `ERR_CLOSED_SERVER` in scanner ([#22784](vitejs/vite#22784)) ([085a0ab](vitejs/vite@085a0ab))
- **optimizer:** scanner should resolve `input` from `root` ([#22769](vitejs/vite#22769)) ([9722b07](vitejs/vite@9722b07))
- resolve pnpm .modules.yaml from workspace root instead of cwd ([#22757](vitejs/vite#22757)) ([2531ac7](vitejs/vite@2531ac7))
- return sourcemap field from some plugins that were lacking ([#22782](vitejs/vite#22782)) ([7e18bf8](vitejs/vite@7e18bf8))
- **server:** handle malformed URI in indexHtmlMiddleware ([#22781](vitejs/vite#22781)) ([84f5ccc](vitejs/vite@84f5ccc))

##### Miscellaneous Chores

- improve dependency optimizer messages ([#22549](vitejs/vite#22549)) ([092cb3b](vitejs/vite@092cb3b))

##### Code Refactoring

- **css:** remove lightningcss null byte bug workaround ([#22822](vitejs/vite#22822)) ([2dafd3b](vitejs/vite@2dafd3b))
- use pre-defined environments variable to avoid duplicate `Object.values` calls ([#22790](vitejs/vite#22790)) ([1113acf](vitejs/vite@1113acf))

##### Tests

- enable "manual chunk path" test and remove "worker.format error" test ([#22824](vitejs/vite#22824)) ([c088511](vitejs/vite@c088511))
##### [v8.1.0](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#810-2026-06-23)

##### Features

- extend `server.fs.deny` list with common files ([#22707](vitejs/vite#22707)) ([61ba8fd](vitejs/vite@61ba8fd))
- update rolldown to 1.1.2 ([#22695](vitejs/vite#22695)) ([4f008a6](vitejs/vite@4f008a6))
- use `~` for Rolldown ([#22693](vitejs/vite#22693)) ([9928722](vitejs/vite@9928722))

##### Bug Fixes

- **bundled-dev:** errors should be kept when incremental build fails ([#22617](vitejs/vite#22617)) ([9a0dd48](vitejs/vite@9a0dd48))
- cache falsy values in perEnvironmentState ([#22715](vitejs/vite#22715)) ([0e91e79](vitejs/vite@0e91e79))
- **glob:** respect caseSensitive option in hmr matcher ([#22711](vitejs/vite#22711)) ([65f525e](vitejs/vite@65f525e))
- **html:** omit nonce on import map when cspNonce is unset ([#22713](vitejs/vite#22713)) ([8340bb5](vitejs/vite@8340bb5))
- **optimizer:** skip null-valued exports in expandGlobIds glob resolution ([#22611](vitejs/vite#22611)) ([8b9f5cd](vitejs/vite@8b9f5cd))
- resolved build options should be kept as a getter ([#22691](vitejs/vite#22691)) ([3527191](vitejs/vite@3527191))
- **server:** handle malformed URI in memory files middleware ([#22714](vitejs/vite#22714)) ([df9e0a5](vitejs/vite@df9e0a5))
- use literal envPrefix queries for Vite Task ([#22706](vitejs/vite#22706)) ([da72733](vitejs/vite@da72733))
- warn on deprecated envFile ([#22555](vitejs/vite#22555)) ([ed7b283](vitejs/vite@ed7b283))

##### Code Refactoring

- **client:** inline dev-id value in CSS selector ([#22736](vitejs/vite#22736)) ([57f59bc](vitejs/vite@57f59bc))
- remove unused removeRawQuery util ([#22724](vitejs/vite#22724)) ([403cc60](vitejs/vite@403cc60))
- use `rolldownOptions` property for chunkImportMap ([#22692](vitejs/vite#22692)) ([8e8816c](vitejs/vite@8e8816c))
##### [v8.0.16](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8016-2026-06-01-small)

##### Bug Fixes

- **deps:** reject UNC paths for launch-editor-middleware ([#22571](vitejs/vite#22571)) ([50b9512](vitejs/vite@50b9512))
- reject windows alternate paths ([#22572](vitejs/vite#22572)) ([dc245c7](vitejs/vite@dc245c7))
##### [v8.0.15](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8015-2026-06-01-small)

##### Features

- send 408 on request timeout ([#22476](vitejs/vite#22476)) ([c85c9ee](vitejs/vite@c85c9ee))
- update rolldown to 1.0.3 ([#22538](vitejs/vite#22538)) ([646dbed](vitejs/vite@646dbed))

##### Bug Fixes

- capitalize error messages and remove spurious space in parse error ([#22488](vitejs/vite#22488)) ([85a0eff](vitejs/vite@85a0eff))
- **deps:** update all non-major dependencies ([#22511](vitejs/vite#22511)) ([2686d7d](vitejs/vite@2686d7d))
- **dev:** fix html-proxy cache key mismatch for /@fs/ HTML paths ([#21762](vitejs/vite#21762)) ([47c4213](vitejs/vite@47c4213))
- **glob:** error on relative glob in virtual module when no files match ([#22497](vitejs/vite#22497)) ([5c8e98f](vitejs/vite@5c8e98f))
- **optimizer:** close the rolldown bundle when write() rejects ([#22528](vitejs/vite#22528)) ([e3cfb9d](vitejs/vite@e3cfb9d))
- **resolve:** provide onWarn for viteResolvePlugin in JS plugin containers ([#22509](vitejs/vite#22509)) ([40985f1](vitejs/vite@40985f1))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#22566](vitejs/vite#22566)) ([3052a67](vitejs/vite@3052a67))

##### Code Refactoring

- correct logic in `collectAllModules` function ([#22562](vitejs/vite#22562)) ([6978a9c](vitejs/vite@6978a9c))
##### [v8.0.14](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8014-2026-05-21-small)

##### Features

- update rolldown to 1.0.2 ([#22484](vitejs/vite#22484)) ([96efc88](vitejs/vite@96efc88))

##### Bug Fixes

- **deps:** update all non-major dependencies ([#22471](vitejs/vite#22471)) ([98b8163](vitejs/vite@98b8163))
- **dev:** handle errors when sending messages to vite server ([#22450](vitejs/vite#22450)) ([e8e9a34](vitejs/vite@e8e9a34))
- **html:** handle trailing slash paths in transformIndexHtml ([#22480](vitejs/vite#22480)) ([5d94d1b](vitejs/vite@5d94d1b))
- **optimizer:** pass oxc jsx options to transformSync in dependency scan                                                            ([#22342](vitejs/vite#22342)) ([b3132da](vitejs/vite@b3132da))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#22470](vitejs/vite#22470)) ([7cb728e](vitejs/vite@7cb728e))
- remove irrelevant commits from changelog ([2c69495](vitejs/vite@2c69495))

##### Code Refactoring

- **glob:** do not rewrite import path for absolute base ([#22310](vitejs/vite#22310)) ([0ae2844](vitejs/vite@0ae2844))

##### Tests

- **css:** sass does not use main field ([#22449](vitejs/vite#22449)) ([ebf39a0](vitejs/vite@ebf39a0))
##### [v8.0.13](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8013-2026-05-14-small)

##### Features

- **bundled-dev:** add lazy bundling support ([#21406](vitejs/vite#21406)) ([4f0949f](vitejs/vite@4f0949f))
- **optimizer:** improve the esbuild plugin converter to pass some properties of build result to `onEnd` ([#22357](vitejs/vite#22357)) ([47071ce](vitejs/vite@47071ce))
- update rolldown to 1.0.1 ([#22444](vitejs/vite#22444)) ([8c766a6](vitejs/vite@8c766a6))

##### Bug Fixes

- **build:** copy public directory after building same environment with `write=false` ([#22328](vitejs/vite#22328)) ([158e8ae](vitejs/vite@158e8ae))
- **css:** await sass/less/styl worker disposal on teardown (fix [#22274](vitejs/vite#22274)) ([#22275](vitejs/vite#22275)) ([b7edcb7](vitejs/vite@b7edcb7))
- **css:** keep deprecated `name`/`originalFileName` in synthetic `assetFileNames` call ([#22439](vitejs/vite#22439)) ([8e59c97](vitejs/vite@8e59c97))
- make `isBundled` per environment ([#22257](vitejs/vite#22257)) ([a576326](vitejs/vite@a576326))
- **ssr:** avoid rewriting labels that collide with imports ([#22451](vitejs/vite#22451)) ([d9b18e0](vitejs/vite@d9b18e0))

##### Miscellaneous Chores

- remove irrelevant commits from changelog ([#22430](vitejs/vite#22430)) ([6ea3838](vitejs/vite@6ea3838))
- update changelog ([#22413](vitejs/vite#22413)) ([fcdc87c](vitejs/vite@fcdc87c))
##### [v8.0.12](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8012-2026-05-11-small)

##### Features

- update rolldown to 1.0.0 ([#22401](vitejs/vite#22401)) ([cf0ff41](vitejs/vite@cf0ff41))

##### Bug Fixes

- **create-vite:** pass react framework to TanStack CLI ([#22397](vitejs/vite#22397)) ([18f0f90](vitejs/vite@18f0f90))
- **deps:** update all non-major dependencies ([#22420](vitejs/vite#22420)) ([2be6000](vitejs/vite@2be6000))
- **module-runner:** prevent partial-exports race on concurrent imports of in-flight invalidated re-export chains ([#22369](vitejs/vite#22369)) ([f5a22e6](vitejs/vite@f5a22e6))
- refer to `rolldownOptions` instead of deprecated `rollupOptions` in messages ([#22400](vitejs/vite#22400)) ([b675c7b](vitejs/vite@b675c7b))
- **worker:** apply `build.target` to worker bundle ([#22404](vitejs/vite#22404)) ([3c93fde](vitejs/vite@3c93fde))
- **worker:** forward define to worker bundle transform ([#22408](vitejs/vite#22408)) ([d4838a0](vitejs/vite@d4838a0))

##### Miscellaneous Chores

- **deps:** update dependency eslint-plugin-n to v18 ([#22423](vitejs/vite#22423)) ([2fe7bd2](vitejs/vite@2fe7bd2))
- **deps:** update rolldown-related dependencies ([#22421](vitejs/vite#22421)) ([66b9eb3](vitejs/vite@66b9eb3))
##### [v8.0.11](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8011-2026-05-07-small)

##### Features

- update rolldown to 1.0.0-rc.18 ([#22360](vitejs/vite#22360)) ([3f80524](vitejs/vite@3f80524))

##### Bug Fixes

- **deps:** update all non-major dependencies ([#22334](vitejs/vite#22334)) ([672c962](vitejs/vite@672c962))
- **deps:** update all non-major dependencies ([#22382](vitejs/vite#22382)) ([5c0cfcb](vitejs/vite@5c0cfcb))
- **glob:** align hmr matcher options with glob enumeration ([#22306](vitejs/vite#22306)) ([30028f9](vitejs/vite@30028f9))
- make separate object instance for each environment ([#22276](vitejs/vite#22276)) ([7c2aa3b](vitejs/vite@7c2aa3b))

##### Documentation

- **create-vite:** list react-compiler templates in README ([#22347](vitejs/vite#22347)) ([7c3a61f](vitejs/vite@7c3a61f))
- explain mergeConfig skips null/undefined ([#22325](vitejs/vite#22325)) ([2151f70](vitejs/vite@2151f70))
- mention native config loader in CLI options ([#22348](vitejs/vite#22348)) ([0420c5d](vitejs/vite@0420c5d))
- update evan's x handle ([640202a](vitejs/vite@640202a))

##### Miscellaneous Chores

- **deps:** update dependency tsdown to ^0.21.10 ([#22333](vitejs/vite#22333)) ([3b51e05](vitejs/vite@3b51e05))
- **deps:** update rolldown-related dependencies ([#22383](vitejs/vite#22383)) ([555ff36](vitejs/vite@555ff36))
- **deps:** update transitive packages to fix npm audit alerts ([#22316](vitejs/vite#22316)) ([86aee62](vitejs/vite@86aee62))

##### Code Refactoring

- devtools integration ([#22312](vitejs/vite#22312)) ([3c8bf06](vitejs/vite@3c8bf06))
- remove unnecessary async ([#22296](vitejs/vite#22296)) ([b31fd35](vitejs/vite@b31fd35))
- show direct path type in bad character warning ([#22339](vitejs/vite#22339)) ([0c162e9](vitejs/vite@0c162e9))

##### Tests

- **create-vite:** use short help alias ([#22389](vitejs/vite#22389)) ([994ab66](vitejs/vite@994ab66))
##### [v8.0.10](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8010-2026-04-23-small)

##### Features

- update rolldown to 1.0.0-rc.17 ([#22299](vitejs/vite#22299)) ([a4d06d9](vitejs/vite@a4d06d9))

##### Bug Fixes

- `hmrClient.logger.debug` and `hmrClient.logger.error` looked different from other HMR logs ([#22147](vitejs/vite#22147)) ([a4d828f](vitejs/vite@a4d828f))
- **css:** show filename in CSS minification warnings for `.css?inline` ([#22292](vitejs/vite#22292)) ([83f0a78](vitejs/vite@83f0a78))
- **optimizer:** allow user transform.target to override default in optimizeDeps ([#22273](vitejs/vite#22273)) ([5c7cec6](vitejs/vite@5c7cec6))
- remove format sniffing module resolution from JS resolver ([#22297](vitejs/vite#22297)) ([b8a21cc](vitejs/vite@b8a21cc))

##### Code Refactoring

- enable some typecheck rules ([#22278](vitejs/vite#22278)) ([9437518](vitejs/vite@9437518))
- typecheck client directory ([#22284](vitejs/vite#22284)) ([40a0847](vitejs/vite@40a0847))
##### [v8.0.9](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-809-2026-04-20-small)

##### Features

- update rolldown to 1.0.0-rc.16 ([#22248](vitejs/vite#22248)) ([2947edd](vitejs/vite@2947edd))

##### Bug Fixes

- allow binding when strictPort is set but wildcard port is in use ([#22150](vitejs/vite#22150)) ([dfc8aa5](vitejs/vite@dfc8aa5))
- **build:** emptyOutDir should happen for watch rebuilds ([#22207](vitejs/vite#22207)) ([ee52267](vitejs/vite@ee52267))
- **bundled-dev:** reject requests to HMR patch files in non potentially trustworthy origins ([#22269](vitejs/vite#22269)) ([868f141](vitejs/vite@868f141))
- **css:** use unique key for cssEntriesMap to prevent same-basename collision ([#22039](vitejs/vite#22039)) ([374bb5d](vitejs/vite@374bb5d))
- **deps:** update all non-major dependencies ([#22219](vitejs/vite#22219)) ([4cd0d67](vitejs/vite@4cd0d67))
- **deps:** update all non-major dependencies ([#22268](vitejs/vite#22268)) ([c28e9c1](vitejs/vite@c28e9c1))
- detect Deno workspace root (fix [#22237](vitejs/vite#22237)) ([#22238](vitejs/vite#22238)) ([1b793c0](vitejs/vite@1b793c0))
- **dev:** handle errors in `watchChange` hook ([#22188](vitejs/vite#22188)) ([fc08bda](vitejs/vite@fc08bda))
- **optimizer:** handle more chars that will be sanitized ([#22208](vitejs/vite#22208)) ([3f24533](vitejs/vite@3f24533))
- skip fallback sourcemap generation for `?raw` imports ([#22148](vitejs/vite#22148)) ([3ec9cda](vitejs/vite@3ec9cda))

##### Documentation

- align the descriptions in READMEs ([#22231](vitejs/vite#22231)) ([44c42b9](vitejs/vite@44c42b9))
- fix reuses wording in dev environment comment ([#22173](vitejs/vite#22173)) ([9163412](vitejs/vite@9163412))
- fix wording in sass error comment ([#22214](vitejs/vite#22214)) ([bc5c6a7](vitejs/vite@bc5c6a7))
- update build CLI defaults ([#22261](vitejs/vite#22261)) ([605bb97](vitejs/vite@605bb97))

##### Miscellaneous Chores

- **deps:** update dependency dotenv-expand to v13 ([#22271](vitejs/vite#22271)) ([0a3887d](vitejs/vite@0a3887d))
##### [v8.0.8](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-808-2026-04-09-small)

##### Features

- update rolldown to 1.0.0-rc.15 ([#22201](vitejs/vite#22201)) ([6baf587](vitejs/vite@6baf587))

##### Bug Fixes

- avoid `dns.getDefaultResultOrder` temporary ([#22202](vitejs/vite#22202)) ([15f1c15](vitejs/vite@15f1c15))
- **ssr:** class property keys hoisting matching imports ([#22199](vitejs/vite#22199)) ([e137601](vitejs/vite@e137601))
##### [v8.0.7](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-807-2026-04-07-small)

##### Bug Fixes

- use sync dns.getDefaultResultOrder instead of dns.promises ([#22185](vitejs/vite#22185)) ([5c05b04](vitejs/vite@5c05b04))
##### [v8.0.6](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-806-2026-04-07-small)

##### Features

- update rolldown to 1.0.0-rc.13 ([#22097](vitejs/vite#22097)) ([51d3e48](vitejs/vite@51d3e48))

##### Bug Fixes

- **css:** avoid mutating sass error multiple times ([#22115](vitejs/vite#22115)) ([d5081c2](vitejs/vite@d5081c2))
- **optimize-deps:** hoist CJS interop assignment ([#22156](vitejs/vite#22156)) ([17a8f9e](vitejs/vite@17a8f9e))

##### Performance Improvements

- early return in `getLocalhostAddressIfDiffersFromDNS` when DNS order is `verbatim` ([#22151](vitejs/vite#22151)) ([56ec256](vitejs/vite@56ec256))

##### Miscellaneous Chores

- **create-vite:** remove unnecessary DOM.Iterable ([#22168](vitejs/vite#22168)) ([bdc53ab](vitejs/vite@bdc53ab))
- replace remaining prettier script ([#22179](vitejs/vite#22179)) ([af71fb2](vitejs/vite@af71fb2))
##### [v8.0.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-805-2026-04-06-small)

##### Bug Fixes

- apply server.fs check to env transport ([#22159](vitejs/vite#22159)) ([f02d9fd](vitejs/vite@f02d9fd))
- avoid path traversal with optimize deps sourcemap handler ([#22161](vitejs/vite#22161)) ([79f002f](vitejs/vite@79f002f))
- check `server.fs` after stripping query as well ([#22160](vitejs/vite#22160)) ([a9a3df2](vitejs/vite@a9a3df2))
- disallow referencing files outside the package from sourcemap ([#22158](vitejs/vite#22158)) ([f05f501](vitejs/vite@f05f501))
##### [v8.0.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-804-2026-04-06-small)

##### Features

- allow esbuild 0.28 as peer deps ([#22155](vitejs/vite#22155)) ([b0da973](vitejs/vite@b0da973))
- **hmr:** truncate list of files on hmr update ([#21535](vitejs/vite#21535)) ([d00e806](vitejs/vite@d00e806))
- **optimizer:** log when dependency scanning or bundling takes over 1s ([#21797](vitejs/vite#21797)) ([f61a1ab](vitejs/vite@f61a1ab))

##### Bug Fixes

- `hasBothRollupOptionsAndRolldownOptions` should return `false` for proxy case ([#22043](vitejs/vite#22043)) ([99897d2](vitejs/vite@99897d2))
- add types for `vite/modulepreload-polyfill` ([#22126](vitejs/vite#22126)) ([17330d2](vitejs/vite@17330d2))
- **deps:** update all non-major dependencies ([#22073](vitejs/vite#22073)) ([6daa10f](vitejs/vite@6daa10f))
- **deps:** update all non-major dependencies ([#22143](vitejs/vite#22143)) ([22b0166](vitejs/vite@22b0166))
- **resolve:** resolve tsconfig paths starting with `#` ([#22038](vitejs/vite#22038)) ([3460fc5](vitejs/vite@3460fc5))
- **ssr:** use browser platform for webworker SSR builds (fix [#21969](vitejs/vite#21969)) ([#21963](vitejs/vite#21963)) ([364c227](vitejs/vite@364c227))

##### Documentation

- add `environment.fetchModule` documentation ([#22035](vitejs/vite#22035)) ([54229e7](vitejs/vite@54229e7))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#21989](vitejs/vite#21989)) ([0ded627](vitejs/vite@0ded627))

##### Code Refactoring

- upgrade to typescript 6 ([#22110](vitejs/vite#22110)) ([cc41398](vitejs/vite@cc41398))
##### [v8.0.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-803-2026-03-26-small)

##### Features

- update rolldown to 1.0.0-rc.12 ([#22024](vitejs/vite#22024)) ([84164ef](vitejs/vite@84164ef))

##### Bug Fixes

- **html:** cache unfiltered CSS list to prevent missing styles across entries ([#22017](vitejs/vite#22017)) ([5464190](vitejs/vite@5464190))
- **module-runner:** handle non-ascii characters in base64 sourcemaps ([#21985](vitejs/vite#21985)) ([77c95bf](vitejs/vite@77c95bf))
- **module-runner:** skip re-import if the runner is closed ([#22020](vitejs/vite#22020)) ([ee2c2cd](vitejs/vite@ee2c2cd))
- **optimizer:** scan is not resolving sub path import if used in a glob import ([#22018](vitejs/vite#22018)) ([ddfe20d](vitejs/vite@ddfe20d))
- **ssr:** ssrTransform incorrectly rewrites `meta` identifier inside `import.meta` when a binding named `meta` exists ([#22019](vitejs/vite#22019)) ([cff5f0c](vitejs/vite@cff5f0c))

##### Miscellaneous Chores

- **deps:** bump picomatch from 4.0.3 to 4.0.4 ([#22027](vitejs/vite#22027)) ([7e56003](vitejs/vite@7e56003))

##### Tests

- **html:** add tests for `getCssFilesForChunk` ([#22016](vitejs/vite#22016)) ([43fbbf9](vitejs/vite@43fbbf9))
##### [v8.0.2](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-802-2026-03-23-small)

##### Features

- update rolldown to 1.0.0-rc.11 ([#21998](vitejs/vite#21998)) ([ff91c31](vitejs/vite@ff91c31))

##### Bug Fixes

- **deps:** update all non-major dependencies ([#21988](vitejs/vite#21988)) ([9b7d150](vitejs/vite@9b7d150))

##### Miscellaneous Chores

- **deps:** update dependency [@vitejs/devtools](https://github.com/vitejs/devtools) to ^0.1.5 ([#21992](vitejs/vite#21992)) ([b2dd65b](vitejs/vite@b2dd65b))
##### [v8.0.1](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-801-2026-03-19-small)

##### Features

- update rolldown to 1.0.0-rc.10 ([#21932](vitejs/vite#21932)) ([b3c067d](vitejs/vite@b3c067d))

##### Bug Fixes

- **bundled-dev:** properly disable `inlineConst` optimization ([#21865](vitejs/vite#21865)) ([6d97142](vitejs/vite@6d97142))
- **css:** lightningcss minify failed when `build.target: 'es6'` ([#21933](vitejs/vite#21933)) ([5fcce46](vitejs/vite@5fcce46))
- **deps:** update all non-major dependencies ([#21878](vitejs/vite#21878)) ([6dbbd7f](vitejs/vite@6dbbd7f))
- **dev:** always use ESM Oxc runtime ([#21829](vitejs/vite#21829)) ([d323ed7](vitejs/vite@d323ed7))
- **dev:** handle concurrent restarts in `_createServer` ([#21810](vitejs/vite#21810)) ([40bc729](vitejs/vite@40bc729))
- handle `+` symbol in package subpath exports during dep optimization ([#21886](vitejs/vite#21886)) ([86db93d](vitejs/vite@86db93d))
- improve `no-cors` request block error ([#21902](vitejs/vite#21902)) ([5ba688b](vitejs/vite@5ba688b))
- use precise regexes for transform filter to avoid backtracking ([#21800](vitejs/vite#21800)) ([dbe41bd](vitejs/vite@dbe41bd))
- **worker:** `require(json)` result should not be wrapped ([#21847](vitejs/vite#21847)) ([0672fd2](vitejs/vite@0672fd2))
- **worker:** make worker output consistent with client and SSR ([#21871](vitejs/vite#21871)) ([69454d7](vitejs/vite@69454d7))

##### Miscellaneous Chores

- add changelog rearrange script ([#21835](vitejs/vite#21835)) ([efef073](vitejs/vite@efef073))
- **deps:** bump required `@vitejs/devtools` version to 0.1+ ([#21925](vitejs/vite#21925)) ([12932f5](vitejs/vite@12932f5))
- **deps:** update rolldown-related dependencies ([#21787](vitejs/vite#21787)) ([1af1d3a](vitejs/vite@1af1d3a))
- rearrange 8.0 changelog ([8e05b61](vitejs/vite@8e05b61))
- rearrange 8.0 changelog ([#21834](vitejs/vite#21834)) ([86edeee](vitejs/vite@86edeee))
##### [v8.0.0](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#800-2026-03-12)

##### Features

- update rolldown to 1.0.0-rc.9 ([#21813](vitejs/vite#21813)) ([f05be0e](vitejs/vite@f05be0e))
- warn when `vite-tsconfig-paths` plugin is detected ([#21781](vitejs/vite#21781)) ([ada493e](vitejs/vite@ada493e))

##### Bug Fixes

- **deps:** update all non-major dependencies ([#21786](vitejs/vite#21786)) ([eaa4352](vitejs/vite@eaa4352))
renovate Bot added a commit to gwennlbh/pleye that referenced this pull request Aug 16, 2026
##### [v8.2.1](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-821-2026-08-06-small)

##### Bug Fixes

- **build:** make client chunkImportMap work with `sharedPlugins: true` ([#23184](vitejs/vite#23184)) ([15f0307](vitejs/vite@15f0307))
- **bundled-dev:** inject client script tag before chunk scripts ([#23161](vitejs/vite#23161)) ([eac0cc8](vitejs/vite@eac0cc8))
- **css:** don't re-run lightningcss visitor during minify (fix [#23146](vitejs/vite#23146)) ([#23147](vitejs/vite#23147)) ([de041a7](vitejs/vite@de041a7))
- **deps:** update all non-major dependencies ([#23136](vitejs/vite#23136)) ([14454fd](vitejs/vite@14454fd))
- **deps:** update rolldown-related dependencies ([#23070](vitejs/vite#23070)) ([7ac6f7f](vitejs/vite@7ac6f7f))
- don't mutate the user config when resolving the lib entry from the top-level `input` ([#23135](vitejs/vite#23135)) ([b4bf596](vitejs/vite@b4bf596))
- handle shebang ending with uncommon line terminators ([#23038](vitejs/vite#23038)) ([17f7b2f](vitejs/vite@17f7b2f))
- **server:** use a random port when port is 0 ([#23158](vitejs/vite#23158)) ([fddf4ea](vitejs/vite@fddf4ea))

##### Performance Improvements

- **css:** look up pure CSS chunks through a Set ([#23114](vitejs/vite#23114)) ([1331b0b](vitejs/vite@1331b0b))

##### Documentation

- **build:** fix incomplete `@default` for build.minify ([#23177](vitejs/vite#23177)) ([ef02435](vitejs/vite@ef02435))

##### Miscellaneous Chores

- **deps:** update dependency rolldown-plugin-dts to ^0.28.0 ([#23137](vitejs/vite#23137)) ([4adc1e7](vitejs/vite@4adc1e7))
- **deps:** update dependency strip-literal to v4 ([#23140](vitejs/vite#23140)) ([9db65ce](vitejs/vite@9db65ce))

##### Code Refactoring

- **bundled-dev:** avoid injecting server values in the bundle ([#22967](vitejs/vite#22967)) ([23b8a08](vitejs/vite@23b8a08))
- **bundled-dev:** remove rolldown lazy stub module workaround ([#23129](vitejs/vite#23129)) ([e72036e](vitejs/vite@e72036e))

##### Tests

- **bundled-dev:** enable sourcemap playgrounds ([#23080](vitejs/vite#23080)) ([c2155fe](vitejs/vite@c2155fe))
- reduce logs ([#23138](vitejs/vite#23138)) ([7673c02](vitejs/vite@7673c02))
##### [v8.2.0](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#820-2026-07-30)

##### Features

- add `input` to `server.fs.allow` ([#23035](vitejs/vite#23035)) ([95a3cda](vitejs/vite@95a3cda))
- **bundled-dev:** reload once after rebuild instead of via the fallback page ([#23106](vitejs/vite#23106)) ([b24381d](vitejs/vite@b24381d))
- **bundled-dev:** support worker file update accepted by HMR ([#23068](vitejs/vite#23068)) ([0d04351](vitejs/vite@0d04351))
- **config:** include column in config incompatibility location ([#23064](vitejs/vite#23064)) ([8a24572](vitejs/vite@8a24572))
- **dev:** resolve interface name for explicit host in network URLs ([#22965](vitejs/vite#22965)) ([3ac77d9](vitejs/vite@3ac77d9))

##### Bug Fixes

- **bundledDev:** print build errors to the terminal when an HMR update fails ([#23024](vitejs/vite#23024)) ([41c4658](vitejs/vite@41c4658))
- **deps:** update all non-major dependencies ([#23069](vitejs/vite#23069)) ([4c07b74](vitejs/vite@4c07b74))
- **hmr:** preserve environment snapshot during server restart ([#22992](vitejs/vite#22992)) ([b1186c3](vitejs/vite@b1186c3))
- **importAnalysis:** interop imports injected into optimized dep files by plugins ([#23029](vitejs/vite#23029)) ([8c2a87d](vitejs/vite@8c2a87d))
- **module-runner:** keep stack trace interception working when `Object.prototype` is frozen ([#23073](vitejs/vite#23073)) ([599c5b0](vitejs/vite@599c5b0))
- **server:** strip base in indexHtml module graph lookup ([#22932](vitejs/vite#22932)) ([fa005d1](vitejs/vite@fa005d1))
- support resolving top-level input option with plugins ([#23101](vitejs/vite#23101)) ([41df81a](vitejs/vite@41df81a))

##### Documentation

- **config:** correct cacheDir default fallback description ([#23060](vitejs/vite#23060)) ([aafa103](vitejs/vite@aafa103))

##### Tests

- config CJS module vars in ESM case ([#23010](vitejs/vite#23010)) ([d8cd388](vitejs/vite@d8cd388))
##### [v8.1.5](https://github.com/vitejs/vite/releases/tag/v8.1.5)

Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v8.1.5/packages/vite/CHANGELOG.md) for details.
##### [v8.1.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-814-2026-07-09-small)

##### Features

- **legacy:** prefer oxc as minifier (fix [#21973](vitejs/vite#21973)) ([#22468](vitejs/vite#22468)) ([ab5dafa](vitejs/vite@ab5dafa))

##### Bug Fixes

- **build:** add workaround for building on stackblitz ([#22840](vitejs/vite#22840)) ([575c32c](vitejs/vite@575c32c))
- **build:** keep `import.meta.url` in preload function as-is ([#22839](vitejs/vite#22839)) ([f1f90ed](vitejs/vite@f1f90ed))
- **deps:** update all non-major dependencies ([#22865](vitejs/vite#22865)) ([d4295a9](vitejs/vite@d4295a9))
- **deps:** update rolldown-related dependencies ([#22866](vitejs/vite#22866)) ([7cf07e4](vitejs/vite@7cf07e4))
- **html:** avoid backtracking in import-only check ([#22848](vitejs/vite#22848)) ([b5868c0](vitejs/vite@b5868c0))
- **optimizer:** avoid optimizer run for transform request before init ([#22852](vitejs/vite#22852)) ([72a5e21](vitejs/vite@72a5e21))
- **ssr:** align named export function call stacktrace column with Node ([#22829](vitejs/vite#22829)) ([173a1b6](vitejs/vite@173a1b6))
- strip pure CSS chunk imports when chunkImportMap is enabled ([#22841](vitejs/vite#22841)) ([648bd04](vitejs/vite@648bd04))

##### Documentation

- fix incorrect `@default` for `server.cors` ([#22859](vitejs/vite#22859)) ([70435b2](vitejs/vite@70435b2))

##### Miscellaneous Chores

- **deps:** update dependency postcss-modules to v9 ([#22867](vitejs/vite#22867)) ([a9539d6](vitejs/vite@a9539d6))

##### Code Refactoring

- eliminate ineffectiveDynamicImport warn ([#22876](vitejs/vite#22876)) ([ea22fb3](vitejs/vite@ea22fb3))

##### Tests

- avoid warnings ([#22851](vitejs/vite#22851)) ([af21ab6](vitejs/vite@af21ab6))

##### Build System

- remove the custom onLog function ([#22878](vitejs/vite#22878)) ([2c4a217](vitejs/vite@2c4a217))
- replace deprecated `onwarn` with `onLog` ([#22741](vitejs/vite#22741)) ([c581b55](vitejs/vite@c581b55))
##### [v8.1.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-813-2026-07-02-small)

##### Bug Fixes

- **css:** inject inlined CSS after the shebang line ([#22717](vitejs/vite#22717)) ([1534d36](vitejs/vite@1534d36))
- **deps:** bump `es-module-lexer` to 2.3.0 ([#22838](vitejs/vite#22838)) ([7103c3a](vitejs/vite@7103c3a))
- preload css for nested dynamic imports ([#22759](vitejs/vite#22759)) ([2c53054](vitejs/vite@2c53054))
- **ssr:** correct stacktrace column position for first line ([#22828](vitejs/vite#22828)) ([c4acd69](vitejs/vite@c4acd69))
##### [v8.1.2](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-812-2026-06-30-small)

##### Bug Fixes

- **deps:** revert es-module-lexer to 2.1.0 ([#22827](vitejs/vite#22827)) ([0d3bd7c](vitejs/vite@0d3bd7c))
- restore, "fix: resolve pnpm .modules.yaml from workspace root instead of cwd ([#22757](vitejs/vite#22757))" ([#22825](vitejs/vite#22825)) ([efb98cc](vitejs/vite@efb98cc))
- revert, "fix: escape ids with multiple null bytes ([#22687](vitejs/vite#22687))" ([cccef55](vitejs/vite@cccef55))
- revert, "fix: resolve pnpm .modules.yaml from workspace root instead of cwd ([#22757](vitejs/vite#22757))" ([cf97711](vitejs/vite@cf97711))
##### [v8.1.1](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-811-2026-06-30-small)

##### Features

- update dynamic import warning to link to Vite docs ([#22823](vitejs/vite#22823)) ([62bd7af](vitejs/vite@62bd7af))

##### Bug Fixes

- **bundled-dev:** avoid stack overflow on `import.meta.hot.invalidate()` ([#22797](vitejs/vite#22797)) ([709eb8e](vitejs/vite@709eb8e))
- **bundled-dev:** serve assets emitted during HMR/lazy compile ([#22745](vitejs/vite#22745)) ([5876b2c](vitejs/vite@5876b2c))
- **bundledDev:** skip plugin transform hooks for rolldown-lazy stub modules ([#22778](vitejs/vite#22778)) ([8f925e2](vitejs/vite@8f925e2))
- **css:** preserve dollar signs in external `@import` urls with lightningcss ([#22718](vitejs/vite#22718)) ([9fa7ab4](vitejs/vite@9fa7ab4))
- **css:** resolve tsconfig paths in CSS and Sass [@import](https://github.com/import) ([#22775](vitejs/vite#22775)) ([ef0b891](vitejs/vite@ef0b891))
- **deps:** update all non-major dependencies ([#22734](vitejs/vite#22734)) ([e635f49](vitejs/vite@e635f49))
- **deps:** update all non-major dependencies ([#22804](vitejs/vite#22804)) ([8837400](vitejs/vite@8837400))
- **deps:** update rolldown-related dependencies ([#22591](vitejs/vite#22591)) ([2ce6677](vitejs/vite@2ce6677))
- escape ids with multiple null bytes ([#22687](vitejs/vite#22687)) ([833fc30](vitejs/vite@833fc30))
- hide console window when running 'net use' on Windows ([#22698](vitejs/vite#22698)) ([92b63f2](vitejs/vite@92b63f2))
- ignore bundled config temp dir ([#22800](vitejs/vite#22800)) ([043a810](vitejs/vite@043a810))
- invert `esbuild.jsxSideEffects` when converting to `oxc.jsx.pure` ([#22809](vitejs/vite#22809)) ([33895ba](vitejs/vite@33895ba))
- **optimize-deps:** ignore `ERR_CLOSED_SERVER` in scanner ([#22784](vitejs/vite#22784)) ([085a0ab](vitejs/vite@085a0ab))
- **optimizer:** scanner should resolve `input` from `root` ([#22769](vitejs/vite#22769)) ([9722b07](vitejs/vite@9722b07))
- resolve pnpm .modules.yaml from workspace root instead of cwd ([#22757](vitejs/vite#22757)) ([2531ac7](vitejs/vite@2531ac7))
- return sourcemap field from some plugins that were lacking ([#22782](vitejs/vite#22782)) ([7e18bf8](vitejs/vite@7e18bf8))
- **server:** handle malformed URI in indexHtmlMiddleware ([#22781](vitejs/vite#22781)) ([84f5ccc](vitejs/vite@84f5ccc))

##### Miscellaneous Chores

- improve dependency optimizer messages ([#22549](vitejs/vite#22549)) ([092cb3b](vitejs/vite@092cb3b))

##### Code Refactoring

- **css:** remove lightningcss null byte bug workaround ([#22822](vitejs/vite#22822)) ([2dafd3b](vitejs/vite@2dafd3b))
- use pre-defined environments variable to avoid duplicate `Object.values` calls ([#22790](vitejs/vite#22790)) ([1113acf](vitejs/vite@1113acf))

##### Tests

- enable "manual chunk path" test and remove "worker.format error" test ([#22824](vitejs/vite#22824)) ([c088511](vitejs/vite@c088511))
##### [v8.1.0](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#810-2026-06-23)

##### Features

- extend `server.fs.deny` list with common files ([#22707](vitejs/vite#22707)) ([61ba8fd](vitejs/vite@61ba8fd))
- update rolldown to 1.1.2 ([#22695](vitejs/vite#22695)) ([4f008a6](vitejs/vite@4f008a6))
- use `~` for Rolldown ([#22693](vitejs/vite#22693)) ([9928722](vitejs/vite@9928722))

##### Bug Fixes

- **bundled-dev:** errors should be kept when incremental build fails ([#22617](vitejs/vite#22617)) ([9a0dd48](vitejs/vite@9a0dd48))
- cache falsy values in perEnvironmentState ([#22715](vitejs/vite#22715)) ([0e91e79](vitejs/vite@0e91e79))
- **glob:** respect caseSensitive option in hmr matcher ([#22711](vitejs/vite#22711)) ([65f525e](vitejs/vite@65f525e))
- **html:** omit nonce on import map when cspNonce is unset ([#22713](vitejs/vite#22713)) ([8340bb5](vitejs/vite@8340bb5))
- **optimizer:** skip null-valued exports in expandGlobIds glob resolution ([#22611](vitejs/vite#22611)) ([8b9f5cd](vitejs/vite@8b9f5cd))
- resolved build options should be kept as a getter ([#22691](vitejs/vite#22691)) ([3527191](vitejs/vite@3527191))
- **server:** handle malformed URI in memory files middleware ([#22714](vitejs/vite#22714)) ([df9e0a5](vitejs/vite@df9e0a5))
- use literal envPrefix queries for Vite Task ([#22706](vitejs/vite#22706)) ([da72733](vitejs/vite@da72733))
- warn on deprecated envFile ([#22555](vitejs/vite#22555)) ([ed7b283](vitejs/vite@ed7b283))

##### Code Refactoring

- **client:** inline dev-id value in CSS selector ([#22736](vitejs/vite#22736)) ([57f59bc](vitejs/vite@57f59bc))
- remove unused removeRawQuery util ([#22724](vitejs/vite#22724)) ([403cc60](vitejs/vite@403cc60))
- use `rolldownOptions` property for chunkImportMap ([#22692](vitejs/vite#22692)) ([8e8816c](vitejs/vite@8e8816c))
##### [v8.0.16](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8016-2026-06-01-small)

##### Bug Fixes

- **deps:** reject UNC paths for launch-editor-middleware ([#22571](vitejs/vite#22571)) ([50b9512](vitejs/vite@50b9512))
- reject windows alternate paths ([#22572](vitejs/vite#22572)) ([dc245c7](vitejs/vite@dc245c7))
##### [v8.0.15](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8015-2026-06-01-small)

##### Features

- send 408 on request timeout ([#22476](vitejs/vite#22476)) ([c85c9ee](vitejs/vite@c85c9ee))
- update rolldown to 1.0.3 ([#22538](vitejs/vite#22538)) ([646dbed](vitejs/vite@646dbed))

##### Bug Fixes

- capitalize error messages and remove spurious space in parse error ([#22488](vitejs/vite#22488)) ([85a0eff](vitejs/vite@85a0eff))
- **deps:** update all non-major dependencies ([#22511](vitejs/vite#22511)) ([2686d7d](vitejs/vite@2686d7d))
- **dev:** fix html-proxy cache key mismatch for /@fs/ HTML paths ([#21762](vitejs/vite#21762)) ([47c4213](vitejs/vite@47c4213))
- **glob:** error on relative glob in virtual module when no files match ([#22497](vitejs/vite#22497)) ([5c8e98f](vitejs/vite@5c8e98f))
- **optimizer:** close the rolldown bundle when write() rejects ([#22528](vitejs/vite#22528)) ([e3cfb9d](vitejs/vite@e3cfb9d))
- **resolve:** provide onWarn for viteResolvePlugin in JS plugin containers ([#22509](vitejs/vite#22509)) ([40985f1](vitejs/vite@40985f1))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#22566](vitejs/vite#22566)) ([3052a67](vitejs/vite@3052a67))

##### Code Refactoring

- correct logic in `collectAllModules` function ([#22562](vitejs/vite#22562)) ([6978a9c](vitejs/vite@6978a9c))
##### [v8.0.14](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8014-2026-05-21-small)

##### Features

- update rolldown to 1.0.2 ([#22484](vitejs/vite#22484)) ([96efc88](vitejs/vite@96efc88))

##### Bug Fixes

- **deps:** update all non-major dependencies ([#22471](vitejs/vite#22471)) ([98b8163](vitejs/vite@98b8163))
- **dev:** handle errors when sending messages to vite server ([#22450](vitejs/vite#22450)) ([e8e9a34](vitejs/vite@e8e9a34))
- **html:** handle trailing slash paths in transformIndexHtml ([#22480](vitejs/vite#22480)) ([5d94d1b](vitejs/vite@5d94d1b))
- **optimizer:** pass oxc jsx options to transformSync in dependency scan                                                            ([#22342](vitejs/vite#22342)) ([b3132da](vitejs/vite@b3132da))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#22470](vitejs/vite#22470)) ([7cb728e](vitejs/vite@7cb728e))
- remove irrelevant commits from changelog ([2c69495](vitejs/vite@2c69495))

##### Code Refactoring

- **glob:** do not rewrite import path for absolute base ([#22310](vitejs/vite#22310)) ([0ae2844](vitejs/vite@0ae2844))

##### Tests

- **css:** sass does not use main field ([#22449](vitejs/vite#22449)) ([ebf39a0](vitejs/vite@ebf39a0))
##### [v8.0.13](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8013-2026-05-14-small)

##### Features

- **bundled-dev:** add lazy bundling support ([#21406](vitejs/vite#21406)) ([4f0949f](vitejs/vite@4f0949f))
- **optimizer:** improve the esbuild plugin converter to pass some properties of build result to `onEnd` ([#22357](vitejs/vite#22357)) ([47071ce](vitejs/vite@47071ce))
- update rolldown to 1.0.1 ([#22444](vitejs/vite#22444)) ([8c766a6](vitejs/vite@8c766a6))

##### Bug Fixes

- **build:** copy public directory after building same environment with `write=false` ([#22328](vitejs/vite#22328)) ([158e8ae](vitejs/vite@158e8ae))
- **css:** await sass/less/styl worker disposal on teardown (fix [#22274](vitejs/vite#22274)) ([#22275](vitejs/vite#22275)) ([b7edcb7](vitejs/vite@b7edcb7))
- **css:** keep deprecated `name`/`originalFileName` in synthetic `assetFileNames` call ([#22439](vitejs/vite#22439)) ([8e59c97](vitejs/vite@8e59c97))
- make `isBundled` per environment ([#22257](vitejs/vite#22257)) ([a576326](vitejs/vite@a576326))
- **ssr:** avoid rewriting labels that collide with imports ([#22451](vitejs/vite#22451)) ([d9b18e0](vitejs/vite@d9b18e0))

##### Miscellaneous Chores

- remove irrelevant commits from changelog ([#22430](vitejs/vite#22430)) ([6ea3838](vitejs/vite@6ea3838))
- update changelog ([#22413](vitejs/vite#22413)) ([fcdc87c](vitejs/vite@fcdc87c))
##### [v8.0.12](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8012-2026-05-11-small)

##### Features

- update rolldown to 1.0.0 ([#22401](vitejs/vite#22401)) ([cf0ff41](vitejs/vite@cf0ff41))

##### Bug Fixes

- **create-vite:** pass react framework to TanStack CLI ([#22397](vitejs/vite#22397)) ([18f0f90](vitejs/vite@18f0f90))
- **deps:** update all non-major dependencies ([#22420](vitejs/vite#22420)) ([2be6000](vitejs/vite@2be6000))
- **module-runner:** prevent partial-exports race on concurrent imports of in-flight invalidated re-export chains ([#22369](vitejs/vite#22369)) ([f5a22e6](vitejs/vite@f5a22e6))
- refer to `rolldownOptions` instead of deprecated `rollupOptions` in messages ([#22400](vitejs/vite#22400)) ([b675c7b](vitejs/vite@b675c7b))
- **worker:** apply `build.target` to worker bundle ([#22404](vitejs/vite#22404)) ([3c93fde](vitejs/vite@3c93fde))
- **worker:** forward define to worker bundle transform ([#22408](vitejs/vite#22408)) ([d4838a0](vitejs/vite@d4838a0))

##### Miscellaneous Chores

- **deps:** update dependency eslint-plugin-n to v18 ([#22423](vitejs/vite#22423)) ([2fe7bd2](vitejs/vite@2fe7bd2))
- **deps:** update rolldown-related dependencies ([#22421](vitejs/vite#22421)) ([66b9eb3](vitejs/vite@66b9eb3))
##### [v8.0.11](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8011-2026-05-07-small)

##### Features

- update rolldown to 1.0.0-rc.18 ([#22360](vitejs/vite#22360)) ([3f80524](vitejs/vite@3f80524))

##### Bug Fixes

- **deps:** update all non-major dependencies ([#22334](vitejs/vite#22334)) ([672c962](vitejs/vite@672c962))
- **deps:** update all non-major dependencies ([#22382](vitejs/vite#22382)) ([5c0cfcb](vitejs/vite@5c0cfcb))
- **glob:** align hmr matcher options with glob enumeration ([#22306](vitejs/vite#22306)) ([30028f9](vitejs/vite@30028f9))
- make separate object instance for each environment ([#22276](vitejs/vite#22276)) ([7c2aa3b](vitejs/vite@7c2aa3b))

##### Documentation

- **create-vite:** list react-compiler templates in README ([#22347](vitejs/vite#22347)) ([7c3a61f](vitejs/vite@7c3a61f))
- explain mergeConfig skips null/undefined ([#22325](vitejs/vite#22325)) ([2151f70](vitejs/vite@2151f70))
- mention native config loader in CLI options ([#22348](vitejs/vite#22348)) ([0420c5d](vitejs/vite@0420c5d))
- update evan's x handle ([640202a](vitejs/vite@640202a))

##### Miscellaneous Chores

- **deps:** update dependency tsdown to ^0.21.10 ([#22333](vitejs/vite#22333)) ([3b51e05](vitejs/vite@3b51e05))
- **deps:** update rolldown-related dependencies ([#22383](vitejs/vite#22383)) ([555ff36](vitejs/vite@555ff36))
- **deps:** update transitive packages to fix npm audit alerts ([#22316](vitejs/vite#22316)) ([86aee62](vitejs/vite@86aee62))

##### Code Refactoring

- devtools integration ([#22312](vitejs/vite#22312)) ([3c8bf06](vitejs/vite@3c8bf06))
- remove unnecessary async ([#22296](vitejs/vite#22296)) ([b31fd35](vitejs/vite@b31fd35))
- show direct path type in bad character warning ([#22339](vitejs/vite#22339)) ([0c162e9](vitejs/vite@0c162e9))

##### Tests

- **create-vite:** use short help alias ([#22389](vitejs/vite#22389)) ([994ab66](vitejs/vite@994ab66))
##### [v8.0.10](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8010-2026-04-23-small)

##### Features

- update rolldown to 1.0.0-rc.17 ([#22299](vitejs/vite#22299)) ([a4d06d9](vitejs/vite@a4d06d9))

##### Bug Fixes

- `hmrClient.logger.debug` and `hmrClient.logger.error` looked different from other HMR logs ([#22147](vitejs/vite#22147)) ([a4d828f](vitejs/vite@a4d828f))
- **css:** show filename in CSS minification warnings for `.css?inline` ([#22292](vitejs/vite#22292)) ([83f0a78](vitejs/vite@83f0a78))
- **optimizer:** allow user transform.target to override default in optimizeDeps ([#22273](vitejs/vite#22273)) ([5c7cec6](vitejs/vite@5c7cec6))
- remove format sniffing module resolution from JS resolver ([#22297](vitejs/vite#22297)) ([b8a21cc](vitejs/vite@b8a21cc))

##### Code Refactoring

- enable some typecheck rules ([#22278](vitejs/vite#22278)) ([9437518](vitejs/vite@9437518))
- typecheck client directory ([#22284](vitejs/vite#22284)) ([40a0847](vitejs/vite@40a0847))
##### [v8.0.9](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-809-2026-04-20-small)

##### Features

- update rolldown to 1.0.0-rc.16 ([#22248](vitejs/vite#22248)) ([2947edd](vitejs/vite@2947edd))

##### Bug Fixes

- allow binding when strictPort is set but wildcard port is in use ([#22150](vitejs/vite#22150)) ([dfc8aa5](vitejs/vite@dfc8aa5))
- **build:** emptyOutDir should happen for watch rebuilds ([#22207](vitejs/vite#22207)) ([ee52267](vitejs/vite@ee52267))
- **bundled-dev:** reject requests to HMR patch files in non potentially trustworthy origins ([#22269](vitejs/vite#22269)) ([868f141](vitejs/vite@868f141))
- **css:** use unique key for cssEntriesMap to prevent same-basename collision ([#22039](vitejs/vite#22039)) ([374bb5d](vitejs/vite@374bb5d))
- **deps:** update all non-major dependencies ([#22219](vitejs/vite#22219)) ([4cd0d67](vitejs/vite@4cd0d67))
- **deps:** update all non-major dependencies ([#22268](vitejs/vite#22268)) ([c28e9c1](vitejs/vite@c28e9c1))
- detect Deno workspace root (fix [#22237](vitejs/vite#22237)) ([#22238](vitejs/vite#22238)) ([1b793c0](vitejs/vite@1b793c0))
- **dev:** handle errors in `watchChange` hook ([#22188](vitejs/vite#22188)) ([fc08bda](vitejs/vite@fc08bda))
- **optimizer:** handle more chars that will be sanitized ([#22208](vitejs/vite#22208)) ([3f24533](vitejs/vite@3f24533))
- skip fallback sourcemap generation for `?raw` imports ([#22148](vitejs/vite#22148)) ([3ec9cda](vitejs/vite@3ec9cda))

##### Documentation

- align the descriptions in READMEs ([#22231](vitejs/vite#22231)) ([44c42b9](vitejs/vite@44c42b9))
- fix reuses wording in dev environment comment ([#22173](vitejs/vite#22173)) ([9163412](vitejs/vite@9163412))
- fix wording in sass error comment ([#22214](vitejs/vite#22214)) ([bc5c6a7](vitejs/vite@bc5c6a7))
- update build CLI defaults ([#22261](vitejs/vite#22261)) ([605bb97](vitejs/vite@605bb97))

##### Miscellaneous Chores

- **deps:** update dependency dotenv-expand to v13 ([#22271](vitejs/vite#22271)) ([0a3887d](vitejs/vite@0a3887d))
##### [v8.0.8](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-808-2026-04-09-small)

##### Features

- update rolldown to 1.0.0-rc.15 ([#22201](vitejs/vite#22201)) ([6baf587](vitejs/vite@6baf587))

##### Bug Fixes

- avoid `dns.getDefaultResultOrder` temporary ([#22202](vitejs/vite#22202)) ([15f1c15](vitejs/vite@15f1c15))
- **ssr:** class property keys hoisting matching imports ([#22199](vitejs/vite#22199)) ([e137601](vitejs/vite@e137601))
##### [v8.0.7](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-807-2026-04-07-small)

##### Bug Fixes

- use sync dns.getDefaultResultOrder instead of dns.promises ([#22185](vitejs/vite#22185)) ([5c05b04](vitejs/vite@5c05b04))
##### [v8.0.6](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-806-2026-04-07-small)

##### Features

- update rolldown to 1.0.0-rc.13 ([#22097](vitejs/vite#22097)) ([51d3e48](vitejs/vite@51d3e48))

##### Bug Fixes

- **css:** avoid mutating sass error multiple times ([#22115](vitejs/vite#22115)) ([d5081c2](vitejs/vite@d5081c2))
- **optimize-deps:** hoist CJS interop assignment ([#22156](vitejs/vite#22156)) ([17a8f9e](vitejs/vite@17a8f9e))

##### Performance Improvements

- early return in `getLocalhostAddressIfDiffersFromDNS` when DNS order is `verbatim` ([#22151](vitejs/vite#22151)) ([56ec256](vitejs/vite@56ec256))

##### Miscellaneous Chores

- **create-vite:** remove unnecessary DOM.Iterable ([#22168](vitejs/vite#22168)) ([bdc53ab](vitejs/vite@bdc53ab))
- replace remaining prettier script ([#22179](vitejs/vite#22179)) ([af71fb2](vitejs/vite@af71fb2))
##### [v8.0.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-805-2026-04-06-small)

##### Bug Fixes

- apply server.fs check to env transport ([#22159](vitejs/vite#22159)) ([f02d9fd](vitejs/vite@f02d9fd))
- avoid path traversal with optimize deps sourcemap handler ([#22161](vitejs/vite#22161)) ([79f002f](vitejs/vite@79f002f))
- check `server.fs` after stripping query as well ([#22160](vitejs/vite#22160)) ([a9a3df2](vitejs/vite@a9a3df2))
- disallow referencing files outside the package from sourcemap ([#22158](vitejs/vite#22158)) ([f05f501](vitejs/vite@f05f501))
##### [v8.0.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-804-2026-04-06-small)

##### Features

- allow esbuild 0.28 as peer deps ([#22155](vitejs/vite#22155)) ([b0da973](vitejs/vite@b0da973))
- **hmr:** truncate list of files on hmr update ([#21535](vitejs/vite#21535)) ([d00e806](vitejs/vite@d00e806))
- **optimizer:** log when dependency scanning or bundling takes over 1s ([#21797](vitejs/vite#21797)) ([f61a1ab](vitejs/vite@f61a1ab))

##### Bug Fixes

- `hasBothRollupOptionsAndRolldownOptions` should return `false` for proxy case ([#22043](vitejs/vite#22043)) ([99897d2](vitejs/vite@99897d2))
- add types for `vite/modulepreload-polyfill` ([#22126](vitejs/vite#22126)) ([17330d2](vitejs/vite@17330d2))
- **deps:** update all non-major dependencies ([#22073](vitejs/vite#22073)) ([6daa10f](vitejs/vite@6daa10f))
- **deps:** update all non-major dependencies ([#22143](vitejs/vite#22143)) ([22b0166](vitejs/vite@22b0166))
- **resolve:** resolve tsconfig paths starting with `#` ([#22038](vitejs/vite#22038)) ([3460fc5](vitejs/vite@3460fc5))
- **ssr:** use browser platform for webworker SSR builds (fix [#21969](vitejs/vite#21969)) ([#21963](vitejs/vite#21963)) ([364c227](vitejs/vite@364c227))

##### Documentation

- add `environment.fetchModule` documentation ([#22035](vitejs/vite#22035)) ([54229e7](vitejs/vite@54229e7))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#21989](vitejs/vite#21989)) ([0ded627](vitejs/vite@0ded627))

##### Code Refactoring

- upgrade to typescript 6 ([#22110](vitejs/vite#22110)) ([cc41398](vitejs/vite@cc41398))
##### [v8.0.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-803-2026-03-26-small)

##### Features

- update rolldown to 1.0.0-rc.12 ([#22024](vitejs/vite#22024)) ([84164ef](vitejs/vite@84164ef))

##### Bug Fixes

- **html:** cache unfiltered CSS list to prevent missing styles across entries ([#22017](vitejs/vite#22017)) ([5464190](vitejs/vite@5464190))
- **module-runner:** handle non-ascii characters in base64 sourcemaps ([#21985](vitejs/vite#21985)) ([77c95bf](vitejs/vite@77c95bf))
- **module-runner:** skip re-import if the runner is closed ([#22020](vitejs/vite#22020)) ([ee2c2cd](vitejs/vite@ee2c2cd))
- **optimizer:** scan is not resolving sub path import if used in a glob import ([#22018](vitejs/vite#22018)) ([ddfe20d](vitejs/vite@ddfe20d))
- **ssr:** ssrTransform incorrectly rewrites `meta` identifier inside `import.meta` when a binding named `meta` exists ([#22019](vitejs/vite#22019)) ([cff5f0c](vitejs/vite@cff5f0c))

##### Miscellaneous Chores

- **deps:** bump picomatch from 4.0.3 to 4.0.4 ([#22027](vitejs/vite#22027)) ([7e56003](vitejs/vite@7e56003))

##### Tests

- **html:** add tests for `getCssFilesForChunk` ([#22016](vitejs/vite#22016)) ([43fbbf9](vitejs/vite@43fbbf9))
##### [v8.0.2](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-802-2026-03-23-small)

##### Features

- update rolldown to 1.0.0-rc.11 ([#21998](vitejs/vite#21998)) ([ff91c31](vitejs/vite@ff91c31))

##### Bug Fixes

- **deps:** update all non-major dependencies ([#21988](vitejs/vite#21988)) ([9b7d150](vitejs/vite@9b7d150))

##### Miscellaneous Chores

- **deps:** update dependency [@vitejs/devtools](https://github.com/vitejs/devtools) to ^0.1.5 ([#21992](vitejs/vite#21992)) ([b2dd65b](vitejs/vite@b2dd65b))
##### [v8.0.1](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-801-2026-03-19-small)

##### Features

- update rolldown to 1.0.0-rc.10 ([#21932](vitejs/vite#21932)) ([b3c067d](vitejs/vite@b3c067d))

##### Bug Fixes

- **bundled-dev:** properly disable `inlineConst` optimization ([#21865](vitejs/vite#21865)) ([6d97142](vitejs/vite@6d97142))
- **css:** lightningcss minify failed when `build.target: 'es6'` ([#21933](vitejs/vite#21933)) ([5fcce46](vitejs/vite@5fcce46))
- **deps:** update all non-major dependencies ([#21878](vitejs/vite#21878)) ([6dbbd7f](vitejs/vite@6dbbd7f))
- **dev:** always use ESM Oxc runtime ([#21829](vitejs/vite#21829)) ([d323ed7](vitejs/vite@d323ed7))
- **dev:** handle concurrent restarts in `_createServer` ([#21810](vitejs/vite#21810)) ([40bc729](vitejs/vite@40bc729))
- handle `+` symbol in package subpath exports during dep optimization ([#21886](vitejs/vite#21886)) ([86db93d](vitejs/vite@86db93d))
- improve `no-cors` request block error ([#21902](vitejs/vite#21902)) ([5ba688b](vitejs/vite@5ba688b))
- use precise regexes for transform filter to avoid backtracking ([#21800](vitejs/vite#21800)) ([dbe41bd](vitejs/vite@dbe41bd))
- **worker:** `require(json)` result should not be wrapped ([#21847](vitejs/vite#21847)) ([0672fd2](vitejs/vite@0672fd2))
- **worker:** make worker output consistent with client and SSR ([#21871](vitejs/vite#21871)) ([69454d7](vitejs/vite@69454d7))

##### Miscellaneous Chores

- add changelog rearrange script ([#21835](vitejs/vite#21835)) ([efef073](vitejs/vite@efef073))
- **deps:** bump required `@vitejs/devtools` version to 0.1+ ([#21925](vitejs/vite#21925)) ([12932f5](vitejs/vite@12932f5))
- **deps:** update rolldown-related dependencies ([#21787](vitejs/vite#21787)) ([1af1d3a](vitejs/vite@1af1d3a))
- rearrange 8.0 changelog ([8e05b61](vitejs/vite@8e05b61))
- rearrange 8.0 changelog ([#21834](vitejs/vite#21834)) ([86edeee](vitejs/vite@86edeee))
##### [v8.0.0](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#800-2026-03-12)

##### Features

- update rolldown to 1.0.0-rc.9 ([#21813](vitejs/vite#21813)) ([f05be0e](vitejs/vite@f05be0e))
- warn when `vite-tsconfig-paths` plugin is detected ([#21781](vitejs/vite#21781)) ([ada493e](vitejs/vite@ada493e))

##### Bug Fixes

- **deps:** update all non-major dependencies ([#21786](vitejs/vite#21786)) ([eaa4352](vitejs/vite@eaa4352))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

p1-chore Doesn't change code behavior (priority)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants