Skip to content

fix(bundled-dev): map forwarded error stacks through the bundle source maps - #23741

Merged
h-a-n-a merged 2 commits into
mainfrom
fix/bundled-dev-forward-console-sourcemap
Oct 15, 2026
Merged

h-a-n-a merged 2 commits into
mainfrom
fix/bundled-dev-forward-console-sourcemap

Conversation

@h-a-n-a

@h-a-n-a h-a-n-a commented Oct 13, 2026 •

Copy link
Copy Markdown
Member

Serve sourcemap for bundled-dev for forwarded error stacks

@h-a-n-a
h-a-n-a force-pushed the fix/bundled-dev-forward-console-sourcemap branch from 74f95c3 to b9d26db Compare October 13, 2026 06:00
@h-a-n-a
h-a-n-a added this pull request to stack #23682 October 13, 2026 06:05
@h-a-n-a
h-a-n-a force-pushed the fix/bundled-dev-forward-console-sourcemap branch 2 times, most recently from c0441f2 to 64308ce Compare October 13, 2026 08:53
@h-a-n-a
h-a-n-a marked this pull request as ready for review October 13, 2026 09:02
@h-a-n-a
h-a-n-a requested a review from sapphi-red October 13, 2026 09:02
Base automatically changed from test/bundled-dev-skip-tags-environment-react-ssr to main October 13, 2026 09:09
@h-a-n-a
h-a-n-a force-pushed the fix/bundled-dev-forward-console-sourcemap branch from 64308ce to 95b63a7 Compare October 13, 2026 09:09
memoryFiles: MemoryFiles,
chunkPath: string,
) {
const outDir = getBundledDevOutDir(environment)

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.

I think we should calculate this value only once.

Comment on lines +127 to +129
if (memoryFiles) {
return !isInNodeModules(stack.file) && fs.existsSync(stack.file)
}

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.

Where did this !isInNodeModules(stack.file) come from?

@h-a-n-a h-a-n-a Oct 14, 2026 •

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I wrote this because I was trying to guess why we use module.transformResult as a hint to filter the modules in the stack. I thought it's a way to distinguish user code from vendor code. Then I did a deeper research just now and found out this might be a bug but happens to be working:

In plain dev, frames in node_modules never pass that check either, but only as a side effect:

  • a pre-bundled dep is mapped back to its original file, and the graph only has the .vite/deps copy so module.transformResult is not there, thus that stack is ignored.
  • a dep excluded from pre-bundling keeps the ?v= query in the frame path, so the lookup misses so that stack is ignored again.

But the result seems to be expected, based on my assumption by checking the behavior for plain dev, as we don't want user to work on vendor errors that are beyond our control so instead we use user code as the code frame.

Maybe we can use isInNodeModules here or use dev.sourcemapIgnoreList as its default is isInNodeModules as well.

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.

I see. I guess dev.sourcemapIgnoreList makes sense here.

@hi-ogawa Just in case, this is meant to find out the first user (authored) code, right?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Just in case, this is meant to find out the first user (authored) code, right?

Yes, that's the idea. To be honest, I'm not sure in practice whether showing user code stack is always better than showing the actual error source in dependency (or Vitest's node testing case it's external module), but Vitest error printing behavior was like this for a long time, so the same idea is ported to forward console.

@h-a-n-a
h-a-n-a force-pushed the fix/bundled-dev-forward-console-sourcemap branch from 4c1590b to 6b277b2 Compare October 15, 2026 03:34
@h-a-n-a
h-a-n-a merged commit 11fe1e4 into main Oct 15, 2026
30 of 31 checks passed
@h-a-n-a
h-a-n-a deleted the fix/bundled-dev-forward-console-sourcemap branch October 15, 2026 05:13
@github-actions github-actions Bot mentioned this pull request Oct 21, 2026
renovate Bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Oct 22, 2026
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | vite    | 8.3.0 | 8.3.5 |


## [v8.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-835-2026-10-21-small)

##### Bug Fixes

- **build:** handle missing chunk import maps ([#23777](vitejs/vite#23777)) ([8d7623d](vitejs/vite@8d7623d))
- **build:** include preload dependencies to chunk import map hashing ([#23793](vitejs/vite#23793)) ([4d16e7c](vitejs/vite@4d16e7c))
- **bundled-dev:** apply `server.origin` to asset URLs ([#23683](vitejs/vite#23683)) ([52ba877](vitejs/vite@52ba877))
- **bundled-dev:** declare utf-8 charset in fallback page ([#23846](vitejs/vite#23846)) ([197daf6](vitejs/vite@197daf6))
- **bundled-dev:** ignore build.chunkImportMap ([#23685](vitejs/vite#23685)) ([cfe917d](vitejs/vite@cfe917d))
- **bundled-dev:** include user `import.meta.env.*` defines in the `import.meta.env` object ([#23713](vitejs/vite#23713)) ([6019aa7](vitejs/vite@6019aa7))
- **bundled-dev:** map forwarded error stacks through the bundle source maps ([#23741](vitejs/vite#23741)) ([11fe1e4](vitejs/vite@11fe1e4))
- **bundled-dev:** normalize served output files ([#23684](vitejs/vite#23684)) ([df4e02c](vitejs/vite@df4e02c))
- **bundled-dev:** stop hmr propagation at modules that are no longer imported ([#23839](vitejs/vite#23839)) ([7471e8c](vitejs/vite@7471e8c))
- **css:** don't fail on a literal `%` in `url()` ([#23676](vitejs/vite#23676)) ([50b382d](vitejs/vite@50b382d))
- **deps:** update all non-major dependencies ([#23731](vitejs/vite#23731)) ([cf80aa5](vitejs/vite@cf80aa5))
- **deps:** update all non-major dependencies ([#23826](vitejs/vite#23826)) ([77d8373](vitejs/vite@77d8373))
- **deps:** update rolldown-related dependencies ([#23733](vitejs/vite#23733)) ([43f0d05](vitejs/vite@43f0d05))
- **deps:** update rolldown-related dependencies ([#23827](vitejs/vite#23827)) ([c2e0418](vitejs/vite@c2e0418))
- **optimizer:** fall back to yarn.lock for lockfile hash ([#23667](vitejs/vite#23667)) ([f206096](vitejs/vite@f206096))
- **optimizer:** scan `oxc.jsxInject` imports ([#23758](vitejs/vite#23758)) ([38f3cb4](vitejs/vite@38f3cb4))
- **optimizer:** skip patches dir check for yarn.lock fallback ([#23725](vitejs/vite#23725)) ([8e890e1](vitejs/vite@8e890e1))
- **optimizer:** skip patches dir hash for nub lockfile ([#23761](vitejs/vite#23761)) ([a7d5696](vitejs/vite@a7d5696))
- **resolve:** support subpath imports with multiple `#` ([#23631](vitejs/vite#23631)) ([0d86b34](vitejs/vite@0d86b34))
- **resolve:** update resolve.exports to 2.0.4 ([#23739](vitejs/vite#23739)) ([4ea708a](vitejs/vite@4ea708a))
- **server:** handle socket errors on upgrade requests not taken by the HMR server ([#23728](vitejs/vite#23728)) ([c2c9ef4](vitejs/vite@c2c9ef4))
- **server:** only strip base when path matches a full segment ([#23641](vitejs/vite#23641)) ([3dfde87](vitejs/vite@3dfde87))

##### Performance Improvements

- **ssr:** extract inline source maps without a regexp ([#23775](vitejs/vite#23775)) ([6a02780](vitejs/vite@6a02780))

##### Miscellaneous Chores

- migrate to Oxlint ([#23746](vitejs/vite#23746)) ([5b73935](vitejs/vite@5b73935))

##### Code Refactoring

- **deps:** replace `@vercel/detect-agent` with `std-env` ([#23744](vitejs/vite#23744)) ([ce4293f](vitejs/vite@ce4293f))
- **dev:** consolidate moduleURL to file path utilities ([#23828](vitejs/vite#23828)) ([df7b40e](vitejs/vite@df7b40e))
- **dev:** separate import resolution from URL conversion ([#23791](vitejs/vite#23791)) ([6116689](vitejs/vite@6116689))
- **dev:** share ModuleURL and BrowserURL conversions ([#23790](vitejs/vite#23790)) ([446954c](vitejs/vite@446954c))
- **dev:** use ModuleURLs throughout HTML transforms ([#23815](vitejs/vite#23815)) ([a162990](vitejs/vite@a162990))


## [v8.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-834-2026-10-08-small)

##### Features

- **bundled-dev:** support `import.meta.hot.acceptExports` ([#23463](vitejs/vite#23463)) ([bc0f21c](vitejs/vite@bc0f21c))

##### Bug Fixes

- avoid mutating hmr defaults (fix [#23575](vitejs/vite#23575)) ([#23576](vitejs/vite#23576)) ([574d5e3](vitejs/vite@574d5e3))
- **build:** correct preloads when chunkImportMap is enabled with non-root base ([#23698](vitejs/vite#23698)) ([2a8c0f0](vitejs/vite@2a8c0f0))
- **build:** wait for in-flight stylesheets in preload helper (fix [#23652](vitejs/vite#23652)) ([#23662](vitejs/vite#23662)) ([036b745](vitejs/vite@036b745))
- **bundled-dev:** serve `/@vite/client` and stub `@vite/env` ([#23664](vitejs/vite#23664)) ([5afc5a8](vitejs/vite@5afc5a8))
- **client:** skip rewriting unchanged adopted styles ([#23697](vitejs/vite#23697)) ([fa71469](vitejs/vite@fa71469))
- **css:** resolve imported preprocessors from their file path with lightningcss ([#23688](vitejs/vite#23688)) ([cf52011](vitejs/vite@cf52011))
- **deps:** update all non-major dependencies ([#23648](vitejs/vite#23648)) ([8a4c19c](vitejs/vite@8a4c19c))
- **deps:** update rolldown-related dependencies ([#23649](vitejs/vite#23649)) ([794516d](vitejs/vite@794516d))
- **dev:** a restart requested during a restart used to be dropped (fix [#23392](vitejs/vite#23392)) ([#23484](vitejs/vite#23484)) ([70d56ea](vitejs/vite@70d56ea))
- don't treat modules ending with js-like query as js ([#23687](vitejs/vite#23687)) ([fcb6f12](vitejs/vite@fcb6f12))
- **html:** avoid adding filesystem root to watcher ([#23689](vitejs/vite#23689)) ([3a7f2ae](vitejs/vite@3a7f2ae))
- **html:** skip caching CSS of chunks in a cycle (fix [#23628](vitejs/vite#23628)) ([#23636](vitejs/vite#23636)) ([15d82f7](vitejs/vite@15d82f7))
- **optimizer:** scan deep imports with custom extensions ([#23678](vitejs/vite#23678)) ([8579189](vitejs/vite@8579189))
- remove input option unescaping for now ([#23694](vitejs/vite#23694)) ([facc2fb](vitejs/vite@facc2fb))
- **server:** match static aliases on path boundaries ([#23643](vitejs/vite#23643)) ([b28db28](vitejs/vite@b28db28))
- **watcher:** normalize file before root check in `ensureWatchedFile` ([#23673](vitejs/vite#23673)) ([12bb28c](vitejs/vite@12bb28c))

##### Performance Improvements

- **module-runner:** skip cloning call sites that have no source map ([#23646](vitejs/vite#23646)) ([3d67486](vitejs/vite@3d67486))

##### Code Refactoring

- **bundled-dev:** import CSS HMR helpers from `/@vite/client` ([#23674](vitejs/vite#23674)) ([182f5b2](vitejs/vite@182f5b2))


## [v8.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-833-2026-10-06-small)

##### Bug Fixes

- **deps:** update launch-editor to v2.14.2 ([#23654](vitejs/vite#23654)) ([22fd1d5](vitejs/vite@22fd1d5))
- **html:** filename passed to transformIndexHtml should not include queries ([#23653](vitejs/vite#23653)) ([7dafd8e](vitejs/vite@7dafd8e))
- **server:** check `fs.serve` for `?vite-wasm-instance` ([#23655](vitejs/vite#23655)) ([ba8b7ab](vitejs/vite@ba8b7ab))
- **server:** store ids to `safeModulePaths` rather than URLs ([#23656](vitejs/vite#23656)) ([c3e06f9](vitejs/vite@c3e06f9))


## [v8.3.2](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-832-2026-10-01-small)

##### Bug Fixes

- **build:** preload CSS correctly when `renderBuiltUrl` returns URLs with queries ([#23611](vitejs/vite#23611)) ([64e0a21](vitejs/vite@64e0a21))
- **bundled-dev:** serve lazy chunk sourcemaps ([#23026](vitejs/vite#23026)) ([eb7aa9a](vitejs/vite@eb7aa9a))
- **bundled-dev:** serve the rolldown runtime from the installed rolldown ([#23568](vitejs/vite#23568)) ([bc598a6](vitejs/vite@bc598a6))
- **deps:** update all non-major dependencies ([#23601](vitejs/vite#23601)) ([9944fa6](vitejs/vite@9944fa6))
- **deps:** update rolldown-related dependencies ([#23602](vitejs/vite#23602)) ([88c1741](vitejs/vite@88c1741))
- **html:** resolve percent-encoded srcset urls ([#23609](vitejs/vite#23609)) ([53f1ce7](vitejs/vite@53f1ce7))
- limit size of object and array printing via `forwardConsole` ([#23565](vitejs/vite#23565)) ([e64a587](vitejs/vite@e64a587))
- merge `build.rolldownOptions.output.minify` correctly ([#23536](vitejs/vite#23536)) ([bba3bb8](vitejs/vite@bba3bb8))
- **optimize-deps:** avoid "unsupported" warnings for browser:false mappings ([#23590](vitejs/vite#23590)) ([5e4b9ca](vitejs/vite@5e4b9ca))
- **optimizer:** preserve excluded optional peer require fallbacks ([#23600](vitejs/vite#23600)) ([a2bd6fa](vitejs/vite@a2bd6fa))
- pass queries to `renderBuiltUrl` ([#23586](vitejs/vite#23586)) ([744269e](vitejs/vite@744269e))
- **server:** handle file watcher errors without crashing ([#23503](vitejs/vite#23503)) ([6894f5c](vitejs/vite@6894f5c))
- **server:** release previous environments after initialization ([#23499](vitejs/vite#23499)) ([5a3a010](vitejs/vite@5a3a010))
- **ssr:** encode whitespace in module runner sourceURL ([#23513](vitejs/vite#23513)) ([bbc8812](vitejs/vite@bbc8812))
- **worker:** align worker urls in client and server when using terser ([#23614](vitejs/vite#23614)) ([24bd331](vitejs/vite@24bd331))

##### Performance Improvements

- avoid encoding intermediate source maps ([#23461](vitejs/vite#23461)) ([89574f6](vitejs/vite@89574f6))
- **build:** avoid quadratic link scan in the preload helper ([#23510](vitejs/vite#23510)) ([cf5c028](vitejs/vite@cf5c028))
- only register time middleware when debug logging is enabled ([#23621](vitejs/vite#23621)) ([94d0080](vitejs/vite@94d0080))

##### Documentation

- fix dead og-image PNG links in vite6/vite7 changelog entries ([#23594](vitejs/vite#23594)) ([1929b4c](vitejs/vite@1929b4c))

##### Miscellaneous Chores

- **deps:** update vitest monorepo to v5 ([#23604](vitejs/vite#23604)) ([24339f4](vitejs/vite@24339f4))

##### Code Refactoring

- use `tinyexec` instead of `cross-spawn` ([#23583](vitejs/vite#23583)) ([db915e5](vitejs/vite@db915e5))

##### Tests

- **bundled-dev:** accept a rolldown dev runtime with no helper imports ([#23606](vitejs/vite#23606)) ([634745d](vitejs/vite@634745d))


## [v8.3.1](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-831-2026-09-24-small)

##### Bug Fixes

- **deps:** update all non-major dependencies ([#23482](vitejs/vite#23482)) ([3c752c8](vitejs/vite@3c752c8))
- **deps:** update all non-major dependencies ([#23537](vitejs/vite#23537)) ([e8990c4](vitejs/vite@e8990c4))
- **deps:** update rolldown-related dependencies ([#23483](vitejs/vite#23483)) ([9aecbbf](vitejs/vite@9aecbbf))
- handle `server.ws: false` in mergeConfig ([#23511](vitejs/vite#23511)) ([f68c0d5](vitejs/vite@f68c0d5))
- merge `build.rolldownOptions.output.comments` correctly ([#23514](vitejs/vite#23514)) ([4aba8d8](vitejs/vite@4aba8d8))
- **optimizer:** don't skip imports whose binding starts with type ([#23540](vitejs/vite#23540)) ([39330f4](vitejs/vite@39330f4))
- **optimizer:** resolve pending discovered dep processing on close before init ([#23567](vitejs/vite#23567)) ([5f89433](vitejs/vite@5f89433))
- **server:** avoid reinitializing watcher when adding file after server close ([#23572](vitejs/vite#23572)) ([6f831f9](vitejs/vite@6f831f9))
- **sourcemap:** skip URL source roots when injecting sources content ([#23519](vitejs/vite#23519)) ([04fc30a](vitejs/vite@04fc30a))

##### Miscellaneous Chores

- merge prereleases in changelog ([#23466](vitejs/vite#23466)) ([99bd9d1](vitejs/vite@99bd9d1))
- **optimizer:** add debug log when waiting for dep before init ([#23566](vitejs/vite#23566)) ([63567c7](vitejs/vite@63567c7))
- update `optimizeDeps.include` comment ([#23489](vitejs/vite#23489)) ([6a84c72](vitejs/vite@6a84c72))

##### Code Refactoring

- assets regexp use non-capture ([#23491](vitejs/vite#23491)) ([f4b4431](vitejs/vite@f4b4431))
- remove duplicate configurations ([#23532](vitejs/vite#23532)) ([9abd99b](vitejs/vite@9abd99b))
- replace `find` with `some` ([#23554](vitejs/vite#23554)) ([af7cdf6](vitejs/vite@af7cdf6))
renovate Bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Oct 24, 2026
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | vite    | 8.3.0 | 8.3.5 |


## [v8.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-835-2026-10-21-small)

##### Bug Fixes

- **build:** handle missing chunk import maps ([#23777](vitejs/vite#23777)) ([8d7623d](vitejs/vite@8d7623d))
- **build:** include preload dependencies to chunk import map hashing ([#23793](vitejs/vite#23793)) ([4d16e7c](vitejs/vite@4d16e7c))
- **bundled-dev:** apply `server.origin` to asset URLs ([#23683](vitejs/vite#23683)) ([52ba877](vitejs/vite@52ba877))
- **bundled-dev:** declare utf-8 charset in fallback page ([#23846](vitejs/vite#23846)) ([197daf6](vitejs/vite@197daf6))
- **bundled-dev:** ignore build.chunkImportMap ([#23685](vitejs/vite#23685)) ([cfe917d](vitejs/vite@cfe917d))
- **bundled-dev:** include user `import.meta.env.*` defines in the `import.meta.env` object ([#23713](vitejs/vite#23713)) ([6019aa7](vitejs/vite@6019aa7))
- **bundled-dev:** map forwarded error stacks through the bundle source maps ([#23741](vitejs/vite#23741)) ([11fe1e4](vitejs/vite@11fe1e4))
- **bundled-dev:** normalize served output files ([#23684](vitejs/vite#23684)) ([df4e02c](vitejs/vite@df4e02c))
- **bundled-dev:** stop hmr propagation at modules that are no longer imported ([#23839](vitejs/vite#23839)) ([7471e8c](vitejs/vite@7471e8c))
- **css:** don't fail on a literal `%` in `url()` ([#23676](vitejs/vite#23676)) ([50b382d](vitejs/vite@50b382d))
- **deps:** update all non-major dependencies ([#23731](vitejs/vite#23731)) ([cf80aa5](vitejs/vite@cf80aa5))
- **deps:** update all non-major dependencies ([#23826](vitejs/vite#23826)) ([77d8373](vitejs/vite@77d8373))
- **deps:** update rolldown-related dependencies ([#23733](vitejs/vite#23733)) ([43f0d05](vitejs/vite@43f0d05))
- **deps:** update rolldown-related dependencies ([#23827](vitejs/vite#23827)) ([c2e0418](vitejs/vite@c2e0418))
- **optimizer:** fall back to yarn.lock for lockfile hash ([#23667](vitejs/vite#23667)) ([f206096](vitejs/vite@f206096))
- **optimizer:** scan `oxc.jsxInject` imports ([#23758](vitejs/vite#23758)) ([38f3cb4](vitejs/vite@38f3cb4))
- **optimizer:** skip patches dir check for yarn.lock fallback ([#23725](vitejs/vite#23725)) ([8e890e1](vitejs/vite@8e890e1))
- **optimizer:** skip patches dir hash for nub lockfile ([#23761](vitejs/vite#23761)) ([a7d5696](vitejs/vite@a7d5696))
- **resolve:** support subpath imports with multiple `#` ([#23631](vitejs/vite#23631)) ([0d86b34](vitejs/vite@0d86b34))
- **resolve:** update resolve.exports to 2.0.4 ([#23739](vitejs/vite#23739)) ([4ea708a](vitejs/vite@4ea708a))
- **server:** handle socket errors on upgrade requests not taken by the HMR server ([#23728](vitejs/vite#23728)) ([c2c9ef4](vitejs/vite@c2c9ef4))
- **server:** only strip base when path matches a full segment ([#23641](vitejs/vite#23641)) ([3dfde87](vitejs/vite@3dfde87))

##### Performance Improvements

- **ssr:** extract inline source maps without a regexp ([#23775](vitejs/vite#23775)) ([6a02780](vitejs/vite@6a02780))

##### Miscellaneous Chores

- migrate to Oxlint ([#23746](vitejs/vite#23746)) ([5b73935](vitejs/vite@5b73935))

##### Code Refactoring

- **deps:** replace `@vercel/detect-agent` with `std-env` ([#23744](vitejs/vite#23744)) ([ce4293f](vitejs/vite@ce4293f))
- **dev:** consolidate moduleURL to file path utilities ([#23828](vitejs/vite#23828)) ([df7b40e](vitejs/vite@df7b40e))
- **dev:** separate import resolution from URL conversion ([#23791](vitejs/vite#23791)) ([6116689](vitejs/vite@6116689))
- **dev:** share ModuleURL and BrowserURL conversions ([#23790](vitejs/vite#23790)) ([446954c](vitejs/vite@446954c))
- **dev:** use ModuleURLs throughout HTML transforms ([#23815](vitejs/vite#23815)) ([a162990](vitejs/vite@a162990))


## [v8.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-834-2026-10-08-small)

##### Features

- **bundled-dev:** support `import.meta.hot.acceptExports` ([#23463](vitejs/vite#23463)) ([bc0f21c](vitejs/vite@bc0f21c))

##### Bug Fixes

- avoid mutating hmr defaults (fix [#23575](vitejs/vite#23575)) ([#23576](vitejs/vite#23576)) ([574d5e3](vitejs/vite@574d5e3))
- **build:** correct preloads when chunkImportMap is enabled with non-root base ([#23698](vitejs/vite#23698)) ([2a8c0f0](vitejs/vite@2a8c0f0))
- **build:** wait for in-flight stylesheets in preload helper (fix [#23652](vitejs/vite#23652)) ([#23662](vitejs/vite#23662)) ([036b745](vitejs/vite@036b745))
- **bundled-dev:** serve `/@vite/client` and stub `@vite/env` ([#23664](vitejs/vite#23664)) ([5afc5a8](vitejs/vite@5afc5a8))
- **client:** skip rewriting unchanged adopted styles ([#23697](vitejs/vite#23697)) ([fa71469](vitejs/vite@fa71469))
- **css:** resolve imported preprocessors from their file path with lightningcss ([#23688](vitejs/vite#23688)) ([cf52011](vitejs/vite@cf52011))
- **deps:** update all non-major dependencies ([#23648](vitejs/vite#23648)) ([8a4c19c](vitejs/vite@8a4c19c))
- **deps:** update rolldown-related dependencies ([#23649](vitejs/vite#23649)) ([794516d](vitejs/vite@794516d))
- **dev:** a restart requested during a restart used to be dropped (fix [#23392](vitejs/vite#23392)) ([#23484](vitejs/vite#23484)) ([70d56ea](vitejs/vite@70d56ea))
- don't treat modules ending with js-like query as js ([#23687](vitejs/vite#23687)) ([fcb6f12](vitejs/vite@fcb6f12))
- **html:** avoid adding filesystem root to watcher ([#23689](vitejs/vite#23689)) ([3a7f2ae](vitejs/vite@3a7f2ae))
- **html:** skip caching CSS of chunks in a cycle (fix [#23628](vitejs/vite#23628)) ([#23636](vitejs/vite#23636)) ([15d82f7](vitejs/vite@15d82f7))
- **optimizer:** scan deep imports with custom extensions ([#23678](vitejs/vite#23678)) ([8579189](vitejs/vite@8579189))
- remove input option unescaping for now ([#23694](vitejs/vite#23694)) ([facc2fb](vitejs/vite@facc2fb))
- **server:** match static aliases on path boundaries ([#23643](vitejs/vite#23643)) ([b28db28](vitejs/vite@b28db28))
- **watcher:** normalize file before root check in `ensureWatchedFile` ([#23673](vitejs/vite#23673)) ([12bb28c](vitejs/vite@12bb28c))

##### Performance Improvements

- **module-runner:** skip cloning call sites that have no source map ([#23646](vitejs/vite#23646)) ([3d67486](vitejs/vite@3d67486))

##### Code Refactoring

- **bundled-dev:** import CSS HMR helpers from `/@vite/client` ([#23674](vitejs/vite#23674)) ([182f5b2](vitejs/vite@182f5b2))


## [v8.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-833-2026-10-06-small)

##### Bug Fixes

- **deps:** update launch-editor to v2.14.2 ([#23654](vitejs/vite#23654)) ([22fd1d5](vitejs/vite@22fd1d5))
- **html:** filename passed to transformIndexHtml should not include queries ([#23653](vitejs/vite#23653)) ([7dafd8e](vitejs/vite@7dafd8e))
- **server:** check `fs.serve` for `?vite-wasm-instance` ([#23655](vitejs/vite#23655)) ([ba8b7ab](vitejs/vite@ba8b7ab))
- **server:** store ids to `safeModulePaths` rather than URLs ([#23656](vitejs/vite#23656)) ([c3e06f9](vitejs/vite@c3e06f9))


## [v8.3.2](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-832-2026-10-01-small)

##### Bug Fixes

- **build:** preload CSS correctly when `renderBuiltUrl` returns URLs with queries ([#23611](vitejs/vite#23611)) ([64e0a21](vitejs/vite@64e0a21))
- **bundled-dev:** serve lazy chunk sourcemaps ([#23026](vitejs/vite#23026)) ([eb7aa9a](vitejs/vite@eb7aa9a))
- **bundled-dev:** serve the rolldown runtime from the installed rolldown ([#23568](vitejs/vite#23568)) ([bc598a6](vitejs/vite@bc598a6))
- **deps:** update all non-major dependencies ([#23601](vitejs/vite#23601)) ([9944fa6](vitejs/vite@9944fa6))
- **deps:** update rolldown-related dependencies ([#23602](vitejs/vite#23602)) ([88c1741](vitejs/vite@88c1741))
- **html:** resolve percent-encoded srcset urls ([#23609](vitejs/vite#23609)) ([53f1ce7](vitejs/vite@53f1ce7))
- limit size of object and array printing via `forwardConsole` ([#23565](vitejs/vite#23565)) ([e64a587](vitejs/vite@e64a587))
- merge `build.rolldownOptions.output.minify` correctly ([#23536](vitejs/vite#23536)) ([bba3bb8](vitejs/vite@bba3bb8))
- **optimize-deps:** avoid "unsupported" warnings for browser:false mappings ([#23590](vitejs/vite#23590)) ([5e4b9ca](vitejs/vite@5e4b9ca))
- **optimizer:** preserve excluded optional peer require fallbacks ([#23600](vitejs/vite#23600)) ([a2bd6fa](vitejs/vite@a2bd6fa))
- pass queries to `renderBuiltUrl` ([#23586](vitejs/vite#23586)) ([744269e](vitejs/vite@744269e))
- **server:** handle file watcher errors without crashing ([#23503](vitejs/vite#23503)) ([6894f5c](vitejs/vite@6894f5c))
- **server:** release previous environments after initialization ([#23499](vitejs/vite#23499)) ([5a3a010](vitejs/vite@5a3a010))
- **ssr:** encode whitespace in module runner sourceURL ([#23513](vitejs/vite#23513)) ([bbc8812](vitejs/vite@bbc8812))
- **worker:** align worker urls in client and server when using terser ([#23614](vitejs/vite#23614)) ([24bd331](vitejs/vite@24bd331))

##### Performance Improvements

- avoid encoding intermediate source maps ([#23461](vitejs/vite#23461)) ([89574f6](vitejs/vite@89574f6))
- **build:** avoid quadratic link scan in the preload helper ([#23510](vitejs/vite#23510)) ([cf5c028](vitejs/vite@cf5c028))
- only register time middleware when debug logging is enabled ([#23621](vitejs/vite#23621)) ([94d0080](vitejs/vite@94d0080))

##### Documentation

- fix dead og-image PNG links in vite6/vite7 changelog entries ([#23594](vitejs/vite#23594)) ([1929b4c](vitejs/vite@1929b4c))

##### Miscellaneous Chores

- **deps:** update vitest monorepo to v5 ([#23604](vitejs/vite#23604)) ([24339f4](vitejs/vite@24339f4))

##### Code Refactoring

- use `tinyexec` instead of `cross-spawn` ([#23583](vitejs/vite#23583)) ([db915e5](vitejs/vite@db915e5))

##### Tests

- **bundled-dev:** accept a rolldown dev runtime with no helper imports ([#23606](vitejs/vite#23606)) ([634745d](vitejs/vite@634745d))


## [v8.3.1](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-831-2026-09-24-small)

##### Bug Fixes

- **deps:** update all non-major dependencies ([#23482](vitejs/vite#23482)) ([3c752c8](vitejs/vite@3c752c8))
- **deps:** update all non-major dependencies ([#23537](vitejs/vite#23537)) ([e8990c4](vitejs/vite@e8990c4))
- **deps:** update rolldown-related dependencies ([#23483](vitejs/vite#23483)) ([9aecbbf](vitejs/vite@9aecbbf))
- handle `server.ws: false` in mergeConfig ([#23511](vitejs/vite#23511)) ([f68c0d5](vitejs/vite@f68c0d5))
- merge `build.rolldownOptions.output.comments` correctly ([#23514](vitejs/vite#23514)) ([4aba8d8](vitejs/vite@4aba8d8))
- **optimizer:** don't skip imports whose binding starts with type ([#23540](vitejs/vite#23540)) ([39330f4](vitejs/vite@39330f4))
- **optimizer:** resolve pending discovered dep processing on close before init ([#23567](vitejs/vite#23567)) ([5f89433](vitejs/vite@5f89433))
- **server:** avoid reinitializing watcher when adding file after server close ([#23572](vitejs/vite#23572)) ([6f831f9](vitejs/vite@6f831f9))
- **sourcemap:** skip URL source roots when injecting sources content ([#23519](vitejs/vite#23519)) ([04fc30a](vitejs/vite@04fc30a))

##### Miscellaneous Chores

- merge prereleases in changelog ([#23466](vitejs/vite#23466)) ([99bd9d1](vitejs/vite@99bd9d1))
- **optimizer:** add debug log when waiting for dep before init ([#23566](vitejs/vite#23566)) ([63567c7](vitejs/vite@63567c7))
- update `optimizeDeps.include` comment ([#23489](vitejs/vite#23489)) ([6a84c72](vitejs/vite@6a84c72))

##### Code Refactoring

- assets regexp use non-capture ([#23491](vitejs/vite#23491)) ([f4b4431](vitejs/vite@f4b4431))
- remove duplicate configurations ([#23532](vitejs/vite#23532)) ([9abd99b](vitejs/vite@9abd99b))
- replace `find` with `some` ([#23554](vitejs/vite#23554)) ([af7cdf6](vitejs/vite@af7cdf6))
dadezzz pushed a commit to dadezzz/university_notes that referenced this pull request Oct 25, 2026
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [vite](https://vite.dev) ([source](https://github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`8.3.4` → `8.3.5`](https://renovatebot.com/diffs/npm/vite/8.3.4/8.3.5) | ![age](https://developer.mend.io/api/mc/badges/age/npm/vite/8.3.5?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/8.3.4/8.3.5?slim=true) |

---

### Release Notes

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

### [`v8.3.5`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-835-2026-10-21-small)

[Compare Source](vitejs/vite@v8.3.4...v8.3.5)

##### Bug Fixes

- **build:** handle missing chunk import maps ([#&#8203;23777](vitejs/vite#23777)) ([8d7623d](vitejs/vite@8d7623d))
- **build:** include preload dependencies to chunk import map hashing ([#&#8203;23793](vitejs/vite#23793)) ([4d16e7c](vitejs/vite@4d16e7c))
- **bundled-dev:** apply `server.origin` to asset URLs ([#&#8203;23683](vitejs/vite#23683)) ([52ba877](vitejs/vite@52ba877))
- **bundled-dev:** declare utf-8 charset in fallback page ([#&#8203;23846](vitejs/vite#23846)) ([197daf6](vitejs/vite@197daf6))
- **bundled-dev:** ignore build.chunkImportMap ([#&#8203;23685](vitejs/vite#23685)) ([cfe917d](vitejs/vite@cfe917d))
- **bundled-dev:** include user `import.meta.env.*` defines in the `import.meta.env` object ([#&#8203;23713](vitejs/vite#23713)) ([6019aa7](vitejs/vite@6019aa7))
- **bundled-dev:** map forwarded error stacks through the bundle source maps ([#&#8203;23741](vitejs/vite#23741)) ([11fe1e4](vitejs/vite@11fe1e4))
- **bundled-dev:** normalize served output files ([#&#8203;23684](vitejs/vite#23684)) ([df4e02c](vitejs/vite@df4e02c))
- **bundled-dev:** stop hmr propagation at modules that are no longer imported ([#&#8203;23839](vitejs/vite#23839)) ([7471e8c](vitejs/vite@7471e8c))
- **css:** don't fail on a literal `%` in `url()` ([#&#8203;23676](vitejs/vite#23676)) ([50b382d](vitejs/vite@50b382d))
- **deps:** update all non-major dependencies ([#&#8203;23731](vitejs/vite#23731)) ([cf80aa5](vitejs/vite@cf80aa5))
- **deps:** update all non-major dependencies ([#&#8203;23826](vitejs/vite#23826)) ([77d8373](vitejs/vite@77d8373))
- **deps:** update rolldown-related dependencies ([#&#8203;23733](vitejs/vite#23733)) ([43f0d05](vitejs/vite@43f0d05))
- **deps:** update rolldown-related dependencies ([#&#8203;23827](vitejs/vite#23827)) ([c2e0418](vitejs/vite@c2e0418))
- **optimizer:** fall back to yarn.lock for lockfile hash ([#&#8203;23667](vitejs/vite#23667)) ([f206096](vitejs/vite@f206096))
- **optimizer:** scan `oxc.jsxInject` imports ([#&#8203;23758](vitejs/vite#23758)) ([38f3cb4](vitejs/vite@38f3cb4))
- **optimizer:** skip patches dir check for yarn.lock fallback ([#&#8203;23725](vitejs/vite#23725)) ([8e890e1](vitejs/vite@8e890e1))
- **optimizer:** skip patches dir hash for nub lockfile ([#&#8203;23761](vitejs/vite#23761)) ([a7d5696](vitejs/vite@a7d5696))
- **resolve:** support subpath imports with multiple `#` ([#&#8203;23631](vitejs/vite#23631)) ([0d86b34](vitejs/vite@0d86b34))
- **resolve:** update resolve.exports to 2.0.4 ([#&#8203;23739](vitejs/vite#23739)) ([4ea708a](vitejs/vite@4ea708a))
- **server:** handle socket errors on upgrade requests not taken by the HMR server ([#&#8203;23728](vitejs/vite#23728)) ([c2c9ef4](vitejs/vite@c2c9ef4))
- **server:** only strip base when path matches a full segment ([#&#8203;23641](vitejs/vite#23641)) ([3dfde87](vitejs/vite@3dfde87))

##### Performance Improvements

- **ssr:** extract inline source maps without a regexp ([#&#8203;23775](vitejs/vite#23775)) ([6a02780](vitejs/vite@6a02780))

##### Miscellaneous Chores

- migrate to Oxlint ([#&#8203;23746](vitejs/vite#23746)) ([5b73935](vitejs/vite@5b73935))

##### Code Refactoring

- **deps:** replace `@vercel/detect-agent` with `std-env` ([#&#8203;23744](vitejs/vite#23744)) ([ce4293f](vitejs/vite@ce4293f))
- **dev:** consolidate moduleURL to file path utilities ([#&#8203;23828](vitejs/vite#23828)) ([df7b40e](vitejs/vite@df7b40e))
- **dev:** separate import resolution from URL conversion ([#&#8203;23791](vitejs/vite#23791)) ([6116689](vitejs/vite@6116689))
- **dev:** share ModuleURL and BrowserURL conversions ([#&#8203;23790](vitejs/vite#23790)) ([446954c](vitejs/vite@446954c))
- **dev:** use ModuleURLs throughout HTML transforms ([#&#8203;23815](vitejs/vite#23815)) ([a162990](vitejs/vite@a162990))

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- 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.

🔕 **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 CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xODEuMSIsInVwZGF0ZWRJblZlciI6IjQ0LjE4MS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
dadezzz pushed a commit to dadezzz/events-cash-register that referenced this pull request Oct 25, 2026
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [vite](https://vite.dev) ([source](https://github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`8.3.4` → `8.3.5`](https://renovatebot.com/diffs/npm/vite/8.3.4/8.3.5) | ![age](https://developer.mend.io/api/mc/badges/age/npm/vite/8.3.5?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/8.3.4/8.3.5?slim=true) |

---

### Release Notes

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

### [`v8.3.5`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-835-2026-10-21-small)

[Compare Source](vitejs/vite@v8.3.4...v8.3.5)

##### Bug Fixes

- **build:** handle missing chunk import maps ([#&#8203;23777](vitejs/vite#23777)) ([8d7623d](vitejs/vite@8d7623d))
- **build:** include preload dependencies to chunk import map hashing ([#&#8203;23793](vitejs/vite#23793)) ([4d16e7c](vitejs/vite@4d16e7c))
- **bundled-dev:** apply `server.origin` to asset URLs ([#&#8203;23683](vitejs/vite#23683)) ([52ba877](vitejs/vite@52ba877))
- **bundled-dev:** declare utf-8 charset in fallback page ([#&#8203;23846](vitejs/vite#23846)) ([197daf6](vitejs/vite@197daf6))
- **bundled-dev:** ignore build.chunkImportMap ([#&#8203;23685](vitejs/vite#23685)) ([cfe917d](vitejs/vite@cfe917d))
- **bundled-dev:** include user `import.meta.env.*` defines in the `import.meta.env` object ([#&#8203;23713](vitejs/vite#23713)) ([6019aa7](vitejs/vite@6019aa7))
- **bundled-dev:** map forwarded error stacks through the bundle source maps ([#&#8203;23741](vitejs/vite#23741)) ([11fe1e4](vitejs/vite@11fe1e4))
- **bundled-dev:** normalize served output files ([#&#8203;23684](vitejs/vite#23684)) ([df4e02c](vitejs/vite@df4e02c))
- **bundled-dev:** stop hmr propagation at modules that are no longer imported ([#&#8203;23839](vitejs/vite#23839)) ([7471e8c](vitejs/vite@7471e8c))
- **css:** don't fail on a literal `%` in `url()` ([#&#8203;23676](vitejs/vite#23676)) ([50b382d](vitejs/vite@50b382d))
- **deps:** update all non-major dependencies ([#&#8203;23731](vitejs/vite#23731)) ([cf80aa5](vitejs/vite@cf80aa5))
- **deps:** update all non-major dependencies ([#&#8203;23826](vitejs/vite#23826)) ([77d8373](vitejs/vite@77d8373))
- **deps:** update rolldown-related dependencies ([#&#8203;23733](vitejs/vite#23733)) ([43f0d05](vitejs/vite@43f0d05))
- **deps:** update rolldown-related dependencies ([#&#8203;23827](vitejs/vite#23827)) ([c2e0418](vitejs/vite@c2e0418))
- **optimizer:** fall back to yarn.lock for lockfile hash ([#&#8203;23667](vitejs/vite#23667)) ([f206096](vitejs/vite@f206096))
- **optimizer:** scan `oxc.jsxInject` imports ([#&#8203;23758](vitejs/vite#23758)) ([38f3cb4](vitejs/vite@38f3cb4))
- **optimizer:** skip patches dir check for yarn.lock fallback ([#&#8203;23725](vitejs/vite#23725)) ([8e890e1](vitejs/vite@8e890e1))
- **optimizer:** skip patches dir hash for nub lockfile ([#&#8203;23761](vitejs/vite#23761)) ([a7d5696](vitejs/vite@a7d5696))
- **resolve:** support subpath imports with multiple `#` ([#&#8203;23631](vitejs/vite#23631)) ([0d86b34](vitejs/vite@0d86b34))
- **resolve:** update resolve.exports to 2.0.4 ([#&#8203;23739](vitejs/vite#23739)) ([4ea708a](vitejs/vite@4ea708a))
- **server:** handle socket errors on upgrade requests not taken by the HMR server ([#&#8203;23728](vitejs/vite#23728)) ([c2c9ef4](vitejs/vite@c2c9ef4))
- **server:** only strip base when path matches a full segment ([#&#8203;23641](vitejs/vite#23641)) ([3dfde87](vitejs/vite@3dfde87))

##### Performance Improvements

- **ssr:** extract inline source maps without a regexp ([#&#8203;23775](vitejs/vite#23775)) ([6a02780](vitejs/vite@6a02780))

##### Miscellaneous Chores

- migrate to Oxlint ([#&#8203;23746](vitejs/vite#23746)) ([5b73935](vitejs/vite@5b73935))

##### Code Refactoring

- **deps:** replace `@vercel/detect-agent` with `std-env` ([#&#8203;23744](vitejs/vite#23744)) ([ce4293f](vitejs/vite@ce4293f))
- **dev:** consolidate moduleURL to file path utilities ([#&#8203;23828](vitejs/vite#23828)) ([df7b40e](vitejs/vite@df7b40e))
- **dev:** separate import resolution from URL conversion ([#&#8203;23791](vitejs/vite#23791)) ([6116689](vitejs/vite@6116689))
- **dev:** share ModuleURL and BrowserURL conversions ([#&#8203;23790](vitejs/vite#23790)) ([446954c](vitejs/vite@446954c))
- **dev:** use ModuleURLs throughout HTML transforms ([#&#8203;23815](vitejs/vite#23815)) ([a162990](vitejs/vite@a162990))

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- 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.

🔕 **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 CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xODEuMSIsInVwZGF0ZWRJblZlciI6IjQ0LjE4MS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
renovate Bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Oct 30, 2026
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | vite    | 8.3.0 | 8.3.5 |


## [v8.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-835-2026-10-21-small)

##### Bug Fixes

- **build:** handle missing chunk import maps ([#23777](vitejs/vite#23777)) ([8d7623d](vitejs/vite@8d7623d))
- **build:** include preload dependencies to chunk import map hashing ([#23793](vitejs/vite#23793)) ([4d16e7c](vitejs/vite@4d16e7c))
- **bundled-dev:** apply `server.origin` to asset URLs ([#23683](vitejs/vite#23683)) ([52ba877](vitejs/vite@52ba877))
- **bundled-dev:** declare utf-8 charset in fallback page ([#23846](vitejs/vite#23846)) ([197daf6](vitejs/vite@197daf6))
- **bundled-dev:** ignore build.chunkImportMap ([#23685](vitejs/vite#23685)) ([cfe917d](vitejs/vite@cfe917d))
- **bundled-dev:** include user `import.meta.env.*` defines in the `import.meta.env` object ([#23713](vitejs/vite#23713)) ([6019aa7](vitejs/vite@6019aa7))
- **bundled-dev:** map forwarded error stacks through the bundle source maps ([#23741](vitejs/vite#23741)) ([11fe1e4](vitejs/vite@11fe1e4))
- **bundled-dev:** normalize served output files ([#23684](vitejs/vite#23684)) ([df4e02c](vitejs/vite@df4e02c))
- **bundled-dev:** stop hmr propagation at modules that are no longer imported ([#23839](vitejs/vite#23839)) ([7471e8c](vitejs/vite@7471e8c))
- **css:** don't fail on a literal `%` in `url()` ([#23676](vitejs/vite#23676)) ([50b382d](vitejs/vite@50b382d))
- **deps:** update all non-major dependencies ([#23731](vitejs/vite#23731)) ([cf80aa5](vitejs/vite@cf80aa5))
- **deps:** update all non-major dependencies ([#23826](vitejs/vite#23826)) ([77d8373](vitejs/vite@77d8373))
- **deps:** update rolldown-related dependencies ([#23733](vitejs/vite#23733)) ([43f0d05](vitejs/vite@43f0d05))
- **deps:** update rolldown-related dependencies ([#23827](vitejs/vite#23827)) ([c2e0418](vitejs/vite@c2e0418))
- **optimizer:** fall back to yarn.lock for lockfile hash ([#23667](vitejs/vite#23667)) ([f206096](vitejs/vite@f206096))
- **optimizer:** scan `oxc.jsxInject` imports ([#23758](vitejs/vite#23758)) ([38f3cb4](vitejs/vite@38f3cb4))
- **optimizer:** skip patches dir check for yarn.lock fallback ([#23725](vitejs/vite#23725)) ([8e890e1](vitejs/vite@8e890e1))
- **optimizer:** skip patches dir hash for nub lockfile ([#23761](vitejs/vite#23761)) ([a7d5696](vitejs/vite@a7d5696))
- **resolve:** support subpath imports with multiple `#` ([#23631](vitejs/vite#23631)) ([0d86b34](vitejs/vite@0d86b34))
- **resolve:** update resolve.exports to 2.0.4 ([#23739](vitejs/vite#23739)) ([4ea708a](vitejs/vite@4ea708a))
- **server:** handle socket errors on upgrade requests not taken by the HMR server ([#23728](vitejs/vite#23728)) ([c2c9ef4](vitejs/vite@c2c9ef4))
- **server:** only strip base when path matches a full segment ([#23641](vitejs/vite#23641)) ([3dfde87](vitejs/vite@3dfde87))

##### Performance Improvements

- **ssr:** extract inline source maps without a regexp ([#23775](vitejs/vite#23775)) ([6a02780](vitejs/vite@6a02780))

##### Miscellaneous Chores

- migrate to Oxlint ([#23746](vitejs/vite#23746)) ([5b73935](vitejs/vite@5b73935))

##### Code Refactoring

- **deps:** replace `@vercel/detect-agent` with `std-env` ([#23744](vitejs/vite#23744)) ([ce4293f](vitejs/vite@ce4293f))
- **dev:** consolidate moduleURL to file path utilities ([#23828](vitejs/vite#23828)) ([df7b40e](vitejs/vite@df7b40e))
- **dev:** separate import resolution from URL conversion ([#23791](vitejs/vite#23791)) ([6116689](vitejs/vite@6116689))
- **dev:** share ModuleURL and BrowserURL conversions ([#23790](vitejs/vite#23790)) ([446954c](vitejs/vite@446954c))
- **dev:** use ModuleURLs throughout HTML transforms ([#23815](vitejs/vite#23815)) ([a162990](vitejs/vite@a162990))


## [v8.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-834-2026-10-08-small)

##### Features

- **bundled-dev:** support `import.meta.hot.acceptExports` ([#23463](vitejs/vite#23463)) ([bc0f21c](vitejs/vite@bc0f21c))

##### Bug Fixes

- avoid mutating hmr defaults (fix [#23575](vitejs/vite#23575)) ([#23576](vitejs/vite#23576)) ([574d5e3](vitejs/vite@574d5e3))
- **build:** correct preloads when chunkImportMap is enabled with non-root base ([#23698](vitejs/vite#23698)) ([2a8c0f0](vitejs/vite@2a8c0f0))
- **build:** wait for in-flight stylesheets in preload helper (fix [#23652](vitejs/vite#23652)) ([#23662](vitejs/vite#23662)) ([036b745](vitejs/vite@036b745))
- **bundled-dev:** serve `/@vite/client` and stub `@vite/env` ([#23664](vitejs/vite#23664)) ([5afc5a8](vitejs/vite@5afc5a8))
- **client:** skip rewriting unchanged adopted styles ([#23697](vitejs/vite#23697)) ([fa71469](vitejs/vite@fa71469))
- **css:** resolve imported preprocessors from their file path with lightningcss ([#23688](vitejs/vite#23688)) ([cf52011](vitejs/vite@cf52011))
- **deps:** update all non-major dependencies ([#23648](vitejs/vite#23648)) ([8a4c19c](vitejs/vite@8a4c19c))
- **deps:** update rolldown-related dependencies ([#23649](vitejs/vite#23649)) ([794516d](vitejs/vite@794516d))
- **dev:** a restart requested during a restart used to be dropped (fix [#23392](vitejs/vite#23392)) ([#23484](vitejs/vite#23484)) ([70d56ea](vitejs/vite@70d56ea))
- don't treat modules ending with js-like query as js ([#23687](vitejs/vite#23687)) ([fcb6f12](vitejs/vite@fcb6f12))
- **html:** avoid adding filesystem root to watcher ([#23689](vitejs/vite#23689)) ([3a7f2ae](vitejs/vite@3a7f2ae))
- **html:** skip caching CSS of chunks in a cycle (fix [#23628](vitejs/vite#23628)) ([#23636](vitejs/vite#23636)) ([15d82f7](vitejs/vite@15d82f7))
- **optimizer:** scan deep imports with custom extensions ([#23678](vitejs/vite#23678)) ([8579189](vitejs/vite@8579189))
- remove input option unescaping for now ([#23694](vitejs/vite#23694)) ([facc2fb](vitejs/vite@facc2fb))
- **server:** match static aliases on path boundaries ([#23643](vitejs/vite#23643)) ([b28db28](vitejs/vite@b28db28))
- **watcher:** normalize file before root check in `ensureWatchedFile` ([#23673](vitejs/vite#23673)) ([12bb28c](vitejs/vite@12bb28c))

##### Performance Improvements

- **module-runner:** skip cloning call sites that have no source map ([#23646](vitejs/vite#23646)) ([3d67486](vitejs/vite@3d67486))

##### Code Refactoring

- **bundled-dev:** import CSS HMR helpers from `/@vite/client` ([#23674](vitejs/vite#23674)) ([182f5b2](vitejs/vite@182f5b2))


## [v8.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-833-2026-10-06-small)

##### Bug Fixes

- **deps:** update launch-editor to v2.14.2 ([#23654](vitejs/vite#23654)) ([22fd1d5](vitejs/vite@22fd1d5))
- **html:** filename passed to transformIndexHtml should not include queries ([#23653](vitejs/vite#23653)) ([7dafd8e](vitejs/vite@7dafd8e))
- **server:** check `fs.serve` for `?vite-wasm-instance` ([#23655](vitejs/vite#23655)) ([ba8b7ab](vitejs/vite@ba8b7ab))
- **server:** store ids to `safeModulePaths` rather than URLs ([#23656](vitejs/vite#23656)) ([c3e06f9](vitejs/vite@c3e06f9))


## [v8.3.2](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-832-2026-10-01-small)

##### Bug Fixes

- **build:** preload CSS correctly when `renderBuiltUrl` returns URLs with queries ([#23611](vitejs/vite#23611)) ([64e0a21](vitejs/vite@64e0a21))
- **bundled-dev:** serve lazy chunk sourcemaps ([#23026](vitejs/vite#23026)) ([eb7aa9a](vitejs/vite@eb7aa9a))
- **bundled-dev:** serve the rolldown runtime from the installed rolldown ([#23568](vitejs/vite#23568)) ([bc598a6](vitejs/vite@bc598a6))
- **deps:** update all non-major dependencies ([#23601](vitejs/vite#23601)) ([9944fa6](vitejs/vite@9944fa6))
- **deps:** update rolldown-related dependencies ([#23602](vitejs/vite#23602)) ([88c1741](vitejs/vite@88c1741))
- **html:** resolve percent-encoded srcset urls ([#23609](vitejs/vite#23609)) ([53f1ce7](vitejs/vite@53f1ce7))
- limit size of object and array printing via `forwardConsole` ([#23565](vitejs/vite#23565)) ([e64a587](vitejs/vite@e64a587))
- merge `build.rolldownOptions.output.minify` correctly ([#23536](vitejs/vite#23536)) ([bba3bb8](vitejs/vite@bba3bb8))
- **optimize-deps:** avoid "unsupported" warnings for browser:false mappings ([#23590](vitejs/vite#23590)) ([5e4b9ca](vitejs/vite@5e4b9ca))
- **optimizer:** preserve excluded optional peer require fallbacks ([#23600](vitejs/vite#23600)) ([a2bd6fa](vitejs/vite@a2bd6fa))
- pass queries to `renderBuiltUrl` ([#23586](vitejs/vite#23586)) ([744269e](vitejs/vite@744269e))
- **server:** handle file watcher errors without crashing ([#23503](vitejs/vite#23503)) ([6894f5c](vitejs/vite@6894f5c))
- **server:** release previous environments after initialization ([#23499](vitejs/vite#23499)) ([5a3a010](vitejs/vite@5a3a010))
- **ssr:** encode whitespace in module runner sourceURL ([#23513](vitejs/vite#23513)) ([bbc8812](vitejs/vite@bbc8812))
- **worker:** align worker urls in client and server when using terser ([#23614](vitejs/vite#23614)) ([24bd331](vitejs/vite@24bd331))

##### Performance Improvements

- avoid encoding intermediate source maps ([#23461](vitejs/vite#23461)) ([89574f6](vitejs/vite@89574f6))
- **build:** avoid quadratic link scan in the preload helper ([#23510](vitejs/vite#23510)) ([cf5c028](vitejs/vite@cf5c028))
- only register time middleware when debug logging is enabled ([#23621](vitejs/vite#23621)) ([94d0080](vitejs/vite@94d0080))

##### Documentation

- fix dead og-image PNG links in vite6/vite7 changelog entries ([#23594](vitejs/vite#23594)) ([1929b4c](vitejs/vite@1929b4c))

##### Miscellaneous Chores

- **deps:** update vitest monorepo to v5 ([#23604](vitejs/vite#23604)) ([24339f4](vitejs/vite@24339f4))

##### Code Refactoring

- use `tinyexec` instead of `cross-spawn` ([#23583](vitejs/vite#23583)) ([db915e5](vitejs/vite@db915e5))

##### Tests

- **bundled-dev:** accept a rolldown dev runtime with no helper imports ([#23606](vitejs/vite#23606)) ([634745d](vitejs/vite@634745d))


## [v8.3.1](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-831-2026-09-24-small)

##### Bug Fixes

- **deps:** update all non-major dependencies ([#23482](vitejs/vite#23482)) ([3c752c8](vitejs/vite@3c752c8))
- **deps:** update all non-major dependencies ([#23537](vitejs/vite#23537)) ([e8990c4](vitejs/vite@e8990c4))
- **deps:** update rolldown-related dependencies ([#23483](vitejs/vite#23483)) ([9aecbbf](vitejs/vite@9aecbbf))
- handle `server.ws: false` in mergeConfig ([#23511](vitejs/vite#23511)) ([f68c0d5](vitejs/vite@f68c0d5))
- merge `build.rolldownOptions.output.comments` correctly ([#23514](vitejs/vite#23514)) ([4aba8d8](vitejs/vite@4aba8d8))
- **optimizer:** don't skip imports whose binding starts with type ([#23540](vitejs/vite#23540)) ([39330f4](vitejs/vite@39330f4))
- **optimizer:** resolve pending discovered dep processing on close before init ([#23567](vitejs/vite#23567)) ([5f89433](vitejs/vite@5f89433))
- **server:** avoid reinitializing watcher when adding file after server close ([#23572](vitejs/vite#23572)) ([6f831f9](vitejs/vite@6f831f9))
- **sourcemap:** skip URL source roots when injecting sources content ([#23519](vitejs/vite#23519)) ([04fc30a](vitejs/vite@04fc30a))

##### Miscellaneous Chores

- merge prereleases in changelog ([#23466](vitejs/vite#23466)) ([99bd9d1](vitejs/vite@99bd9d1))
- **optimizer:** add debug log when waiting for dep before init ([#23566](vitejs/vite#23566)) ([63567c7](vitejs/vite@63567c7))
- update `optimizeDeps.include` comment ([#23489](vitejs/vite#23489)) ([6a84c72](vitejs/vite@6a84c72))

##### Code Refactoring

- assets regexp use non-capture ([#23491](vitejs/vite#23491)) ([f4b4431](vitejs/vite@f4b4431))
- remove duplicate configurations ([#23532](vitejs/vite#23532)) ([9abd99b](vitejs/vite@9abd99b))
- replace `find` with `some` ([#23554](vitejs/vite#23554)) ([af7cdf6](vitejs/vite@af7cdf6))
renovate Bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Nov 1, 2026
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | vite    | 8.3.0 | 8.3.5 |


## [v8.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-835-2026-10-21-small)

##### Bug Fixes

- **build:** handle missing chunk import maps ([#23777](vitejs/vite#23777)) ([8d7623d](vitejs/vite@8d7623d))
- **build:** include preload dependencies to chunk import map hashing ([#23793](vitejs/vite#23793)) ([4d16e7c](vitejs/vite@4d16e7c))
- **bundled-dev:** apply `server.origin` to asset URLs ([#23683](vitejs/vite#23683)) ([52ba877](vitejs/vite@52ba877))
- **bundled-dev:** declare utf-8 charset in fallback page ([#23846](vitejs/vite#23846)) ([197daf6](vitejs/vite@197daf6))
- **bundled-dev:** ignore build.chunkImportMap ([#23685](vitejs/vite#23685)) ([cfe917d](vitejs/vite@cfe917d))
- **bundled-dev:** include user `import.meta.env.*` defines in the `import.meta.env` object ([#23713](vitejs/vite#23713)) ([6019aa7](vitejs/vite@6019aa7))
- **bundled-dev:** map forwarded error stacks through the bundle source maps ([#23741](vitejs/vite#23741)) ([11fe1e4](vitejs/vite@11fe1e4))
- **bundled-dev:** normalize served output files ([#23684](vitejs/vite#23684)) ([df4e02c](vitejs/vite@df4e02c))
- **bundled-dev:** stop hmr propagation at modules that are no longer imported ([#23839](vitejs/vite#23839)) ([7471e8c](vitejs/vite@7471e8c))
- **css:** don't fail on a literal `%` in `url()` ([#23676](vitejs/vite#23676)) ([50b382d](vitejs/vite@50b382d))
- **deps:** update all non-major dependencies ([#23731](vitejs/vite#23731)) ([cf80aa5](vitejs/vite@cf80aa5))
- **deps:** update all non-major dependencies ([#23826](vitejs/vite#23826)) ([77d8373](vitejs/vite@77d8373))
- **deps:** update rolldown-related dependencies ([#23733](vitejs/vite#23733)) ([43f0d05](vitejs/vite@43f0d05))
- **deps:** update rolldown-related dependencies ([#23827](vitejs/vite#23827)) ([c2e0418](vitejs/vite@c2e0418))
- **optimizer:** fall back to yarn.lock for lockfile hash ([#23667](vitejs/vite#23667)) ([f206096](vitejs/vite@f206096))
- **optimizer:** scan `oxc.jsxInject` imports ([#23758](vitejs/vite#23758)) ([38f3cb4](vitejs/vite@38f3cb4))
- **optimizer:** skip patches dir check for yarn.lock fallback ([#23725](vitejs/vite#23725)) ([8e890e1](vitejs/vite@8e890e1))
- **optimizer:** skip patches dir hash for nub lockfile ([#23761](vitejs/vite#23761)) ([a7d5696](vitejs/vite@a7d5696))
- **resolve:** support subpath imports with multiple `#` ([#23631](vitejs/vite#23631)) ([0d86b34](vitejs/vite@0d86b34))
- **resolve:** update resolve.exports to 2.0.4 ([#23739](vitejs/vite#23739)) ([4ea708a](vitejs/vite@4ea708a))
- **server:** handle socket errors on upgrade requests not taken by the HMR server ([#23728](vitejs/vite#23728)) ([c2c9ef4](vitejs/vite@c2c9ef4))
- **server:** only strip base when path matches a full segment ([#23641](vitejs/vite#23641)) ([3dfde87](vitejs/vite@3dfde87))

##### Performance Improvements

- **ssr:** extract inline source maps without a regexp ([#23775](vitejs/vite#23775)) ([6a02780](vitejs/vite@6a02780))

##### Miscellaneous Chores

- migrate to Oxlint ([#23746](vitejs/vite#23746)) ([5b73935](vitejs/vite@5b73935))

##### Code Refactoring

- **deps:** replace `@vercel/detect-agent` with `std-env` ([#23744](vitejs/vite#23744)) ([ce4293f](vitejs/vite@ce4293f))
- **dev:** consolidate moduleURL to file path utilities ([#23828](vitejs/vite#23828)) ([df7b40e](vitejs/vite@df7b40e))
- **dev:** separate import resolution from URL conversion ([#23791](vitejs/vite#23791)) ([6116689](vitejs/vite@6116689))
- **dev:** share ModuleURL and BrowserURL conversions ([#23790](vitejs/vite#23790)) ([446954c](vitejs/vite@446954c))
- **dev:** use ModuleURLs throughout HTML transforms ([#23815](vitejs/vite#23815)) ([a162990](vitejs/vite@a162990))


## [v8.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-834-2026-10-08-small)

##### Features

- **bundled-dev:** support `import.meta.hot.acceptExports` ([#23463](vitejs/vite#23463)) ([bc0f21c](vitejs/vite@bc0f21c))

##### Bug Fixes

- avoid mutating hmr defaults (fix [#23575](vitejs/vite#23575)) ([#23576](vitejs/vite#23576)) ([574d5e3](vitejs/vite@574d5e3))
- **build:** correct preloads when chunkImportMap is enabled with non-root base ([#23698](vitejs/vite#23698)) ([2a8c0f0](vitejs/vite@2a8c0f0))
- **build:** wait for in-flight stylesheets in preload helper (fix [#23652](vitejs/vite#23652)) ([#23662](vitejs/vite#23662)) ([036b745](vitejs/vite@036b745))
- **bundled-dev:** serve `/@vite/client` and stub `@vite/env` ([#23664](vitejs/vite#23664)) ([5afc5a8](vitejs/vite@5afc5a8))
- **client:** skip rewriting unchanged adopted styles ([#23697](vitejs/vite#23697)) ([fa71469](vitejs/vite@fa71469))
- **css:** resolve imported preprocessors from their file path with lightningcss ([#23688](vitejs/vite#23688)) ([cf52011](vitejs/vite@cf52011))
- **deps:** update all non-major dependencies ([#23648](vitejs/vite#23648)) ([8a4c19c](vitejs/vite@8a4c19c))
- **deps:** update rolldown-related dependencies ([#23649](vitejs/vite#23649)) ([794516d](vitejs/vite@794516d))
- **dev:** a restart requested during a restart used to be dropped (fix [#23392](vitejs/vite#23392)) ([#23484](vitejs/vite#23484)) ([70d56ea](vitejs/vite@70d56ea))
- don't treat modules ending with js-like query as js ([#23687](vitejs/vite#23687)) ([fcb6f12](vitejs/vite@fcb6f12))
- **html:** avoid adding filesystem root to watcher ([#23689](vitejs/vite#23689)) ([3a7f2ae](vitejs/vite@3a7f2ae))
- **html:** skip caching CSS of chunks in a cycle (fix [#23628](vitejs/vite#23628)) ([#23636](vitejs/vite#23636)) ([15d82f7](vitejs/vite@15d82f7))
- **optimizer:** scan deep imports with custom extensions ([#23678](vitejs/vite#23678)) ([8579189](vitejs/vite@8579189))
- remove input option unescaping for now ([#23694](vitejs/vite#23694)) ([facc2fb](vitejs/vite@facc2fb))
- **server:** match static aliases on path boundaries ([#23643](vitejs/vite#23643)) ([b28db28](vitejs/vite@b28db28))
- **watcher:** normalize file before root check in `ensureWatchedFile` ([#23673](vitejs/vite#23673)) ([12bb28c](vitejs/vite@12bb28c))

##### Performance Improvements

- **module-runner:** skip cloning call sites that have no source map ([#23646](vitejs/vite#23646)) ([3d67486](vitejs/vite@3d67486))

##### Code Refactoring

- **bundled-dev:** import CSS HMR helpers from `/@vite/client` ([#23674](vitejs/vite#23674)) ([182f5b2](vitejs/vite@182f5b2))


## [v8.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-833-2026-10-06-small)

##### Bug Fixes

- **deps:** update launch-editor to v2.14.2 ([#23654](vitejs/vite#23654)) ([22fd1d5](vitejs/vite@22fd1d5))
- **html:** filename passed to transformIndexHtml should not include queries ([#23653](vitejs/vite#23653)) ([7dafd8e](vitejs/vite@7dafd8e))
- **server:** check `fs.serve` for `?vite-wasm-instance` ([#23655](vitejs/vite#23655)) ([ba8b7ab](vitejs/vite@ba8b7ab))
- **server:** store ids to `safeModulePaths` rather than URLs ([#23656](vitejs/vite#23656)) ([c3e06f9](vitejs/vite@c3e06f9))


## [v8.3.2](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-832-2026-10-01-small)

##### Bug Fixes

- **build:** preload CSS correctly when `renderBuiltUrl` returns URLs with queries ([#23611](vitejs/vite#23611)) ([64e0a21](vitejs/vite@64e0a21))
- **bundled-dev:** serve lazy chunk sourcemaps ([#23026](vitejs/vite#23026)) ([eb7aa9a](vitejs/vite@eb7aa9a))
- **bundled-dev:** serve the rolldown runtime from the installed rolldown ([#23568](vitejs/vite#23568)) ([bc598a6](vitejs/vite@bc598a6))
- **deps:** update all non-major dependencies ([#23601](vitejs/vite#23601)) ([9944fa6](vitejs/vite@9944fa6))
- **deps:** update rolldown-related dependencies ([#23602](vitejs/vite#23602)) ([88c1741](vitejs/vite@88c1741))
- **html:** resolve percent-encoded srcset urls ([#23609](vitejs/vite#23609)) ([53f1ce7](vitejs/vite@53f1ce7))
- limit size of object and array printing via `forwardConsole` ([#23565](vitejs/vite#23565)) ([e64a587](vitejs/vite@e64a587))
- merge `build.rolldownOptions.output.minify` correctly ([#23536](vitejs/vite#23536)) ([bba3bb8](vitejs/vite@bba3bb8))
- **optimize-deps:** avoid "unsupported" warnings for browser:false mappings ([#23590](vitejs/vite#23590)) ([5e4b9ca](vitejs/vite@5e4b9ca))
- **optimizer:** preserve excluded optional peer require fallbacks ([#23600](vitejs/vite#23600)) ([a2bd6fa](vitejs/vite@a2bd6fa))
- pass queries to `renderBuiltUrl` ([#23586](vitejs/vite#23586)) ([744269e](vitejs/vite@744269e))
- **server:** handle file watcher errors without crashing ([#23503](vitejs/vite#23503)) ([6894f5c](vitejs/vite@6894f5c))
- **server:** release previous environments after initialization ([#23499](vitejs/vite#23499)) ([5a3a010](vitejs/vite@5a3a010))
- **ssr:** encode whitespace in module runner sourceURL ([#23513](vitejs/vite#23513)) ([bbc8812](vitejs/vite@bbc8812))
- **worker:** align worker urls in client and server when using terser ([#23614](vitejs/vite#23614)) ([24bd331](vitejs/vite@24bd331))

##### Performance Improvements

- avoid encoding intermediate source maps ([#23461](vitejs/vite#23461)) ([89574f6](vitejs/vite@89574f6))
- **build:** avoid quadratic link scan in the preload helper ([#23510](vitejs/vite#23510)) ([cf5c028](vitejs/vite@cf5c028))
- only register time middleware when debug logging is enabled ([#23621](vitejs/vite#23621)) ([94d0080](vitejs/vite@94d0080))

##### Documentation

- fix dead og-image PNG links in vite6/vite7 changelog entries ([#23594](vitejs/vite#23594)) ([1929b4c](vitejs/vite@1929b4c))

##### Miscellaneous Chores

- **deps:** update vitest monorepo to v5 ([#23604](vitejs/vite#23604)) ([24339f4](vitejs/vite@24339f4))

##### Code Refactoring

- use `tinyexec` instead of `cross-spawn` ([#23583](vitejs/vite#23583)) ([db915e5](vitejs/vite@db915e5))

##### Tests

- **bundled-dev:** accept a rolldown dev runtime with no helper imports ([#23606](vitejs/vite#23606)) ([634745d](vitejs/vite@634745d))


## [v8.3.1](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-831-2026-09-24-small)

##### Bug Fixes

- **deps:** update all non-major dependencies ([#23482](vitejs/vite#23482)) ([3c752c8](vitejs/vite@3c752c8))
- **deps:** update all non-major dependencies ([#23537](vitejs/vite#23537)) ([e8990c4](vitejs/vite@e8990c4))
- **deps:** update rolldown-related dependencies ([#23483](vitejs/vite#23483)) ([9aecbbf](vitejs/vite@9aecbbf))
- handle `server.ws: false` in mergeConfig ([#23511](vitejs/vite#23511)) ([f68c0d5](vitejs/vite@f68c0d5))
- merge `build.rolldownOptions.output.comments` correctly ([#23514](vitejs/vite#23514)) ([4aba8d8](vitejs/vite@4aba8d8))
- **optimizer:** don't skip imports whose binding starts with type ([#23540](vitejs/vite#23540)) ([39330f4](vitejs/vite@39330f4))
- **optimizer:** resolve pending discovered dep processing on close before init ([#23567](vitejs/vite#23567)) ([5f89433](vitejs/vite@5f89433))
- **server:** avoid reinitializing watcher when adding file after server close ([#23572](vitejs/vite#23572)) ([6f831f9](vitejs/vite@6f831f9))
- **sourcemap:** skip URL source roots when injecting sources content ([#23519](vitejs/vite#23519)) ([04fc30a](vitejs/vite@04fc30a))

##### Miscellaneous Chores

- merge prereleases in changelog ([#23466](vitejs/vite#23466)) ([99bd9d1](vitejs/vite@99bd9d1))
- **optimizer:** add debug log when waiting for dep before init ([#23566](vitejs/vite#23566)) ([63567c7](vitejs/vite@63567c7))
- update `optimizeDeps.include` comment ([#23489](vitejs/vite#23489)) ([6a84c72](vitejs/vite@6a84c72))

##### Code Refactoring

- assets regexp use non-capture ([#23491](vitejs/vite#23491)) ([f4b4431](vitejs/vite@f4b4431))
- remove duplicate configurations ([#23532](vitejs/vite#23532)) ([9abd99b](vitejs/vite@9abd99b))
- replace `find` with `some` ([#23554](vitejs/vite#23554)) ([af7cdf6](vitejs/vite@af7cdf6))
renovate Bot added a commit to cigaleapp/cigale that referenced this pull request Nov 2, 2026
##### [v8.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-835-2026-10-21-small)

##### Bug Fixes

- **build:** handle missing chunk import maps ([#23777](vitejs/vite#23777)) ([8d7623d](vitejs/vite@8d7623d))
- **build:** include preload dependencies to chunk import map hashing ([#23793](vitejs/vite#23793)) ([4d16e7c](vitejs/vite@4d16e7c))
- **bundled-dev:** apply `server.origin` to asset URLs ([#23683](vitejs/vite#23683)) ([52ba877](vitejs/vite@52ba877))
- **bundled-dev:** declare utf-8 charset in fallback page ([#23846](vitejs/vite#23846)) ([197daf6](vitejs/vite@197daf6))
- **bundled-dev:** ignore build.chunkImportMap ([#23685](vitejs/vite#23685)) ([cfe917d](vitejs/vite@cfe917d))
- **bundled-dev:** include user `import.meta.env.*` defines in the `import.meta.env` object ([#23713](vitejs/vite#23713)) ([6019aa7](vitejs/vite@6019aa7))
- **bundled-dev:** map forwarded error stacks through the bundle source maps ([#23741](vitejs/vite#23741)) ([11fe1e4](vitejs/vite@11fe1e4))
- **bundled-dev:** normalize served output files ([#23684](vitejs/vite#23684)) ([df4e02c](vitejs/vite@df4e02c))
- **bundled-dev:** stop hmr propagation at modules that are no longer imported ([#23839](vitejs/vite#23839)) ([7471e8c](vitejs/vite@7471e8c))
- **css:** don't fail on a literal `%` in `url()` ([#23676](vitejs/vite#23676)) ([50b382d](vitejs/vite@50b382d))
- **deps:** update all non-major dependencies ([#23731](vitejs/vite#23731)) ([cf80aa5](vitejs/vite@cf80aa5))
- **deps:** update all non-major dependencies ([#23826](vitejs/vite#23826)) ([77d8373](vitejs/vite@77d8373))
- **deps:** update rolldown-related dependencies ([#23733](vitejs/vite#23733)) ([43f0d05](vitejs/vite@43f0d05))
- **deps:** update rolldown-related dependencies ([#23827](vitejs/vite#23827)) ([c2e0418](vitejs/vite@c2e0418))
- **optimizer:** fall back to yarn.lock for lockfile hash ([#23667](vitejs/vite#23667)) ([f206096](vitejs/vite@f206096))
- **optimizer:** scan `oxc.jsxInject` imports ([#23758](vitejs/vite#23758)) ([38f3cb4](vitejs/vite@38f3cb4))
- **optimizer:** skip patches dir check for yarn.lock fallback ([#23725](vitejs/vite#23725)) ([8e890e1](vitejs/vite@8e890e1))
- **optimizer:** skip patches dir hash for nub lockfile ([#23761](vitejs/vite#23761)) ([a7d5696](vitejs/vite@a7d5696))
- **resolve:** support subpath imports with multiple `#` ([#23631](vitejs/vite#23631)) ([0d86b34](vitejs/vite@0d86b34))
- **resolve:** update resolve.exports to 2.0.4 ([#23739](vitejs/vite#23739)) ([4ea708a](vitejs/vite@4ea708a))
- **server:** handle socket errors on upgrade requests not taken by the HMR server ([#23728](vitejs/vite#23728)) ([c2c9ef4](vitejs/vite@c2c9ef4))
- **server:** only strip base when path matches a full segment ([#23641](vitejs/vite#23641)) ([3dfde87](vitejs/vite@3dfde87))

##### Performance Improvements

- **ssr:** extract inline source maps without a regexp ([#23775](vitejs/vite#23775)) ([6a02780](vitejs/vite@6a02780))

##### Miscellaneous Chores

- migrate to Oxlint ([#23746](vitejs/vite#23746)) ([5b73935](vitejs/vite@5b73935))

##### Code Refactoring

- **deps:** replace `@vercel/detect-agent` with `std-env` ([#23744](vitejs/vite#23744)) ([ce4293f](vitejs/vite@ce4293f))
- **dev:** consolidate moduleURL to file path utilities ([#23828](vitejs/vite#23828)) ([df7b40e](vitejs/vite@df7b40e))
- **dev:** separate import resolution from URL conversion ([#23791](vitejs/vite#23791)) ([6116689](vitejs/vite@6116689))
- **dev:** share ModuleURL and BrowserURL conversions ([#23790](vitejs/vite#23790)) ([446954c](vitejs/vite@446954c))
- **dev:** use ModuleURLs throughout HTML transforms ([#23815](vitejs/vite#23815)) ([a162990](vitejs/vite@a162990))
##### [v8.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-834-2026-10-08-small)

##### Features

- **bundled-dev:** support `import.meta.hot.acceptExports` ([#23463](vitejs/vite#23463)) ([bc0f21c](vitejs/vite@bc0f21c))

##### Bug Fixes

- avoid mutating hmr defaults (fix [#23575](vitejs/vite#23575)) ([#23576](vitejs/vite#23576)) ([574d5e3](vitejs/vite@574d5e3))
- **build:** correct preloads when chunkImportMap is enabled with non-root base ([#23698](vitejs/vite#23698)) ([2a8c0f0](vitejs/vite@2a8c0f0))
- **build:** wait for in-flight stylesheets in preload helper (fix [#23652](vitejs/vite#23652)) ([#23662](vitejs/vite#23662)) ([036b745](vitejs/vite@036b745))
- **bundled-dev:** serve `/@vite/client` and stub `@vite/env` ([#23664](vitejs/vite#23664)) ([5afc5a8](vitejs/vite@5afc5a8))
- **client:** skip rewriting unchanged adopted styles ([#23697](vitejs/vite#23697)) ([fa71469](vitejs/vite@fa71469))
- **css:** resolve imported preprocessors from their file path with lightningcss ([#23688](vitejs/vite#23688)) ([cf52011](vitejs/vite@cf52011))
- **deps:** update all non-major dependencies ([#23648](vitejs/vite#23648)) ([8a4c19c](vitejs/vite@8a4c19c))
- **deps:** update rolldown-related dependencies ([#23649](vitejs/vite#23649)) ([794516d](vitejs/vite@794516d))
- **dev:** a restart requested during a restart used to be dropped (fix [#23392](vitejs/vite#23392)) ([#23484](vitejs/vite#23484)) ([70d56ea](vitejs/vite@70d56ea))
- don't treat modules ending with js-like query as js ([#23687](vitejs/vite#23687)) ([fcb6f12](vitejs/vite@fcb6f12))
- **html:** avoid adding filesystem root to watcher ([#23689](vitejs/vite#23689)) ([3a7f2ae](vitejs/vite@3a7f2ae))
- **html:** skip caching CSS of chunks in a cycle (fix [#23628](vitejs/vite#23628)) ([#23636](vitejs/vite#23636)) ([15d82f7](vitejs/vite@15d82f7))
- **optimizer:** scan deep imports with custom extensions ([#23678](vitejs/vite#23678)) ([8579189](vitejs/vite@8579189))
- remove input option unescaping for now ([#23694](vitejs/vite#23694)) ([facc2fb](vitejs/vite@facc2fb))
- **server:** match static aliases on path boundaries ([#23643](vitejs/vite#23643)) ([b28db28](vitejs/vite@b28db28))
- **watcher:** normalize file before root check in `ensureWatchedFile` ([#23673](vitejs/vite#23673)) ([12bb28c](vitejs/vite@12bb28c))

##### Performance Improvements

- **module-runner:** skip cloning call sites that have no source map ([#23646](vitejs/vite#23646)) ([3d67486](vitejs/vite@3d67486))

##### Code Refactoring

- **bundled-dev:** import CSS HMR helpers from `/@vite/client` ([#23674](vitejs/vite#23674)) ([182f5b2](vitejs/vite@182f5b2))
##### [v8.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-833-2026-10-06-small)

##### Bug Fixes

- **deps:** update launch-editor to v2.14.2 ([#23654](vitejs/vite#23654)) ([22fd1d5](vitejs/vite@22fd1d5))
- **html:** filename passed to transformIndexHtml should not include queries ([#23653](vitejs/vite#23653)) ([7dafd8e](vitejs/vite@7dafd8e))
- **server:** check `fs.serve` for `?vite-wasm-instance` ([#23655](vitejs/vite#23655)) ([ba8b7ab](vitejs/vite@ba8b7ab))
- **server:** store ids to `safeModulePaths` rather than URLs ([#23656](vitejs/vite#23656)) ([c3e06f9](vitejs/vite@c3e06f9))
renovate Bot added a commit to cigaleapp/cigale that referenced this pull request Nov 2, 2026
##### [v8.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-835-2026-10-21-small)

##### Bug Fixes

- **build:** handle missing chunk import maps ([#23777](vitejs/vite#23777)) ([8d7623d](vitejs/vite@8d7623d))
- **build:** include preload dependencies to chunk import map hashing ([#23793](vitejs/vite#23793)) ([4d16e7c](vitejs/vite@4d16e7c))
- **bundled-dev:** apply `server.origin` to asset URLs ([#23683](vitejs/vite#23683)) ([52ba877](vitejs/vite@52ba877))
- **bundled-dev:** declare utf-8 charset in fallback page ([#23846](vitejs/vite#23846)) ([197daf6](vitejs/vite@197daf6))
- **bundled-dev:** ignore build.chunkImportMap ([#23685](vitejs/vite#23685)) ([cfe917d](vitejs/vite@cfe917d))
- **bundled-dev:** include user `import.meta.env.*` defines in the `import.meta.env` object ([#23713](vitejs/vite#23713)) ([6019aa7](vitejs/vite@6019aa7))
- **bundled-dev:** map forwarded error stacks through the bundle source maps ([#23741](vitejs/vite#23741)) ([11fe1e4](vitejs/vite@11fe1e4))
- **bundled-dev:** normalize served output files ([#23684](vitejs/vite#23684)) ([df4e02c](vitejs/vite@df4e02c))
- **bundled-dev:** stop hmr propagation at modules that are no longer imported ([#23839](vitejs/vite#23839)) ([7471e8c](vitejs/vite@7471e8c))
- **css:** don't fail on a literal `%` in `url()` ([#23676](vitejs/vite#23676)) ([50b382d](vitejs/vite@50b382d))
- **deps:** update all non-major dependencies ([#23731](vitejs/vite#23731)) ([cf80aa5](vitejs/vite@cf80aa5))
- **deps:** update all non-major dependencies ([#23826](vitejs/vite#23826)) ([77d8373](vitejs/vite@77d8373))
- **deps:** update rolldown-related dependencies ([#23733](vitejs/vite#23733)) ([43f0d05](vitejs/vite@43f0d05))
- **deps:** update rolldown-related dependencies ([#23827](vitejs/vite#23827)) ([c2e0418](vitejs/vite@c2e0418))
- **optimizer:** fall back to yarn.lock for lockfile hash ([#23667](vitejs/vite#23667)) ([f206096](vitejs/vite@f206096))
- **optimizer:** scan `oxc.jsxInject` imports ([#23758](vitejs/vite#23758)) ([38f3cb4](vitejs/vite@38f3cb4))
- **optimizer:** skip patches dir check for yarn.lock fallback ([#23725](vitejs/vite#23725)) ([8e890e1](vitejs/vite@8e890e1))
- **optimizer:** skip patches dir hash for nub lockfile ([#23761](vitejs/vite#23761)) ([a7d5696](vitejs/vite@a7d5696))
- **resolve:** support subpath imports with multiple `#` ([#23631](vitejs/vite#23631)) ([0d86b34](vitejs/vite@0d86b34))
- **resolve:** update resolve.exports to 2.0.4 ([#23739](vitejs/vite#23739)) ([4ea708a](vitejs/vite@4ea708a))
- **server:** handle socket errors on upgrade requests not taken by the HMR server ([#23728](vitejs/vite#23728)) ([c2c9ef4](vitejs/vite@c2c9ef4))
- **server:** only strip base when path matches a full segment ([#23641](vitejs/vite#23641)) ([3dfde87](vitejs/vite@3dfde87))

##### Performance Improvements

- **ssr:** extract inline source maps without a regexp ([#23775](vitejs/vite#23775)) ([6a02780](vitejs/vite@6a02780))

##### Miscellaneous Chores

- migrate to Oxlint ([#23746](vitejs/vite#23746)) ([5b73935](vitejs/vite@5b73935))

##### Code Refactoring

- **deps:** replace `@vercel/detect-agent` with `std-env` ([#23744](vitejs/vite#23744)) ([ce4293f](vitejs/vite@ce4293f))
- **dev:** consolidate moduleURL to file path utilities ([#23828](vitejs/vite#23828)) ([df7b40e](vitejs/vite@df7b40e))
- **dev:** separate import resolution from URL conversion ([#23791](vitejs/vite#23791)) ([6116689](vitejs/vite@6116689))
- **dev:** share ModuleURL and BrowserURL conversions ([#23790](vitejs/vite#23790)) ([446954c](vitejs/vite@446954c))
- **dev:** use ModuleURLs throughout HTML transforms ([#23815](vitejs/vite#23815)) ([a162990](vitejs/vite@a162990))
##### [v8.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-834-2026-10-08-small)

##### Features

- **bundled-dev:** support `import.meta.hot.acceptExports` ([#23463](vitejs/vite#23463)) ([bc0f21c](vitejs/vite@bc0f21c))

##### Bug Fixes

- avoid mutating hmr defaults (fix [#23575](vitejs/vite#23575)) ([#23576](vitejs/vite#23576)) ([574d5e3](vitejs/vite@574d5e3))
- **build:** correct preloads when chunkImportMap is enabled with non-root base ([#23698](vitejs/vite#23698)) ([2a8c0f0](vitejs/vite@2a8c0f0))
- **build:** wait for in-flight stylesheets in preload helper (fix [#23652](vitejs/vite#23652)) ([#23662](vitejs/vite#23662)) ([036b745](vitejs/vite@036b745))
- **bundled-dev:** serve `/@vite/client` and stub `@vite/env` ([#23664](vitejs/vite#23664)) ([5afc5a8](vitejs/vite@5afc5a8))
- **client:** skip rewriting unchanged adopted styles ([#23697](vitejs/vite#23697)) ([fa71469](vitejs/vite@fa71469))
- **css:** resolve imported preprocessors from their file path with lightningcss ([#23688](vitejs/vite#23688)) ([cf52011](vitejs/vite@cf52011))
- **deps:** update all non-major dependencies ([#23648](vitejs/vite#23648)) ([8a4c19c](vitejs/vite@8a4c19c))
- **deps:** update rolldown-related dependencies ([#23649](vitejs/vite#23649)) ([794516d](vitejs/vite@794516d))
- **dev:** a restart requested during a restart used to be dropped (fix [#23392](vitejs/vite#23392)) ([#23484](vitejs/vite#23484)) ([70d56ea](vitejs/vite@70d56ea))
- don't treat modules ending with js-like query as js ([#23687](vitejs/vite#23687)) ([fcb6f12](vitejs/vite@fcb6f12))
- **html:** avoid adding filesystem root to watcher ([#23689](vitejs/vite#23689)) ([3a7f2ae](vitejs/vite@3a7f2ae))
- **html:** skip caching CSS of chunks in a cycle (fix [#23628](vitejs/vite#23628)) ([#23636](vitejs/vite#23636)) ([15d82f7](vitejs/vite@15d82f7))
- **optimizer:** scan deep imports with custom extensions ([#23678](vitejs/vite#23678)) ([8579189](vitejs/vite@8579189))
- remove input option unescaping for now ([#23694](vitejs/vite#23694)) ([facc2fb](vitejs/vite@facc2fb))
- **server:** match static aliases on path boundaries ([#23643](vitejs/vite#23643)) ([b28db28](vitejs/vite@b28db28))
- **watcher:** normalize file before root check in `ensureWatchedFile` ([#23673](vitejs/vite#23673)) ([12bb28c](vitejs/vite@12bb28c))

##### Performance Improvements

- **module-runner:** skip cloning call sites that have no source map ([#23646](vitejs/vite#23646)) ([3d67486](vitejs/vite@3d67486))

##### Code Refactoring

- **bundled-dev:** import CSS HMR helpers from `/@vite/client` ([#23674](vitejs/vite#23674)) ([182f5b2](vitejs/vite@182f5b2))
##### [v8.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-833-2026-10-06-small)

##### Bug Fixes

- **deps:** update launch-editor to v2.14.2 ([#23654](vitejs/vite#23654)) ([22fd1d5](vitejs/vite@22fd1d5))
- **html:** filename passed to transformIndexHtml should not include queries ([#23653](vitejs/vite#23653)) ([7dafd8e](vitejs/vite@7dafd8e))
- **server:** check `fs.serve` for `?vite-wasm-instance` ([#23655](vitejs/vite#23655)) ([ba8b7ab](vitejs/vite@ba8b7ab))
- **server:** store ids to `safeModulePaths` rather than URLs ([#23656](vitejs/vite#23656)) ([c3e06f9](vitejs/vite@c3e06f9))
renovate Bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Nov 4, 2026
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | vite    | 8.3.0 | 8.3.5 |


## [v8.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-835-2026-10-21-small)

##### Bug Fixes

- **build:** handle missing chunk import maps ([#23777](vitejs/vite#23777)) ([8d7623d](vitejs/vite@8d7623d))
- **build:** include preload dependencies to chunk import map hashing ([#23793](vitejs/vite#23793)) ([4d16e7c](vitejs/vite@4d16e7c))
- **bundled-dev:** apply `server.origin` to asset URLs ([#23683](vitejs/vite#23683)) ([52ba877](vitejs/vite@52ba877))
- **bundled-dev:** declare utf-8 charset in fallback page ([#23846](vitejs/vite#23846)) ([197daf6](vitejs/vite@197daf6))
- **bundled-dev:** ignore build.chunkImportMap ([#23685](vitejs/vite#23685)) ([cfe917d](vitejs/vite@cfe917d))
- **bundled-dev:** include user `import.meta.env.*` defines in the `import.meta.env` object ([#23713](vitejs/vite#23713)) ([6019aa7](vitejs/vite@6019aa7))
- **bundled-dev:** map forwarded error stacks through the bundle source maps ([#23741](vitejs/vite#23741)) ([11fe1e4](vitejs/vite@11fe1e4))
- **bundled-dev:** normalize served output files ([#23684](vitejs/vite#23684)) ([df4e02c](vitejs/vite@df4e02c))
- **bundled-dev:** stop hmr propagation at modules that are no longer imported ([#23839](vitejs/vite#23839)) ([7471e8c](vitejs/vite@7471e8c))
- **css:** don't fail on a literal `%` in `url()` ([#23676](vitejs/vite#23676)) ([50b382d](vitejs/vite@50b382d))
- **deps:** update all non-major dependencies ([#23731](vitejs/vite#23731)) ([cf80aa5](vitejs/vite@cf80aa5))
- **deps:** update all non-major dependencies ([#23826](vitejs/vite#23826)) ([77d8373](vitejs/vite@77d8373))
- **deps:** update rolldown-related dependencies ([#23733](vitejs/vite#23733)) ([43f0d05](vitejs/vite@43f0d05))
- **deps:** update rolldown-related dependencies ([#23827](vitejs/vite#23827)) ([c2e0418](vitejs/vite@c2e0418))
- **optimizer:** fall back to yarn.lock for lockfile hash ([#23667](vitejs/vite#23667)) ([f206096](vitejs/vite@f206096))
- **optimizer:** scan `oxc.jsxInject` imports ([#23758](vitejs/vite#23758)) ([38f3cb4](vitejs/vite@38f3cb4))
- **optimizer:** skip patches dir check for yarn.lock fallback ([#23725](vitejs/vite#23725)) ([8e890e1](vitejs/vite@8e890e1))
- **optimizer:** skip patches dir hash for nub lockfile ([#23761](vitejs/vite#23761)) ([a7d5696](vitejs/vite@a7d5696))
- **resolve:** support subpath imports with multiple `#` ([#23631](vitejs/vite#23631)) ([0d86b34](vitejs/vite@0d86b34))
- **resolve:** update resolve.exports to 2.0.4 ([#23739](vitejs/vite#23739)) ([4ea708a](vitejs/vite@4ea708a))
- **server:** handle socket errors on upgrade requests not taken by the HMR server ([#23728](vitejs/vite#23728)) ([c2c9ef4](vitejs/vite@c2c9ef4))
- **server:** only strip base when path matches a full segment ([#23641](vitejs/vite#23641)) ([3dfde87](vitejs/vite@3dfde87))

##### Performance Improvements

- **ssr:** extract inline source maps without a regexp ([#23775](vitejs/vite#23775)) ([6a02780](vitejs/vite@6a02780))

##### Miscellaneous Chores

- migrate to Oxlint ([#23746](vitejs/vite#23746)) ([5b73935](vitejs/vite@5b73935))

##### Code Refactoring

- **deps:** replace `@vercel/detect-agent` with `std-env` ([#23744](vitejs/vite#23744)) ([ce4293f](vitejs/vite@ce4293f))
- **dev:** consolidate moduleURL to file path utilities ([#23828](vitejs/vite#23828)) ([df7b40e](vitejs/vite@df7b40e))
- **dev:** separate import resolution from URL conversion ([#23791](vitejs/vite#23791)) ([6116689](vitejs/vite@6116689))
- **dev:** share ModuleURL and BrowserURL conversions ([#23790](vitejs/vite#23790)) ([446954c](vitejs/vite@446954c))
- **dev:** use ModuleURLs throughout HTML transforms ([#23815](vitejs/vite#23815)) ([a162990](vitejs/vite@a162990))


## [v8.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-834-2026-10-08-small)

##### Features

- **bundled-dev:** support `import.meta.hot.acceptExports` ([#23463](vitejs/vite#23463)) ([bc0f21c](vitejs/vite@bc0f21c))

##### Bug Fixes

- avoid mutating hmr defaults (fix [#23575](vitejs/vite#23575)) ([#23576](vitejs/vite#23576)) ([574d5e3](vitejs/vite@574d5e3))
- **build:** correct preloads when chunkImportMap is enabled with non-root base ([#23698](vitejs/vite#23698)) ([2a8c0f0](vitejs/vite@2a8c0f0))
- **build:** wait for in-flight stylesheets in preload helper (fix [#23652](vitejs/vite#23652)) ([#23662](vitejs/vite#23662)) ([036b745](vitejs/vite@036b745))
- **bundled-dev:** serve `/@vite/client` and stub `@vite/env` ([#23664](vitejs/vite#23664)) ([5afc5a8](vitejs/vite@5afc5a8))
- **client:** skip rewriting unchanged adopted styles ([#23697](vitejs/vite#23697)) ([fa71469](vitejs/vite@fa71469))
- **css:** resolve imported preprocessors from their file path with lightningcss ([#23688](vitejs/vite#23688)) ([cf52011](vitejs/vite@cf52011))
- **deps:** update all non-major dependencies ([#23648](vitejs/vite#23648)) ([8a4c19c](vitejs/vite@8a4c19c))
- **deps:** update rolldown-related dependencies ([#23649](vitejs/vite#23649)) ([794516d](vitejs/vite@794516d))
- **dev:** a restart requested during a restart used to be dropped (fix [#23392](vitejs/vite#23392)) ([#23484](vitejs/vite#23484)) ([70d56ea](vitejs/vite@70d56ea))
- don't treat modules ending with js-like query as js ([#23687](vitejs/vite#23687)) ([fcb6f12](vitejs/vite@fcb6f12))
- **html:** avoid adding filesystem root to watcher ([#23689](vitejs/vite#23689)) ([3a7f2ae](vitejs/vite@3a7f2ae))
- **html:** skip caching CSS of chunks in a cycle (fix [#23628](vitejs/vite#23628)) ([#23636](vitejs/vite#23636)) ([15d82f7](vitejs/vite@15d82f7))
- **optimizer:** scan deep imports with custom extensions ([#23678](vitejs/vite#23678)) ([8579189](vitejs/vite@8579189))
- remove input option unescaping for now ([#23694](vitejs/vite#23694)) ([facc2fb](vitejs/vite@facc2fb))
- **server:** match static aliases on path boundaries ([#23643](vitejs/vite#23643)) ([b28db28](vitejs/vite@b28db28))
- **watcher:** normalize file before root check in `ensureWatchedFile` ([#23673](vitejs/vite#23673)) ([12bb28c](vitejs/vite@12bb28c))

##### Performance Improvements

- **module-runner:** skip cloning call sites that have no source map ([#23646](vitejs/vite#23646)) ([3d67486](vitejs/vite@3d67486))

##### Code Refactoring

- **bundled-dev:** import CSS HMR helpers from `/@vite/client` ([#23674](vitejs/vite#23674)) ([182f5b2](vitejs/vite@182f5b2))


## [v8.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-833-2026-10-06-small)

##### Bug Fixes

- **deps:** update launch-editor to v2.14.2 ([#23654](vitejs/vite#23654)) ([22fd1d5](vitejs/vite@22fd1d5))
- **html:** filename passed to transformIndexHtml should not include queries ([#23653](vitejs/vite#23653)) ([7dafd8e](vitejs/vite@7dafd8e))
- **server:** check `fs.serve` for `?vite-wasm-instance` ([#23655](vitejs/vite#23655)) ([ba8b7ab](vitejs/vite@ba8b7ab))
- **server:** store ids to `safeModulePaths` rather than URLs ([#23656](vitejs/vite#23656)) ([c3e06f9](vitejs/vite@c3e06f9))


## [v8.3.2](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-832-2026-10-01-small)

##### Bug Fixes

- **build:** preload CSS correctly when `renderBuiltUrl` returns URLs with queries ([#23611](vitejs/vite#23611)) ([64e0a21](vitejs/vite@64e0a21))
- **bundled-dev:** serve lazy chunk sourcemaps ([#23026](vitejs/vite#23026)) ([eb7aa9a](vitejs/vite@eb7aa9a))
- **bundled-dev:** serve the rolldown runtime from the installed rolldown ([#23568](vitejs/vite#23568)) ([bc598a6](vitejs/vite@bc598a6))
- **deps:** update all non-major dependencies ([#23601](vitejs/vite#23601)) ([9944fa6](vitejs/vite@9944fa6))
- **deps:** update rolldown-related dependencies ([#23602](vitejs/vite#23602)) ([88c1741](vitejs/vite@88c1741))
- **html:** resolve percent-encoded srcset urls ([#23609](vitejs/vite#23609)) ([53f1ce7](vitejs/vite@53f1ce7))
- limit size of object and array printing via `forwardConsole` ([#23565](vitejs/vite#23565)) ([e64a587](vitejs/vite@e64a587))
- merge `build.rolldownOptions.output.minify` correctly ([#23536](vitejs/vite#23536)) ([bba3bb8](vitejs/vite@bba3bb8))
- **optimize-deps:** avoid "unsupported" warnings for browser:false mappings ([#23590](vitejs/vite#23590)) ([5e4b9ca](vitejs/vite@5e4b9ca))
- **optimizer:** preserve excluded optional peer require fallbacks ([#23600](vitejs/vite#23600)) ([a2bd6fa](vitejs/vite@a2bd6fa))
- pass queries to `renderBuiltUrl` ([#23586](vitejs/vite#23586)) ([744269e](vitejs/vite@744269e))
- **server:** handle file watcher errors without crashing ([#23503](vitejs/vite#23503)) ([6894f5c](vitejs/vite@6894f5c))
- **server:** release previous environments after initialization ([#23499](vitejs/vite#23499)) ([5a3a010](vitejs/vite@5a3a010))
- **ssr:** encode whitespace in module runner sourceURL ([#23513](vitejs/vite#23513)) ([bbc8812](vitejs/vite@bbc8812))
- **worker:** align worker urls in client and server when using terser ([#23614](vitejs/vite#23614)) ([24bd331](vitejs/vite@24bd331))

##### Performance Improvements

- avoid encoding intermediate source maps ([#23461](vitejs/vite#23461)) ([89574f6](vitejs/vite@89574f6))
- **build:** avoid quadratic link scan in the preload helper ([#23510](vitejs/vite#23510)) ([cf5c028](vitejs/vite@cf5c028))
- only register time middleware when debug logging is enabled ([#23621](vitejs/vite#23621)) ([94d0080](vitejs/vite@94d0080))

##### Documentation

- fix dead og-image PNG links in vite6/vite7 changelog entries ([#23594](vitejs/vite#23594)) ([1929b4c](vitejs/vite@1929b4c))

##### Miscellaneous Chores

- **deps:** update vitest monorepo to v5 ([#23604](vitejs/vite#23604)) ([24339f4](vitejs/vite@24339f4))

##### Code Refactoring

- use `tinyexec` instead of `cross-spawn` ([#23583](vitejs/vite#23583)) ([db915e5](vitejs/vite@db915e5))

##### Tests

- **bundled-dev:** accept a rolldown dev runtime with no helper imports ([#23606](vitejs/vite#23606)) ([634745d](vitejs/vite@634745d))


## [v8.3.1](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-831-2026-09-24-small)

##### Bug Fixes

- **deps:** update all non-major dependencies ([#23482](vitejs/vite#23482)) ([3c752c8](vitejs/vite@3c752c8))
- **deps:** update all non-major dependencies ([#23537](vitejs/vite#23537)) ([e8990c4](vitejs/vite@e8990c4))
- **deps:** update rolldown-related dependencies ([#23483](vitejs/vite#23483)) ([9aecbbf](vitejs/vite@9aecbbf))
- handle `server.ws: false` in mergeConfig ([#23511](vitejs/vite#23511)) ([f68c0d5](vitejs/vite@f68c0d5))
- merge `build.rolldownOptions.output.comments` correctly ([#23514](vitejs/vite#23514)) ([4aba8d8](vitejs/vite@4aba8d8))
- **optimizer:** don't skip imports whose binding starts with type ([#23540](vitejs/vite#23540)) ([39330f4](vitejs/vite@39330f4))
- **optimizer:** resolve pending discovered dep processing on close before init ([#23567](vitejs/vite#23567)) ([5f89433](vitejs/vite@5f89433))
- **server:** avoid reinitializing watcher when adding file after server close ([#23572](vitejs/vite#23572)) ([6f831f9](vitejs/vite@6f831f9))
- **sourcemap:** skip URL source roots when injecting sources content ([#23519](vitejs/vite#23519)) ([04fc30a](vitejs/vite@04fc30a))

##### Miscellaneous Chores

- merge prereleases in changelog ([#23466](vitejs/vite#23466)) ([99bd9d1](vitejs/vite@99bd9d1))
- **optimizer:** add debug log when waiting for dep before init ([#23566](vitejs/vite#23566)) ([63567c7](vitejs/vite@63567c7))
- update `optimizeDeps.include` comment ([#23489](vitejs/vite#23489)) ([6a84c72](vitejs/vite@6a84c72))

##### Code Refactoring

- assets regexp use non-capture ([#23491](vitejs/vite#23491)) ([f4b4431](vitejs/vite@f4b4431))
- remove duplicate configurations ([#23532](vitejs/vite#23532)) ([9abd99b](vitejs/vite@9abd99b))
- replace `find` with `some` ([#23554](vitejs/vite#23554)) ([af7cdf6](vitejs/vite@af7cdf6))
renovate Bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Nov 7, 2026
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | vite    | 8.3.0 | 8.3.6 |


## [v8.3.6](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-836-2026-11-05-small)

##### Bug Fixes

- await overlapping plugin container close calls ([#23935](vitejs/vite#23935)) ([175bbeb](vitejs/vite@175bbeb))
- **build:** resolve dynamic imports with queries appended when collecting CSS dependencies ([#23909](vitejs/vite#23909)) ([df36558](vitejs/vite@df36558))
- **build:** use stable module ids in chunk import map hash signatures (fix [#23975](vitejs/vite#23975)) ([#23976](vitejs/vite#23976)) ([8069835](vitejs/vite@8069835))
- **bundled-dev:** allow named imports from Node built-ins ([#23858](vitejs/vite#23858)) ([4260c75](vitejs/vite@4260c75))
- **bundled-dev:** reload when hmr cannot run an entry again ([#23849](vitejs/vite#23849)) ([a236886](vitejs/vite@a236886))
- **deps:** update `@rollup/plugin-alias` to v6.0.1 ([#23862](vitejs/vite#23862)) ([67c965b](vitejs/vite@67c965b))
- **deps:** update all non-major dependencies ([#23896](vitejs/vite#23896)) ([46b91c5](vitejs/vite@46b91c5))
- **deps:** update all non-major dependencies ([#23966](vitejs/vite#23966)) ([b3cb057](vitejs/vite@b3cb057))
- **deps:** update rolldown-related dependencies ([#23868](vitejs/vite#23868)) ([a63eb87](vitejs/vite@a63eb87))
- **deps:** update rolldown-related dependencies ([#23967](vitejs/vite#23967)) ([0105733](vitejs/vite@0105733))
- **dev:** escape ANSI escape sequence for `server.forwardConsole` ([#23933](vitejs/vite#23933)) ([4f340fd](vitejs/vite@4f340fd))
- **html:** remove adjacent module tags on the first line ([#23823](vitejs/vite#23823)) ([eab1dc2](vitejs/vite@eab1dc2))
- ignore pnpm's .modules.yaml as a Vite Task input ([#23634](vitejs/vite#23634)) ([95c2daf](vitejs/vite@95c2daf))
- **optimizer:** detect cache dir precisely ([#23912](vitejs/vite#23912)) ([cc9bc21](vitejs/vite@cc9bc21))
- **optimizer:** resolve subpath imports (#) with Vite's resolver ([#23959](vitejs/vite#23959)) ([0fdd81e](vitejs/vite@0fdd81e))
- respect `build.sourcemap` from environment ([#23879](vitejs/vite#23879)) ([82e7aa0](vitejs/vite@82e7aa0))
- **server:** escape HTML attributes ([#23995](vitejs/vite#23995)) ([a270391](vitejs/vite@a270391))
- **server:** preserve `$` patterns in static alias replacements ([#23703](vitejs/vite#23703)) ([1b6ed05](vitejs/vite@1b6ed05))
- **ssr:** convert external require against built-in modules to import for `ssr.target=webworker` ([#23759](vitejs/vite#23759)) ([a711f1c](vitejs/vite@a711f1c))
- use top-level `input` for SSR build when `build.ssr: true` ([#23898](vitejs/vite#23898)) ([90bc034](vitejs/vite@90bc034))
- **wasm:** reject `.wasm` outside `server.fs` ([#23914](vitejs/vite#23914)) ([64e2467](vitejs/vite@64e2467))
- watch files that have a query or hash referenced with `new URL(..., import.meta.url)` ([#23780](vitejs/vite#23780)) ([e954a9c](vitejs/vite@e954a9c))
- **worker:** keep chunks conflicted with unused workers that are still used by a live worker ([#23956](vitejs/vite#23956)) ([7139ef3](vitejs/vite@7139ef3))

##### Performance Improvements

- **build:** remove preload link listeners on settle (fix [#23920](vitejs/vite#23920)) ([#23922](vitejs/vite#23922)) ([8109efd](vitejs/vite@8109efd))
- **css:** index rendered modules once per output for `cssScopeTo` ([#23889](vitejs/vite#23889)) ([1b905e5](vitejs/vite@1b905e5))

##### Miscellaneous Chores

- align charset case ([#23863](vitejs/vite#23863)) ([a976df3](vitejs/vite@a976df3))

##### Build System

- generate sourcemaps in import-meta-current-dirname plugin ([#23904](vitejs/vite#23904)) ([20d355a](vitejs/vite@20d355a))


## [v8.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-835-2026-10-21-small)

##### Bug Fixes

- **build:** handle missing chunk import maps ([#23777](vitejs/vite#23777)) ([8d7623d](vitejs/vite@8d7623d))
- **build:** include preload dependencies to chunk import map hashing ([#23793](vitejs/vite#23793)) ([4d16e7c](vitejs/vite@4d16e7c))
- **bundled-dev:** apply `server.origin` to asset URLs ([#23683](vitejs/vite#23683)) ([52ba877](vitejs/vite@52ba877))
- **bundled-dev:** declare utf-8 charset in fallback page ([#23846](vitejs/vite#23846)) ([197daf6](vitejs/vite@197daf6))
- **bundled-dev:** ignore build.chunkImportMap ([#23685](vitejs/vite#23685)) ([cfe917d](vitejs/vite@cfe917d))
- **bundled-dev:** include user `import.meta.env.*` defines in the `import.meta.env` object ([#23713](vitejs/vite#23713)) ([6019aa7](vitejs/vite@6019aa7))
- **bundled-dev:** map forwarded error stacks through the bundle source maps ([#23741](vitejs/vite#23741)) ([11fe1e4](vitejs/vite@11fe1e4))
- **bundled-dev:** normalize served output files ([#23684](vitejs/vite#23684)) ([df4e02c](vitejs/vite@df4e02c))
- **bundled-dev:** stop hmr propagation at modules that are no longer imported ([#23839](vitejs/vite#23839)) ([7471e8c](vitejs/vite@7471e8c))
- **css:** don't fail on a literal `%` in `url()` ([#23676](vitejs/vite#23676)) ([50b382d](vitejs/vite@50b382d))
- **deps:** update all non-major dependencies ([#23731](vitejs/vite#23731)) ([cf80aa5](vitejs/vite@cf80aa5))
- **deps:** update all non-major dependencies ([#23826](vitejs/vite#23826)) ([77d8373](vitejs/vite@77d8373))
- **deps:** update rolldown-related dependencies ([#23733](vitejs/vite#23733)) ([43f0d05](vitejs/vite@43f0d05))
- **deps:** update rolldown-related dependencies ([#23827](vitejs/vite#23827)) ([c2e0418](vitejs/vite@c2e0418))
- **optimizer:** fall back to yarn.lock for lockfile hash ([#23667](vitejs/vite#23667)) ([f206096](vitejs/vite@f206096))
- **optimizer:** scan `oxc.jsxInject` imports ([#23758](vitejs/vite#23758)) ([38f3cb4](vitejs/vite@38f3cb4))
- **optimizer:** skip patches dir check for yarn.lock fallback ([#23725](vitejs/vite#23725)) ([8e890e1](vitejs/vite@8e890e1))
- **optimizer:** skip patches dir hash for nub lockfile ([#23761](vitejs/vite#23761)) ([a7d5696](vitejs/vite@a7d5696))
- **resolve:** support subpath imports with multiple `#` ([#23631](vitejs/vite#23631)) ([0d86b34](vitejs/vite@0d86b34))
- **resolve:** update resolve.exports to 2.0.4 ([#23739](vitejs/vite#23739)) ([4ea708a](vitejs/vite@4ea708a))
- **server:** handle socket errors on upgrade requests not taken by the HMR server ([#23728](vitejs/vite#23728)) ([c2c9ef4](vitejs/vite@c2c9ef4))
- **server:** only strip base when path matches a full segment ([#23641](vitejs/vite#23641)) ([3dfde87](vitejs/vite@3dfde87))

##### Performance Improvements

- **ssr:** extract inline source maps without a regexp ([#23775](vitejs/vite#23775)) ([6a02780](vitejs/vite@6a02780))

##### Miscellaneous Chores

- migrate to Oxlint ([#23746](vitejs/vite#23746)) ([5b73935](vitejs/vite@5b73935))

##### Code Refactoring

- **deps:** replace `@vercel/detect-agent` with `std-env` ([#23744](vitejs/vite#23744)) ([ce4293f](vitejs/vite@ce4293f))
- **dev:** consolidate moduleURL to file path utilities ([#23828](vitejs/vite#23828)) ([df7b40e](vitejs/vite@df7b40e))
- **dev:** separate import resolution from URL conversion ([#23791](vitejs/vite#23791)) ([6116689](vitejs/vite@6116689))
- **dev:** share ModuleURL and BrowserURL conversions ([#23790](vitejs/vite#23790)) ([446954c](vitejs/vite@446954c))
- **dev:** use ModuleURLs throughout HTML transforms ([#23815](vitejs/vite#23815)) ([a162990](vitejs/vite@a162990))


## [v8.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-834-2026-10-08-small)

##### Features

- **bundled-dev:** support `import.meta.hot.acceptExports` ([#23463](vitejs/vite#23463)) ([bc0f21c](vitejs/vite@bc0f21c))

##### Bug Fixes

- avoid mutating hmr defaults (fix [#23575](vitejs/vite#23575)) ([#23576](vitejs/vite#23576)) ([574d5e3](vitejs/vite@574d5e3))
- **build:** correct preloads when chunkImportMap is enabled with non-root base ([#23698](vitejs/vite#23698)) ([2a8c0f0](vitejs/vite@2a8c0f0))
- **build:** wait for in-flight stylesheets in preload helper (fix [#23652](vitejs/vite#23652)) ([#23662](vitejs/vite#23662)) ([036b745](vitejs/vite@036b745))
- **bundled-dev:** serve `/@vite/client` and stub `@vite/env` ([#23664](vitejs/vite#23664)) ([5afc5a8](vitejs/vite@5afc5a8))
- **client:** skip rewriting unchanged adopted styles ([#23697](vitejs/vite#23697)) ([fa71469](vitejs/vite@fa71469))
- **css:** resolve imported preprocessors from their file path with lightningcss ([#23688](vitejs/vite#23688)) ([cf52011](vitejs/vite@cf52011))
- **deps:** update all non-major dependencies ([#23648](vitejs/vite#23648)) ([8a4c19c](vitejs/vite@8a4c19c))
- **deps:** update rolldown-related dependencies ([#23649](vitejs/vite#23649)) ([794516d](vitejs/vite@794516d))
- **dev:** a restart requested during a restart used to be dropped (fix [#23392](vitejs/vite#23392)) ([#23484](vitejs/vite#23484)) ([70d56ea](vitejs/vite@70d56ea))
- don't treat modules ending with js-like query as js ([#23687](vitejs/vite#23687)) ([fcb6f12](vitejs/vite@fcb6f12))
- **html:** avoid adding filesystem root to watcher ([#23689](vitejs/vite#23689)) ([3a7f2ae](vitejs/vite@3a7f2ae))
- **html:** skip caching CSS of chunks in a cycle (fix [#23628](vitejs/vite#23628)) ([#23636](vitejs/vite#23636)) ([15d82f7](vitejs/vite@15d82f7))
- **optimizer:** scan deep imports with custom extensions ([#23678](vitejs/vite#23678)) ([8579189](vitejs/vite@8579189))
- remove input option unescaping for now ([#23694](vitejs/vite#23694)) ([facc2fb](vitejs/vite@facc2fb))
- **server:** match static aliases on path boundaries ([#23643](vitejs/vite#23643)) ([b28db28](vitejs/vite@b28db28))
- **watcher:** normalize file before root check in `ensureWatchedFile` ([#23673](vitejs/vite#23673)) ([12bb28c](vitejs/vite@12bb28c))

##### Performance Improvements

- **module-runner:** skip cloning call sites that have no source map ([#23646](vitejs/vite#23646)) ([3d67486](vitejs/vite@3d67486))

##### Code Refactoring

- **bundled-dev:** import CSS HMR helpers from `/@vite/client` ([#23674](vitejs/vite#23674)) ([182f5b2](vitejs/vite@182f5b2))


## [v8.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-833-2026-10-06-small)

##### Bug Fixes

- **deps:** update launch-editor to v2.14.2 ([#23654](vitejs/vite#23654)) ([22fd1d5](vitejs/vite@22fd1d5))
- **html:** filename passed to transformIndexHtml should not include queries ([#23653](vitejs/vite#23653)) ([7dafd8e](vitejs/vite@7dafd8e))
- **server:** check `fs.serve` for `?vite-wasm-instance` ([#23655](vitejs/vite#23655)) ([ba8b7ab](vitejs/vite@ba8b7ab))
- **server:** store ids to `safeModulePaths` rather than URLs ([#23656](vitejs/vite#23656)) ([c3e06f9](vitejs/vite@c3e06f9))


## [v8.3.2](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-832-2026-10-01-small)

##### Bug Fixes

- **build:** preload CSS correctly when `renderBuiltUrl` returns URLs with queries ([#23611](vitejs/vite#23611)) ([64e0a21](vitejs/vite@64e0a21))
- **bundled-dev:** serve lazy chunk sourcemaps ([#23026](vitejs/vite#23026)) ([eb7aa9a](vitejs/vite@eb7aa9a))
- **bundled-dev:** serve the rolldown runtime from the installed rolldown ([#23568](vitejs/vite#23568)) ([bc598a6](vitejs/vite@bc598a6))
- **deps:** update all non-major dependencies ([#23601](vitejs/vite#23601)) ([9944fa6](vitejs/vite@9944fa6))
- **deps:** update rolldown-related dependencies ([#23602](vitejs/vite#23602)) ([88c1741](vitejs/vite@88c1741))
- **html:** resolve percent-encoded srcset urls ([#23609](vitejs/vite#23609)) ([53f1ce7](vitejs/vite@53f1ce7))
- limit size of object and array printing via `forwardConsole` ([#23565](vitejs/vite#23565)) ([e64a587](vitejs/vite@e64a587))
- merge `build.rolldownOptions.output.minify` correctly ([#23536](vitejs/vite#23536)) ([bba3bb8](vitejs/vite@bba3bb8))
- **optimize-deps:** avoid "unsupported" warnings for browser:false mappings ([#23590](vitejs/vite#23590)) ([5e4b9ca](vitejs/vite@5e4b9ca))
- **optimizer:** preserve excluded optional peer require fallbacks ([#23600](vitejs/vite#23600)) ([a2bd6fa](vitejs/vite@a2bd6fa))
- pass queries to `renderBuiltUrl` ([#23586](vitejs/vite#23586)) ([744269e](vitejs/vite@744269e))
- **server:** handle file watcher errors without crashing ([#23503](vitejs/vite#23503)) ([6894f5c](vitejs/vite@6894f5c))
- **server:** release previous environments after initialization ([#23499](vitejs/vite#23499)) ([5a3a010](vitejs/vite@5a3a010))
- **ssr:** encode whitespace in module runner sourceURL ([#23513](vitejs/vite#23513)) ([bbc8812](vitejs/vite@bbc8812))
- **worker:** align worker urls in client and server when using terser ([#23614](vitejs/vite#23614)) ([24bd331](vitejs/vite@24bd331))

##### Performance Improvements

- avoid encoding intermediate source maps ([#23461](vitejs/vite#23461)) ([89574f6](vitejs/vite@89574f6))
- **build:** avoid quadratic link scan in the preload helper ([#23510](vitejs/vite#23510)) ([cf5c028](vitejs/vite@cf5c028))
- only register time middleware when debug logging is enabled ([#23621](vitejs/vite#23621)) ([94d0080](vitejs/vite@94d0080))

##### Documentation

- fix dead og-image PNG links in vite6/vite7 changelog entries ([#23594](vitejs/vite#23594)) ([1929b4c](vitejs/vite@1929b4c))

##### Miscellaneous Chores

- **deps:** update vitest monorepo to v5 ([#23604](vitejs/vite#23604)) ([24339f4](vitejs/vite@24339f4))

##### Code Refactoring

- use `tinyexec` instead of `cross-spawn` ([#23583](vitejs/vite#23583)) ([db915e5](vitejs/vite@db915e5))

##### Tests

- **bundled-dev:** accept a rolldown dev runtime with no helper imports ([#23606](vitejs/vite#23606)) ([634745d](vitejs/vite@634745d))


## [v8.3.1](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-831-2026-09-24-small)

##### Bug Fixes

- **deps:** update all non-major dependencies ([#23482](vitejs/vite#23482)) ([3c752c8](vitejs/vite@3c752c8))
- **deps:** update all non-major dependencies ([#23537](vitejs/vite#23537)) ([e8990c4](vitejs/vite@e8990c4))
- **deps:** update rolldown-related dependencies ([#23483](vitejs/vite#23483)) ([9aecbbf](vitejs/vite@9aecbbf))
- handle `server.ws: false` in mergeConfig ([#23511](vitejs/vite#23511)) ([f68c0d5](vitejs/vite@f68c0d5))
- merge `build.rolldownOptions.output.comments` correctly ([#23514](vitejs/vite#23514)) ([4aba8d8](vitejs/vite@4aba8d8))
- **optimizer:** don't skip imports whose binding starts with type ([#23540](vitejs/vite#23540)) ([39330f4](vitejs/vite@39330f4))
- **optimizer:** resolve pending discovered dep processing on close before init ([#23567](vitejs/vite#23567)) ([5f89433](vitejs/vite@5f89433))
- **server:** avoid reinitializing watcher when adding file after server close ([#23572](vitejs/vite#23572)) ([6f831f9](vitejs/vite@6f831f9))
- **sourcemap:** skip URL source roots when injecting sources content ([#23519](vitejs/vite#23519)) ([04fc30a](vitejs/vite@04fc30a))

##### Miscellaneous Chores

- merge prereleases in changelog ([#23466](vitejs/vite#23466)) ([99bd9d1](vitejs/vite@99bd9d1))
- **optimizer:** add debug log when waiting for dep before init ([#23566](vitejs/vite#23566)) ([63567c7](vitejs/vite@63567c7))
- update `optimizeDeps.include` comment ([#23489](vitejs/vite#23489)) ([6a84c72](vitejs/vite@6a84c72))

##### Code Refactoring

- assets regexp use non-capture ([#23491](vitejs/vite#23491)) ([f4b4431](vitejs/vite@f4b4431))
- remove duplicate configurations ([#23532](vitejs/vite#23532)) ([9abd99b](vitejs/vite@9abd99b))
- replace `find` with `some` ([#23554](vitejs/vite#23554)) ([af7cdf6](vitejs/vite@af7cdf6))
renovate Bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Nov 8, 2026
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | vite    | 8.3.0 | 8.3.6 |


## [v8.3.6](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-836-2026-11-05-small)

##### Bug Fixes

- await overlapping plugin container close calls ([#23935](vitejs/vite#23935)) ([175bbeb](vitejs/vite@175bbeb))
- **build:** resolve dynamic imports with queries appended when collecting CSS dependencies ([#23909](vitejs/vite#23909)) ([df36558](vitejs/vite@df36558))
- **build:** use stable module ids in chunk import map hash signatures (fix [#23975](vitejs/vite#23975)) ([#23976](vitejs/vite#23976)) ([8069835](vitejs/vite@8069835))
- **bundled-dev:** allow named imports from Node built-ins ([#23858](vitejs/vite#23858)) ([4260c75](vitejs/vite@4260c75))
- **bundled-dev:** reload when hmr cannot run an entry again ([#23849](vitejs/vite#23849)) ([a236886](vitejs/vite@a236886))
- **deps:** update `@rollup/plugin-alias` to v6.0.1 ([#23862](vitejs/vite#23862)) ([67c965b](vitejs/vite@67c965b))
- **deps:** update all non-major dependencies ([#23896](vitejs/vite#23896)) ([46b91c5](vitejs/vite@46b91c5))
- **deps:** update all non-major dependencies ([#23966](vitejs/vite#23966)) ([b3cb057](vitejs/vite@b3cb057))
- **deps:** update rolldown-related dependencies ([#23868](vitejs/vite#23868)) ([a63eb87](vitejs/vite@a63eb87))
- **deps:** update rolldown-related dependencies ([#23967](vitejs/vite#23967)) ([0105733](vitejs/vite@0105733))
- **dev:** escape ANSI escape sequence for `server.forwardConsole` ([#23933](vitejs/vite#23933)) ([4f340fd](vitejs/vite@4f340fd))
- **html:** remove adjacent module tags on the first line ([#23823](vitejs/vite#23823)) ([eab1dc2](vitejs/vite@eab1dc2))
- ignore pnpm's .modules.yaml as a Vite Task input ([#23634](vitejs/vite#23634)) ([95c2daf](vitejs/vite@95c2daf))
- **optimizer:** detect cache dir precisely ([#23912](vitejs/vite#23912)) ([cc9bc21](vitejs/vite@cc9bc21))
- **optimizer:** resolve subpath imports (#) with Vite's resolver ([#23959](vitejs/vite#23959)) ([0fdd81e](vitejs/vite@0fdd81e))
- respect `build.sourcemap` from environment ([#23879](vitejs/vite#23879)) ([82e7aa0](vitejs/vite@82e7aa0))
- **server:** escape HTML attributes ([#23995](vitejs/vite#23995)) ([a270391](vitejs/vite@a270391))
- **server:** preserve `$` patterns in static alias replacements ([#23703](vitejs/vite#23703)) ([1b6ed05](vitejs/vite@1b6ed05))
- **ssr:** convert external require against built-in modules to import for `ssr.target=webworker` ([#23759](vitejs/vite#23759)) ([a711f1c](vitejs/vite@a711f1c))
- use top-level `input` for SSR build when `build.ssr: true` ([#23898](vitejs/vite#23898)) ([90bc034](vitejs/vite@90bc034))
- **wasm:** reject `.wasm` outside `server.fs` ([#23914](vitejs/vite#23914)) ([64e2467](vitejs/vite@64e2467))
- watch files that have a query or hash referenced with `new URL(..., import.meta.url)` ([#23780](vitejs/vite#23780)) ([e954a9c](vitejs/vite@e954a9c))
- **worker:** keep chunks conflicted with unused workers that are still used by a live worker ([#23956](vitejs/vite#23956)) ([7139ef3](vitejs/vite@7139ef3))

##### Performance Improvements

- **build:** remove preload link listeners on settle (fix [#23920](vitejs/vite#23920)) ([#23922](vitejs/vite#23922)) ([8109efd](vitejs/vite@8109efd))
- **css:** index rendered modules once per output for `cssScopeTo` ([#23889](vitejs/vite#23889)) ([1b905e5](vitejs/vite@1b905e5))

##### Miscellaneous Chores

- align charset case ([#23863](vitejs/vite#23863)) ([a976df3](vitejs/vite@a976df3))

##### Build System

- generate sourcemaps in import-meta-current-dirname plugin ([#23904](vitejs/vite#23904)) ([20d355a](vitejs/vite@20d355a))


## [v8.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-835-2026-10-21-small)

##### Bug Fixes

- **build:** handle missing chunk import maps ([#23777](vitejs/vite#23777)) ([8d7623d](vitejs/vite@8d7623d))
- **build:** include preload dependencies to chunk import map hashing ([#23793](vitejs/vite#23793)) ([4d16e7c](vitejs/vite@4d16e7c))
- **bundled-dev:** apply `server.origin` to asset URLs ([#23683](vitejs/vite#23683)) ([52ba877](vitejs/vite@52ba877))
- **bundled-dev:** declare utf-8 charset in fallback page ([#23846](vitejs/vite#23846)) ([197daf6](vitejs/vite@197daf6))
- **bundled-dev:** ignore build.chunkImportMap ([#23685](vitejs/vite#23685)) ([cfe917d](vitejs/vite@cfe917d))
- **bundled-dev:** include user `import.meta.env.*` defines in the `import.meta.env` object ([#23713](vitejs/vite#23713)) ([6019aa7](vitejs/vite@6019aa7))
- **bundled-dev:** map forwarded error stacks through the bundle source maps ([#23741](vitejs/vite#23741)) ([11fe1e4](vitejs/vite@11fe1e4))
- **bundled-dev:** normalize served output files ([#23684](vitejs/vite#23684)) ([df4e02c](vitejs/vite@df4e02c))
- **bundled-dev:** stop hmr propagation at modules that are no longer imported ([#23839](vitejs/vite#23839)) ([7471e8c](vitejs/vite@7471e8c))
- **css:** don't fail on a literal `%` in `url()` ([#23676](vitejs/vite#23676)) ([50b382d](vitejs/vite@50b382d))
- **deps:** update all non-major dependencies ([#23731](vitejs/vite#23731)) ([cf80aa5](vitejs/vite@cf80aa5))
- **deps:** update all non-major dependencies ([#23826](vitejs/vite#23826)) ([77d8373](vitejs/vite@77d8373))
- **deps:** update rolldown-related dependencies ([#23733](vitejs/vite#23733)) ([43f0d05](vitejs/vite@43f0d05))
- **deps:** update rolldown-related dependencies ([#23827](vitejs/vite#23827)) ([c2e0418](vitejs/vite@c2e0418))
- **optimizer:** fall back to yarn.lock for lockfile hash ([#23667](vitejs/vite#23667)) ([f206096](vitejs/vite@f206096))
- **optimizer:** scan `oxc.jsxInject` imports ([#23758](vitejs/vite#23758)) ([38f3cb4](vitejs/vite@38f3cb4))
- **optimizer:** skip patches dir check for yarn.lock fallback ([#23725](vitejs/vite#23725)) ([8e890e1](vitejs/vite@8e890e1))
- **optimizer:** skip patches dir hash for nub lockfile ([#23761](vitejs/vite#23761)) ([a7d5696](vitejs/vite@a7d5696))
- **resolve:** support subpath imports with multiple `#` ([#23631](vitejs/vite#23631)) ([0d86b34](vitejs/vite@0d86b34))
- **resolve:** update resolve.exports to 2.0.4 ([#23739](vitejs/vite#23739)) ([4ea708a](vitejs/vite@4ea708a))
- **server:** handle socket errors on upgrade requests not taken by the HMR server ([#23728](vitejs/vite#23728)) ([c2c9ef4](vitejs/vite@c2c9ef4))
- **server:** only strip base when path matches a full segment ([#23641](vitejs/vite#23641)) ([3dfde87](vitejs/vite@3dfde87))

##### Performance Improvements

- **ssr:** extract inline source maps without a regexp ([#23775](vitejs/vite#23775)) ([6a02780](vitejs/vite@6a02780))

##### Miscellaneous Chores

- migrate to Oxlint ([#23746](vitejs/vite#23746)) ([5b73935](vitejs/vite@5b73935))

##### Code Refactoring

- **deps:** replace `@vercel/detect-agent` with `std-env` ([#23744](vitejs/vite#23744)) ([ce4293f](vitejs/vite@ce4293f))
- **dev:** consolidate moduleURL to file path utilities ([#23828](vitejs/vite#23828)) ([df7b40e](vitejs/vite@df7b40e))
- **dev:** separate import resolution from URL conversion ([#23791](vitejs/vite#23791)) ([6116689](vitejs/vite@6116689))
- **dev:** share ModuleURL and BrowserURL conversions ([#23790](vitejs/vite#23790)) ([446954c](vitejs/vite@446954c))
- **dev:** use ModuleURLs throughout HTML transforms ([#23815](vitejs/vite#23815)) ([a162990](vitejs/vite@a162990))


## [v8.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-834-2026-10-08-small)

##### Features

- **bundled-dev:** support `import.meta.hot.acceptExports` ([#23463](vitejs/vite#23463)) ([bc0f21c](vitejs/vite@bc0f21c))

##### Bug Fixes

- avoid mutating hmr defaults (fix [#23575](vitejs/vite#23575)) ([#23576](vitejs/vite#23576)) ([574d5e3](vitejs/vite@574d5e3))
- **build:** correct preloads when chunkImportMap is enabled with non-root base ([#23698](vitejs/vite#23698)) ([2a8c0f0](vitejs/vite@2a8c0f0))
- **build:** wait for in-flight stylesheets in preload helper (fix [#23652](vitejs/vite#23652)) ([#23662](vitejs/vite#23662)) ([036b745](vitejs/vite@036b745))
- **bundled-dev:** serve `/@vite/client` and stub `@vite/env` ([#23664](vitejs/vite#23664)) ([5afc5a8](vitejs/vite@5afc5a8))
- **client:** skip rewriting unchanged adopted styles ([#23697](vitejs/vite#23697)) ([fa71469](vitejs/vite@fa71469))
- **css:** resolve imported preprocessors from their file path with lightningcss ([#23688](vitejs/vite#23688)) ([cf52011](vitejs/vite@cf52011))
- **deps:** update all non-major dependencies ([#23648](vitejs/vite#23648)) ([8a4c19c](vitejs/vite@8a4c19c))
- **deps:** update rolldown-related dependencies ([#23649](vitejs/vite#23649)) ([794516d](vitejs/vite@794516d))
- **dev:** a restart requested during a restart used to be dropped (fix [#23392](vitejs/vite#23392)) ([#23484](vitejs/vite#23484)) ([70d56ea](vitejs/vite@70d56ea))
- don't treat modules ending with js-like query as js ([#23687](vitejs/vite#23687)) ([fcb6f12](vitejs/vite@fcb6f12))
- **html:** avoid adding filesystem root to watcher ([#23689](vitejs/vite#23689)) ([3a7f2ae](vitejs/vite@3a7f2ae))
- **html:** skip caching CSS of chunks in a cycle (fix [#23628](vitejs/vite#23628)) ([#23636](vitejs/vite#23636)) ([15d82f7](vitejs/vite@15d82f7))
- **optimizer:** scan deep imports with custom extensions ([#23678](vitejs/vite#23678)) ([8579189](vitejs/vite@8579189))
- remove input option unescaping for now ([#23694](vitejs/vite#23694)) ([facc2fb](vitejs/vite@facc2fb))
- **server:** match static aliases on path boundaries ([#23643](vitejs/vite#23643)) ([b28db28](vitejs/vite@b28db28))
- **watcher:** normalize file before root check in `ensureWatchedFile` ([#23673](vitejs/vite#23673)) ([12bb28c](vitejs/vite@12bb28c))

##### Performance Improvements

- **module-runner:** skip cloning call sites that have no source map ([#23646](vitejs/vite#23646)) ([3d67486](vitejs/vite@3d67486))

##### Code Refactoring

- **bundled-dev:** import CSS HMR helpers from `/@vite/client` ([#23674](vitejs/vite#23674)) ([182f5b2](vitejs/vite@182f5b2))


## [v8.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-833-2026-10-06-small)

##### Bug Fixes

- **deps:** update launch-editor to v2.14.2 ([#23654](vitejs/vite#23654)) ([22fd1d5](vitejs/vite@22fd1d5))
- **html:** filename passed to transformIndexHtml should not include queries ([#23653](vitejs/vite#23653)) ([7dafd8e](vitejs/vite@7dafd8e))
- **server:** check `fs.serve` for `?vite-wasm-instance` ([#23655](vitejs/vite#23655)) ([ba8b7ab](vitejs/vite@ba8b7ab))
- **server:** store ids to `safeModulePaths` rather than URLs ([#23656](vitejs/vite#23656)) ([c3e06f9](vitejs/vite@c3e06f9))


## [v8.3.2](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-832-2026-10-01-small)

##### Bug Fixes

- **build:** preload CSS correctly when `renderBuiltUrl` returns URLs with queries ([#23611](vitejs/vite#23611)) ([64e0a21](vitejs/vite@64e0a21))
- **bundled-dev:** serve lazy chunk sourcemaps ([#23026](vitejs/vite#23026)) ([eb7aa9a](vitejs/vite@eb7aa9a))
- **bundled-dev:** serve the rolldown runtime from the installed rolldown ([#23568](vitejs/vite#23568)) ([bc598a6](vitejs/vite@bc598a6))
- **deps:** update all non-major dependencies ([#23601](vitejs/vite#23601)) ([9944fa6](vitejs/vite@9944fa6))
- **deps:** update rolldown-related dependencies ([#23602](vitejs/vite#23602)) ([88c1741](vitejs/vite@88c1741))
- **html:** resolve percent-encoded srcset urls ([#23609](vitejs/vite#23609)) ([53f1ce7](vitejs/vite@53f1ce7))
- limit size of object and array printing via `forwardConsole` ([#23565](vitejs/vite#23565)) ([e64a587](vitejs/vite@e64a587))
- merge `build.rolldownOptions.output.minify` correctly ([#23536](vitejs/vite#23536)) ([bba3bb8](vitejs/vite@bba3bb8))
- **optimize-deps:** avoid "unsupported" warnings for browser:false mappings ([#23590](vitejs/vite#23590)) ([5e4b9ca](vitejs/vite@5e4b9ca))
- **optimizer:** preserve excluded optional peer require fallbacks ([#23600](vitejs/vite#23600)) ([a2bd6fa](vitejs/vite@a2bd6fa))
- pass queries to `renderBuiltUrl` ([#23586](vitejs/vite#23586)) ([744269e](vitejs/vite@744269e))
- **server:** handle file watcher errors without crashing ([#23503](vitejs/vite#23503)) ([6894f5c](vitejs/vite@6894f5c))
- **server:** release previous environments after initialization ([#23499](vitejs/vite#23499)) ([5a3a010](vitejs/vite@5a3a010))
- **ssr:** encode whitespace in module runner sourceURL ([#23513](vitejs/vite#23513)) ([bbc8812](vitejs/vite@bbc8812))
- **worker:** align worker urls in client and server when using terser ([#23614](vitejs/vite#23614)) ([24bd331](vitejs/vite@24bd331))

##### Performance Improvements

- avoid encoding intermediate source maps ([#23461](vitejs/vite#23461)) ([89574f6](vitejs/vite@89574f6))
- **build:** avoid quadratic link scan in the preload helper ([#23510](vitejs/vite#23510)) ([cf5c028](vitejs/vite@cf5c028))
- only register time middleware when debug logging is enabled ([#23621](vitejs/vite#23621)) ([94d0080](vitejs/vite@94d0080))

##### Documentation

- fix dead og-image PNG links in vite6/vite7 changelog entries ([#23594](vitejs/vite#23594)) ([1929b4c](vitejs/vite@1929b4c))

##### Miscellaneous Chores

- **deps:** update vitest monorepo to v5 ([#23604](vitejs/vite#23604)) ([24339f4](vitejs/vite@24339f4))

##### Code Refactoring

- use `tinyexec` instead of `cross-spawn` ([#23583](vitejs/vite#23583)) ([db915e5](vitejs/vite@db915e5))

##### Tests

- **bundled-dev:** accept a rolldown dev runtime with no helper imports ([#23606](vitejs/vite#23606)) ([634745d](vitejs/vite@634745d))


## [v8.3.1](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-831-2026-09-24-small)

##### Bug Fixes

- **deps:** update all non-major dependencies ([#23482](vitejs/vite#23482)) ([3c752c8](vitejs/vite@3c752c8))
- **deps:** update all non-major dependencies ([#23537](vitejs/vite#23537)) ([e8990c4](vitejs/vite@e8990c4))
- **deps:** update rolldown-related dependencies ([#23483](vitejs/vite#23483)) ([9aecbbf](vitejs/vite@9aecbbf))
- handle `server.ws: false` in mergeConfig ([#23511](vitejs/vite#23511)) ([f68c0d5](vitejs/vite@f68c0d5))
- merge `build.rolldownOptions.output.comments` correctly ([#23514](vitejs/vite#23514)) ([4aba8d8](vitejs/vite@4aba8d8))
- **optimizer:** don't skip imports whose binding starts with type ([#23540](vitejs/vite#23540)) ([39330f4](vitejs/vite@39330f4))
- **optimizer:** resolve pending discovered dep processing on close before init ([#23567](vitejs/vite#23567)) ([5f89433](vitejs/vite@5f89433))
- **server:** avoid reinitializing watcher when adding file after server close ([#23572](vitejs/vite#23572)) ([6f831f9](vitejs/vite@6f831f9))
- **sourcemap:** skip URL source roots when injecting sources content ([#23519](vitejs/vite#23519)) ([04fc30a](vitejs/vite@04fc30a))

##### Miscellaneous Chores

- merge prereleases in changelog ([#23466](vitejs/vite#23466)) ([99bd9d1](vitejs/vite@99bd9d1))
- **optimizer:** add debug log when waiting for dep before init ([#23566](vitejs/vite#23566)) ([63567c7](vitejs/vite@63567c7))
- update `optimizeDeps.include` comment ([#23489](vitejs/vite#23489)) ([6a84c72](vitejs/vite@6a84c72))

##### Code Refactoring

- assets regexp use non-capture ([#23491](vitejs/vite#23491)) ([f4b4431](vitejs/vite@f4b4431))
- remove duplicate configurations ([#23532](vitejs/vite#23532)) ([9abd99b](vitejs/vite@9abd99b))
- replace `find` with `some` ([#23554](vitejs/vite#23554)) ([af7cdf6](vitejs/vite@af7cdf6))
renovate Bot added a commit to cigaleapp/cigale that referenced this pull request Nov 8, 2026
##### [v8.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-835-2026-10-21-small)

##### Bug Fixes

- **build:** handle missing chunk import maps ([#23777](vitejs/vite#23777)) ([8d7623d](vitejs/vite@8d7623d))
- **build:** include preload dependencies to chunk import map hashing ([#23793](vitejs/vite#23793)) ([4d16e7c](vitejs/vite@4d16e7c))
- **bundled-dev:** apply `server.origin` to asset URLs ([#23683](vitejs/vite#23683)) ([52ba877](vitejs/vite@52ba877))
- **bundled-dev:** declare utf-8 charset in fallback page ([#23846](vitejs/vite#23846)) ([197daf6](vitejs/vite@197daf6))
- **bundled-dev:** ignore build.chunkImportMap ([#23685](vitejs/vite#23685)) ([cfe917d](vitejs/vite@cfe917d))
- **bundled-dev:** include user `import.meta.env.*` defines in the `import.meta.env` object ([#23713](vitejs/vite#23713)) ([6019aa7](vitejs/vite@6019aa7))
- **bundled-dev:** map forwarded error stacks through the bundle source maps ([#23741](vitejs/vite#23741)) ([11fe1e4](vitejs/vite@11fe1e4))
- **bundled-dev:** normalize served output files ([#23684](vitejs/vite#23684)) ([df4e02c](vitejs/vite@df4e02c))
- **bundled-dev:** stop hmr propagation at modules that are no longer imported ([#23839](vitejs/vite#23839)) ([7471e8c](vitejs/vite@7471e8c))
- **css:** don't fail on a literal `%` in `url()` ([#23676](vitejs/vite#23676)) ([50b382d](vitejs/vite@50b382d))
- **deps:** update all non-major dependencies ([#23731](vitejs/vite#23731)) ([cf80aa5](vitejs/vite@cf80aa5))
- **deps:** update all non-major dependencies ([#23826](vitejs/vite#23826)) ([77d8373](vitejs/vite@77d8373))
- **deps:** update rolldown-related dependencies ([#23733](vitejs/vite#23733)) ([43f0d05](vitejs/vite@43f0d05))
- **deps:** update rolldown-related dependencies ([#23827](vitejs/vite#23827)) ([c2e0418](vitejs/vite@c2e0418))
- **optimizer:** fall back to yarn.lock for lockfile hash ([#23667](vitejs/vite#23667)) ([f206096](vitejs/vite@f206096))
- **optimizer:** scan `oxc.jsxInject` imports ([#23758](vitejs/vite#23758)) ([38f3cb4](vitejs/vite@38f3cb4))
- **optimizer:** skip patches dir check for yarn.lock fallback ([#23725](vitejs/vite#23725)) ([8e890e1](vitejs/vite@8e890e1))
- **optimizer:** skip patches dir hash for nub lockfile ([#23761](vitejs/vite#23761)) ([a7d5696](vitejs/vite@a7d5696))
- **resolve:** support subpath imports with multiple `#` ([#23631](vitejs/vite#23631)) ([0d86b34](vitejs/vite@0d86b34))
- **resolve:** update resolve.exports to 2.0.4 ([#23739](vitejs/vite#23739)) ([4ea708a](vitejs/vite@4ea708a))
- **server:** handle socket errors on upgrade requests not taken by the HMR server ([#23728](vitejs/vite#23728)) ([c2c9ef4](vitejs/vite@c2c9ef4))
- **server:** only strip base when path matches a full segment ([#23641](vitejs/vite#23641)) ([3dfde87](vitejs/vite@3dfde87))

##### Performance Improvements

- **ssr:** extract inline source maps without a regexp ([#23775](vitejs/vite#23775)) ([6a02780](vitejs/vite@6a02780))

##### Miscellaneous Chores

- migrate to Oxlint ([#23746](vitejs/vite#23746)) ([5b73935](vitejs/vite@5b73935))

##### Code Refactoring

- **deps:** replace `@vercel/detect-agent` with `std-env` ([#23744](vitejs/vite#23744)) ([ce4293f](vitejs/vite@ce4293f))
- **dev:** consolidate moduleURL to file path utilities ([#23828](vitejs/vite#23828)) ([df7b40e](vitejs/vite@df7b40e))
- **dev:** separate import resolution from URL conversion ([#23791](vitejs/vite#23791)) ([6116689](vitejs/vite@6116689))
- **dev:** share ModuleURL and BrowserURL conversions ([#23790](vitejs/vite#23790)) ([446954c](vitejs/vite@446954c))
- **dev:** use ModuleURLs throughout HTML transforms ([#23815](vitejs/vite#23815)) ([a162990](vitejs/vite@a162990))
##### [v8.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-834-2026-10-08-small)

##### Features

- **bundled-dev:** support `import.meta.hot.acceptExports` ([#23463](vitejs/vite#23463)) ([bc0f21c](vitejs/vite@bc0f21c))

##### Bug Fixes

- avoid mutating hmr defaults (fix [#23575](vitejs/vite#23575)) ([#23576](vitejs/vite#23576)) ([574d5e3](vitejs/vite@574d5e3))
- **build:** correct preloads when chunkImportMap is enabled with non-root base ([#23698](vitejs/vite#23698)) ([2a8c0f0](vitejs/vite@2a8c0f0))
- **build:** wait for in-flight stylesheets in preload helper (fix [#23652](vitejs/vite#23652)) ([#23662](vitejs/vite#23662)) ([036b745](vitejs/vite@036b745))
- **bundled-dev:** serve `/@vite/client` and stub `@vite/env` ([#23664](vitejs/vite#23664)) ([5afc5a8](vitejs/vite@5afc5a8))
- **client:** skip rewriting unchanged adopted styles ([#23697](vitejs/vite#23697)) ([fa71469](vitejs/vite@fa71469))
- **css:** resolve imported preprocessors from their file path with lightningcss ([#23688](vitejs/vite#23688)) ([cf52011](vitejs/vite@cf52011))
- **deps:** update all non-major dependencies ([#23648](vitejs/vite#23648)) ([8a4c19c](vitejs/vite@8a4c19c))
- **deps:** update rolldown-related dependencies ([#23649](vitejs/vite#23649)) ([794516d](vitejs/vite@794516d))
- **dev:** a restart requested during a restart used to be dropped (fix [#23392](vitejs/vite#23392)) ([#23484](vitejs/vite#23484)) ([70d56ea](vitejs/vite@70d56ea))
- don't treat modules ending with js-like query as js ([#23687](vitejs/vite#23687)) ([fcb6f12](vitejs/vite@fcb6f12))
- **html:** avoid adding filesystem root to watcher ([#23689](vitejs/vite#23689)) ([3a7f2ae](vitejs/vite@3a7f2ae))
- **html:** skip caching CSS of chunks in a cycle (fix [#23628](vitejs/vite#23628)) ([#23636](vitejs/vite#23636)) ([15d82f7](vitejs/vite@15d82f7))
- **optimizer:** scan deep imports with custom extensions ([#23678](vitejs/vite#23678)) ([8579189](vitejs/vite@8579189))
- remove input option unescaping for now ([#23694](vitejs/vite#23694)) ([facc2fb](vitejs/vite@facc2fb))
- **server:** match static aliases on path boundaries ([#23643](vitejs/vite#23643)) ([b28db28](vitejs/vite@b28db28))
- **watcher:** normalize file before root check in `ensureWatchedFile` ([#23673](vitejs/vite#23673)) ([12bb28c](vitejs/vite@12bb28c))

##### Performance Improvements

- **module-runner:** skip cloning call sites that have no source map ([#23646](vitejs/vite#23646)) ([3d67486](vitejs/vite@3d67486))

##### Code Refactoring

- **bundled-dev:** import CSS HMR helpers from `/@vite/client` ([#23674](vitejs/vite#23674)) ([182f5b2](vitejs/vite@182f5b2))
##### [v8.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-833-2026-10-06-small)

##### Bug Fixes

- **deps:** update launch-editor to v2.14.2 ([#23654](vitejs/vite#23654)) ([22fd1d5](vitejs/vite@22fd1d5))
- **html:** filename passed to transformIndexHtml should not include queries ([#23653](vitejs/vite#23653)) ([7dafd8e](vitejs/vite@7dafd8e))
- **server:** check `fs.serve` for `?vite-wasm-instance` ([#23655](vitejs/vite#23655)) ([ba8b7ab](vitejs/vite@ba8b7ab))
- **server:** store ids to `safeModulePaths` rather than URLs ([#23656](vitejs/vite#23656)) ([c3e06f9](vitejs/vite@c3e06f9))
renovate Bot added a commit to cigaleapp/cigale that referenced this pull request Nov 9, 2026
##### [v8.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-835-2026-10-21-small)

##### Bug Fixes

- **build:** handle missing chunk import maps ([#23777](vitejs/vite#23777)) ([8d7623d](vitejs/vite@8d7623d))
- **build:** include preload dependencies to chunk import map hashing ([#23793](vitejs/vite#23793)) ([4d16e7c](vitejs/vite@4d16e7c))
- **bundled-dev:** apply `server.origin` to asset URLs ([#23683](vitejs/vite#23683)) ([52ba877](vitejs/vite@52ba877))
- **bundled-dev:** declare utf-8 charset in fallback page ([#23846](vitejs/vite#23846)) ([197daf6](vitejs/vite@197daf6))
- **bundled-dev:** ignore build.chunkImportMap ([#23685](vitejs/vite#23685)) ([cfe917d](vitejs/vite@cfe917d))
- **bundled-dev:** include user `import.meta.env.*` defines in the `import.meta.env` object ([#23713](vitejs/vite#23713)) ([6019aa7](vitejs/vite@6019aa7))
- **bundled-dev:** map forwarded error stacks through the bundle source maps ([#23741](vitejs/vite#23741)) ([11fe1e4](vitejs/vite@11fe1e4))
- **bundled-dev:** normalize served output files ([#23684](vitejs/vite#23684)) ([df4e02c](vitejs/vite@df4e02c))
- **bundled-dev:** stop hmr propagation at modules that are no longer imported ([#23839](vitejs/vite#23839)) ([7471e8c](vitejs/vite@7471e8c))
- **css:** don't fail on a literal `%` in `url()` ([#23676](vitejs/vite#23676)) ([50b382d](vitejs/vite@50b382d))
- **deps:** update all non-major dependencies ([#23731](vitejs/vite#23731)) ([cf80aa5](vitejs/vite@cf80aa5))
- **deps:** update all non-major dependencies ([#23826](vitejs/vite#23826)) ([77d8373](vitejs/vite@77d8373))
- **deps:** update rolldown-related dependencies ([#23733](vitejs/vite#23733)) ([43f0d05](vitejs/vite@43f0d05))
- **deps:** update rolldown-related dependencies ([#23827](vitejs/vite#23827)) ([c2e0418](vitejs/vite@c2e0418))
- **optimizer:** fall back to yarn.lock for lockfile hash ([#23667](vitejs/vite#23667)) ([f206096](vitejs/vite@f206096))
- **optimizer:** scan `oxc.jsxInject` imports ([#23758](vitejs/vite#23758)) ([38f3cb4](vitejs/vite@38f3cb4))
- **optimizer:** skip patches dir check for yarn.lock fallback ([#23725](vitejs/vite#23725)) ([8e890e1](vitejs/vite@8e890e1))
- **optimizer:** skip patches dir hash for nub lockfile ([#23761](vitejs/vite#23761)) ([a7d5696](vitejs/vite@a7d5696))
- **resolve:** support subpath imports with multiple `#` ([#23631](vitejs/vite#23631)) ([0d86b34](vitejs/vite@0d86b34))
- **resolve:** update resolve.exports to 2.0.4 ([#23739](vitejs/vite#23739)) ([4ea708a](vitejs/vite@4ea708a))
- **server:** handle socket errors on upgrade requests not taken by the HMR server ([#23728](vitejs/vite#23728)) ([c2c9ef4](vitejs/vite@c2c9ef4))
- **server:** only strip base when path matches a full segment ([#23641](vitejs/vite#23641)) ([3dfde87](vitejs/vite@3dfde87))

##### Performance Improvements

- **ssr:** extract inline source maps without a regexp ([#23775](vitejs/vite#23775)) ([6a02780](vitejs/vite@6a02780))

##### Miscellaneous Chores

- migrate to Oxlint ([#23746](vitejs/vite#23746)) ([5b73935](vitejs/vite@5b73935))

##### Code Refactoring

- **deps:** replace `@vercel/detect-agent` with `std-env` ([#23744](vitejs/vite#23744)) ([ce4293f](vitejs/vite@ce4293f))
- **dev:** consolidate moduleURL to file path utilities ([#23828](vitejs/vite#23828)) ([df7b40e](vitejs/vite@df7b40e))
- **dev:** separate import resolution from URL conversion ([#23791](vitejs/vite#23791)) ([6116689](vitejs/vite@6116689))
- **dev:** share ModuleURL and BrowserURL conversions ([#23790](vitejs/vite#23790)) ([446954c](vitejs/vite@446954c))
- **dev:** use ModuleURLs throughout HTML transforms ([#23815](vitejs/vite#23815)) ([a162990](vitejs/vite@a162990))
##### [v8.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-834-2026-10-08-small)

##### Features

- **bundled-dev:** support `import.meta.hot.acceptExports` ([#23463](vitejs/vite#23463)) ([bc0f21c](vitejs/vite@bc0f21c))

##### Bug Fixes

- avoid mutating hmr defaults (fix [#23575](vitejs/vite#23575)) ([#23576](vitejs/vite#23576)) ([574d5e3](vitejs/vite@574d5e3))
- **build:** correct preloads when chunkImportMap is enabled with non-root base ([#23698](vitejs/vite#23698)) ([2a8c0f0](vitejs/vite@2a8c0f0))
- **build:** wait for in-flight stylesheets in preload helper (fix [#23652](vitejs/vite#23652)) ([#23662](vitejs/vite#23662)) ([036b745](vitejs/vite@036b745))
- **bundled-dev:** serve `/@vite/client` and stub `@vite/env` ([#23664](vitejs/vite#23664)) ([5afc5a8](vitejs/vite@5afc5a8))
- **client:** skip rewriting unchanged adopted styles ([#23697](vitejs/vite#23697)) ([fa71469](vitejs/vite@fa71469))
- **css:** resolve imported preprocessors from their file path with lightningcss ([#23688](vitejs/vite#23688)) ([cf52011](vitejs/vite@cf52011))
- **deps:** update all non-major dependencies ([#23648](vitejs/vite#23648)) ([8a4c19c](vitejs/vite@8a4c19c))
- **deps:** update rolldown-related dependencies ([#23649](vitejs/vite#23649)) ([794516d](vitejs/vite@794516d))
- **dev:** a restart requested during a restart used to be dropped (fix [#23392](vitejs/vite#23392)) ([#23484](vitejs/vite#23484)) ([70d56ea](vitejs/vite@70d56ea))
- don't treat modules ending with js-like query as js ([#23687](vitejs/vite#23687)) ([fcb6f12](vitejs/vite@fcb6f12))
- **html:** avoid adding filesystem root to watcher ([#23689](vitejs/vite#23689)) ([3a7f2ae](vitejs/vite@3a7f2ae))
- **html:** skip caching CSS of chunks in a cycle (fix [#23628](vitejs/vite#23628)) ([#23636](vitejs/vite#23636)) ([15d82f7](vitejs/vite@15d82f7))
- **optimizer:** scan deep imports with custom extensions ([#23678](vitejs/vite#23678)) ([8579189](vitejs/vite@8579189))
- remove input option unescaping for now ([#23694](vitejs/vite#23694)) ([facc2fb](vitejs/vite@facc2fb))
- **server:** match static aliases on path boundaries ([#23643](vitejs/vite#23643)) ([b28db28](vitejs/vite@b28db28))
- **watcher:** normalize file before root check in `ensureWatchedFile` ([#23673](vitejs/vite#23673)) ([12bb28c](vitejs/vite@12bb28c))

##### Performance Improvements

- **module-runner:** skip cloning call sites that have no source map ([#23646](vitejs/vite#23646)) ([3d67486](vitejs/vite@3d67486))

##### Code Refactoring

- **bundled-dev:** import CSS HMR helpers from `/@vite/client` ([#23674](vitejs/vite#23674)) ([182f5b2](vitejs/vite@182f5b2))
##### [v8.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-833-2026-10-06-small)

##### Bug Fixes

- **deps:** update launch-editor to v2.14.2 ([#23654](vitejs/vite#23654)) ([22fd1d5](vitejs/vite@22fd1d5))
- **html:** filename passed to transformIndexHtml should not include queries ([#23653](vitejs/vite#23653)) ([7dafd8e](vitejs/vite@7dafd8e))
- **server:** check `fs.serve` for `?vite-wasm-instance` ([#23655](vitejs/vite#23655)) ([ba8b7ab](vitejs/vite@ba8b7ab))
- **server:** store ids to `safeModulePaths` rather than URLs ([#23656](vitejs/vite#23656)) ([c3e06f9](vitejs/vite@c3e06f9))
sarumaj added a commit to sarumaj/nextcloud-cryptomator that referenced this pull request Nov 10, 2026
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [vite](https://vite.dev) ([source](https://github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`^7.3.7` → `^8.0.0`](https://renovatebot.com/diffs/npm/vite/7.3.7/8.3.6) | ![age](https://developer.mend.io/api/mc/badges/age/npm/vite/8.3.6?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/7.3.7/8.3.6?slim=true) |

---

### Release Notes

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

### [`v8.3.6`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-836-2026-11-05-small)

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

##### Bug Fixes

- await overlapping plugin container close calls ([#&#8203;23935](https://github.com/vitejs/vite/issues/23935)) ([175bbeb](https://github.com/vitejs/vite/commit/175bbeb231fe8bbf260b0b3866b30080690c4f5e))
- **build:** resolve dynamic imports with queries appended when collecting CSS dependencies ([#&#8203;23909](https://github.com/vitejs/vite/issues/23909)) ([df36558](https://github.com/vitejs/vite/commit/df365589738866363fff7335ed58948a5c440580))
- **build:** use stable module ids in chunk import map hash signatures (fix [#&#8203;23975](https://github.com/vitejs/vite/issues/23975)) ([#&#8203;23976](https://github.com/vitejs/vite/issues/23976)) ([8069835](https://github.com/vitejs/vite/commit/8069835ac32ae7682b34de55fdba6c5d2484bae0))
- **bundled-dev:** allow named imports from Node built-ins ([#&#8203;23858](https://github.com/vitejs/vite/issues/23858)) ([4260c75](https://github.com/vitejs/vite/commit/4260c756944a430e897f689efcfa4f8648953488))
- **bundled-dev:** reload when hmr cannot run an entry again ([#&#8203;23849](https://github.com/vitejs/vite/issues/23849)) ([a236886](https://github.com/vitejs/vite/commit/a236886026c3a5de0680ea616de7de830d7a90e7))
- **deps:** update `@rollup/plugin-alias` to v6.0.1 ([#&#8203;23862](https://github.com/vitejs/vite/issues/23862)) ([67c965b](https://github.com/vitejs/vite/commit/67c965b1df64249bceb747037e87d22f75b3e471))
- **deps:** update all non-major dependencies ([#&#8203;23896](https://github.com/vitejs/vite/issues/23896)) ([46b91c5](https://github.com/vitejs/vite/commit/46b91c5bf9c2901b8511c893bc3fc38b8bba6e4f))
- **deps:** update all non-major dependencies ([#&#8203;23966](https://github.com/vitejs/vite/issues/23966)) ([b3cb057](https://github.com/vitejs/vite/commit/b3cb0575aff63004a71301a1ec798aeea2aa05d7))
- **deps:** update rolldown-related dependencies ([#&#8203;23868](https://github.com/vitejs/vite/issues/23868)) ([a63eb87](https://github.com/vitejs/vite/commit/a63eb8722e7d47d1efb710b6410c8d5e5a04a18f))
- **deps:** update rolldown-related dependencies ([#&#8203;23967](https://github.com/vitejs/vite/issues/23967)) ([0105733](https://github.com/vitejs/vite/commit/0105733e610dd5b770bb5397e8d9fbc54a9f6312))
- **dev:** escape ANSI escape sequence for `server.forwardConsole` ([#&#8203;23933](https://github.com/vitejs/vite/issues/23933)) ([4f340fd](https://github.com/vitejs/vite/commit/4f340fdb1b619089bbf8ae5dc56c2c0866224306))
- **html:** remove adjacent module tags on the first line ([#&#8203;23823](https://github.com/vitejs/vite/issues/23823)) ([eab1dc2](https://github.com/vitejs/vite/commit/eab1dc2752fcccf7f06427afc9915794e256e3bc))
- ignore pnpm's .modules.yaml as a Vite Task input ([#&#8203;23634](https://github.com/vitejs/vite/issues/23634)) ([95c2daf](https://github.com/vitejs/vite/commit/95c2daf1352b3509ec93e6e08a0eaabe23a61b28))
- **optimizer:** detect cache dir precisely ([#&#8203;23912](https://github.com/vitejs/vite/issues/23912)) ([cc9bc21](https://github.com/vitejs/vite/commit/cc9bc2131d471bb4d60364614b326ada3ca7d10d))
- **optimizer:** resolve subpath imports (#) with Vite's resolver ([#&#8203;23959](https://github.com/vitejs/vite/issues/23959)) ([0fdd81e](https://github.com/vitejs/vite/commit/0fdd81e9460dd44806b2b6290603ee2c8366a54e))
- respect `build.sourcemap` from environment ([#&#8203;23879](https://github.com/vitejs/vite/issues/23879)) ([82e7aa0](https://github.com/vitejs/vite/commit/82e7aa0374a15e1c67594557ab5893c91578f897))
- **server:** escape HTML attributes ([#&#8203;23995](https://github.com/vitejs/vite/issues/23995)) ([a270391](https://github.com/vitejs/vite/commit/a27039101e3726498063c9662da9c0c097016bd1))
- **server:** preserve `$` patterns in static alias replacements ([#&#8203;23703](https://github.com/vitejs/vite/issues/23703)) ([1b6ed05](https://github.com/vitejs/vite/commit/1b6ed05397c0670e6114e3e1380188f0313ae590))
- **ssr:** convert external require against built-in modules to import for `ssr.target=webworker` ([#&#8203;23759](https://github.com/vitejs/vite/issues/23759)) ([a711f1c](https://github.com/vitejs/vite/commit/a711f1c6328ca7f59857ed99e32853cf49b19a15))
- use top-level `input` for SSR build when `build.ssr: true` ([#&#8203;23898](https://github.com/vitejs/vite/issues/23898)) ([90bc034](https://github.com/vitejs/vite/commit/90bc034a97e7eccd0f3cbc69904fffa625a4c34d))
- **wasm:** reject `.wasm` outside `server.fs` ([#&#8203;23914](https://github.com/vitejs/vite/issues/23914)) ([64e2467](https://github.com/vitejs/vite/commit/64e24670e49900c33a3d3e3c701a5ec4d76573f2))
- watch files that have a query or hash referenced with `new URL(..., import.meta.url)` ([#&#8203;23780](https://github.com/vitejs/vite/issues/23780)) ([e954a9c](https://github.com/vitejs/vite/commit/e954a9cda0b5254be495a937333a0be1b8503d8f))
- **worker:** keep chunks conflicted with unused workers that are still used by a live worker ([#&#8203;23956](https://github.com/vitejs/vite/issues/23956)) ([7139ef3](https://github.com/vitejs/vite/commit/7139ef35cf6c9c0979385a467e8499fc19dfd099))

##### Performance Improvements

- **build:** remove preload link listeners on settle (fix [#&#8203;23920](https://github.com/vitejs/vite/issues/23920)) ([#&#8203;23922](https://github.com/vitejs/vite/issues/23922)) ([8109efd](https://github.com/vitejs/vite/commit/8109efd30319704224db3b7e3b7090348999effb))
- **css:** index rendered modules once per output for `cssScopeTo` ([#&#8203;23889](https://github.com/vitejs/vite/issues/23889)) ([1b905e5](https://github.com/vitejs/vite/commit/1b905e562aed9b47c3ab5959149bb1566eb7a9a5))

##### Miscellaneous Chores

- align charset case ([#&#8203;23863](https://github.com/vitejs/vite/issues/23863)) ([a976df3](https://github.com/vitejs/vite/commit/a976df38815d00102bb1d9fa32e0fec7c05d210a))

##### Build System

- generate sourcemaps in import-meta-current-dirname plugin ([#&#8203;23904](https://github.com/vitejs/vite/issues/23904)) ([20d355a](https://github.com/vitejs/vite/commit/20d355a00b036499f4b9fd5aa99ff754ca3d4d06))

### [`v8.3.5`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-835-2026-10-21-small)

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

##### Bug Fixes

- **build:** handle missing chunk import maps ([#&#8203;23777](https://github.com/vitejs/vite/issues/23777)) ([8d7623d](https://github.com/vitejs/vite/commit/8d7623d9b5647714a5b20cbd787a5401ca846229))
- **build:** include preload dependencies to chunk import map hashing ([#&#8203;23793](https://github.com/vitejs/vite/issues/23793)) ([4d16e7c](https://github.com/vitejs/vite/commit/4d16e7c14d5e1c361f148238b1e81131238ab8e9))
- **bundled-dev:** apply `server.origin` to asset URLs ([#&#8203;23683](https://github.com/vitejs/vite/issues/23683)) ([52ba877](https://github.com/vitejs/vite/commit/52ba877693c8633458d163117504a8259beb3cf5))
- **bundled-dev:** declare utf-8 charset in fallback page ([#&#8203;23846](https://github.com/vitejs/vite/issues/23846)) ([197daf6](https://github.com/vitejs/vite/commit/197daf6c4c7bfdaa005bebcc41dd2ff22fa3a5b6))
- **bundled-dev:** ignore build.chunkImportMap ([#&#8203;23685](https://github.com/vitejs/vite/issues/23685)) ([cfe917d](https://github.com/vitejs/vite/commit/cfe917d67d279a13f20ae9449e3befa736b64b07))
- **bundled-dev:** include user `import.meta.env.*` defines in the `import.meta.env` object ([#&#8203;23713](https://github.com/vitejs/vite/issues/23713)) ([6019aa7](https://github.com/vitejs/vite/commit/6019aa79975465516da7c6f532d568422b019a25))
- **bundled-dev:** map forwarded error stacks through the bundle source maps ([#&#8203;23741](https://github.com/vitejs/vite/issues/23741)) ([11fe1e4](https://github.com/vitejs/vite/commit/11fe1e46ff0c136cb90fbe263ba03993bc94df18))
- **bundled-dev:** normalize served output files ([#&#8203;23684](https://github.com/vitejs/vite/issues/23684)) ([df4e02c](https://github.com/vitejs/vite/commit/df4e02cc8317a62f21edefc79a9690571ffed1f3))
- **bundled-dev:** stop hmr propagation at modules that are no longer imported ([#&#8203;23839](https://github.com/vitejs/vite/issues/23839)) ([7471e8c](https://github.com/vitejs/vite/commit/7471e8c3b32d3d55243590bb7713e602c9fb0212))
- **css:** don't fail on a literal `%` in `url()` ([#&#8203;23676](https://github.com/vitejs/vite/issues/23676)) ([50b382d](https://github.com/vitejs/vite/commit/50b382d31835b8b4bc8b6964738ac03146e44261))
- **deps:** update all non-major dependencies ([#&#8203;23731](https://github.com/vitejs/vite/issues/23731)) ([cf80aa5](https://github.com/vitejs/vite/commit/cf80aa552cac02eac0293330ccd5fde3c7ae8d29))
- **deps:** update all non-major dependencies ([#&#8203;23826](https://github.com/vitejs/vite/issues/23826)) ([77d8373](https://github.com/vitejs/vite/commit/77d8373510da1b26ce057eb2248e570b7f63fde9))
- **deps:** update rolldown-related dependencies ([#&#8203;23733](https://github.com/vitejs/vite/issues/23733)) ([43f0d05](https://github.com/vitejs/vite/commit/43f0d052e514c3ad2dea2f7dc44b0720e1f62f48))
- **deps:** update rolldown-related dependencies ([#&#8203;23827](https://github.com/vitejs/vite/issues/23827)) ([c2e0418](https://github.com/vitejs/vite/commit/c2e04187e49aab7ab809989f0537b4906653acab))
- **optimizer:** fall back to yarn.lock for lockfile hash ([#&#8203;23667](https://github.com/vitejs/vite/issues/23667)) ([f206096](https://github.com/vitejs/vite/commit/f20609630faa93026924275115d1426fdc08629e))
- **optimizer:** scan `oxc.jsxInject` imports ([#&#8203;23758](https://github.com/vitejs/vite/issues/23758)) ([38f3cb4](https://github.com/vitejs/vite/commit/38f3cb45b1490ed24775547ceafa677b91a57714))
- **optimizer:** skip patches dir check for yarn.lock fallback ([#&#8203;23725](https://github.com/vitejs/vite/issues/23725)) ([8e890e1](https://github.com/vitejs/vite/commit/8e890e1ce438bfbc07ea4931ce332e40589940fa))
- **optimizer:** skip patches dir hash for nub lockfile ([#&#8203;23761](https://github.com/vitejs/vite/issues/23761)) ([a7d5696](https://github.com/vitejs/vite/commit/a7d56967ef0050a09c0507e63a18164bc7a0d486))
- **resolve:** support subpath imports with multiple `#` ([#&#8203;23631](https://github.com/vitejs/vite/issues/23631)) ([0d86b34](https://github.com/vitejs/vite/commit/0d86b3485fbbd0fcb9a1f70a14adedfcb7a1fff1))
- **resolve:** update resolve.exports to 2.0.4 ([#&#8203;23739](https://github.com/vitejs/vite/issues/23739)) ([4ea708a](https://github.com/vitejs/vite/commit/4ea708a3ae9a324c6aabca59fade4082bf72f3e5))
- **server:** handle socket errors on upgrade requests not taken by the HMR server ([#&#8203;23728](https://github.com/vitejs/vite/issues/23728)) ([c2c9ef4](https://github.com/vitejs/vite/commit/c2c9ef4dcd05b3e4d88844ea3a13dc23819ca2a5))
- **server:** only strip base when path matches a full segment ([#&#8203;23641](https://github.com/vitejs/vite/issues/23641)) ([3dfde87](https://github.com/vitejs/vite/commit/3dfde87b90a9f80b125d710e3e5d4fc795662db6))

##### Performance Improvements

- **ssr:** extract inline source maps without a regexp ([#&#8203;23775](https://github.com/vitejs/vite/issues/23775)) ([6a02780](https://github.com/vitejs/vite/commit/6a0278055d8501bbaf65b8d34ec094722b4e877a))

##### Miscellaneous Chores

- migrate to Oxlint ([#&#8203;23746](https://github.com/vitejs/vite/issues/23746)) ([5b73935](https://github.com/vitejs/vite/commit/5b73935881424ed5919571036dd89d3868590f92))

##### Code Refactoring

- **deps:** replace `@vercel/detect-agent` with `std-env` ([#&#8203;23744](https://github.com/vitejs/vite/issues/23744)) ([ce4293f](https://github.com/vitejs/vite/commit/ce4293f15cc5cd221c5ed60f5cd64e82ca5cbaf5))
- **dev:** consolidate moduleURL to file path utilities ([#&#8203;23828](https://github.com/vitejs/vite/issues/23828)) ([df7b40e](https://github.com/vitejs/vite/commit/df7b40ee9d691e9f4e2413244f6665ef5482dce3))
- **dev:** separate import resolution from URL conversion ([#&#8203;23791](https://github.com/vitejs/vite/issues/23791)) ([6116689](https://github.com/vitejs/vite/commit/611668983d4b717f5e5e66cf9f7125bd94f92bf7))
- **dev:** share ModuleURL and BrowserURL conversions ([#&#8203;23790](https://github.com/vitejs/vite/issues/23790)) ([446954c](https://github.com/vitejs/vite/commit/446954c69c806795c83fe2f97c28ae8f9ef83731))
- **dev:** use ModuleURLs throughout HTML transforms ([#&#8203;23815](https://github.com/vitejs/vite/issues/23815)) ([a162990](https://github.com/vitejs/vite/commit/a16299092c0f0f3f90e05d4bb5f0168b293c2b52))

### [`v8.3.4`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-834-2026-10-08-small)

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

##### Features

- **bundled-dev:** support `import.meta.hot.acceptExports` ([#&#8203;23463](https://github.com/vitejs/vite/issues/23463)) ([bc0f21c](https://github.com/vitejs/vite/commit/bc0f21c56a2e003a4d2dd23ccb9da3ec8c706c4e))

##### Bug Fixes

- avoid mutating hmr defaults (fix [#&#8203;23575](https://github.com/vitejs/vite/issues/23575)) ([#&#8203;23576](https://github.com/vitejs/vite/issues/23576)) ([574d5e3](https://github.com/vitejs/vite/commit/574d5e351905fe99891364d03c2440531378f7fd))
- **build:** correct preloads when chunkImportMap is enabled with non-root base ([#&#8203;23698](https://github.com/vitejs/vite/issues/23698)) ([2a8c0f0](https://github.com/vitejs/vite/commit/2a8c0f05c76e35c43ab3560984a5103c8db8dbcd))
- **build:** wait for in-flight stylesheets in preload helper (fix [#&#8203;23652](https://github.com/vitejs/vite/issues/23652)) ([#&#8203;23662](https://github.com/vitejs/vite/issues/23662)) ([036b745](https://github.com/vitejs/vite/commit/036b74599b2fe1d8c61475371b856ceb88d26963))
- **bundled-dev:** serve `/@vite/client` and stub `@vite/env` ([#&#8203;23664](https://github.com/vitejs/vite/issues/23664)) ([5afc5a8](https://github.com/vitejs/vite/commit/5afc5a8876624888fc1e8f43fed1c85c4b0e830b))
- **client:** skip rewriting unchanged adopted styles ([#&#8203;23697](https://github.com/vitejs/vite/issues/23697)) ([fa71469](https://github.com/vitejs/vite/commit/fa7146938b0ca703653c90c20907191a01c032ba))
- **css:** resolve imported preprocessors from their file path with lightningcss ([#&#8203;23688](https://github.com/vitejs/vite/issues/23688)) ([cf52011](https://github.com/vitejs/vite/commit/cf52011c46409a4a45f3d74bba631b8f005c4bc9))
- **deps:** update all non-major dependencies ([#&#8203;23648](https://github.com/vitejs/vite/issues/23648)) ([8a4c19c](https://github.com/vitejs/vite/commit/8a4c19cfc035f2dd203f2fa6d00ab9256a5e77c9))
- **deps:** update rolldown-related dependencies ([#&#8203;23649](https://github.com/vitejs/vite/issues/23649)) ([794516d](https://github.com/vitejs/vite/commit/794516d50cff80e405bc9b3e5faac1c82987566c))
- **dev:** a restart requested during a restart used to be dropped (fix [#&#8203;23392](https://github.com/vitejs/vite/issues/23392)) ([#&#8203;23484](https://github.com/vitejs/vite/issues/23484)) ([70d56ea](https://github.com/vitejs/vite/commit/70d56ea1848909edab416934f3f68ce14343eb73))
- don't treat modules ending with js-like query as js ([#&#8203;23687](https://github.com/vitejs/vite/issues/23687)) ([fcb6f12](https://github.com/vitejs/vite/commit/fcb6f1252a95857823d935f98554b938888d41a0))
- **html:** avoid adding filesystem root to watcher ([#&#8203;23689](https://github.com/vitejs/vite/issues/23689)) ([3a7f2ae](https://github.com/vitejs/vite/commit/3a7f2aea757d59bae66ad6edf6b321d26a7e6778))
- **html:** skip caching CSS of chunks in a cycle (fix [#&#8203;23628](https://github.com/vitejs/vite/issues/23628)) ([#&#8203;23636](https://github.com/vitejs/vite/issues/23636)) ([15d82f7](https://github.com/vitejs/vite/commit/15d82f7dc679ab9c18d5ce2c3711157c2365ddd1))
- **optimizer:** scan deep imports with custom extensions ([#&#8203;23678](https://github.com/vitejs/vite/issues/23678)) ([8579189](https://github.com/vitejs/vite/commit/8579189bae8626b6ddab55a09325e209d62e027e))
- remove input option unescaping for now ([#&#8203;23694](https://github.com/vitejs/vite/issues/23694)) ([facc2fb](https://github.com/vitejs/vite/commit/facc2fb1fffce03d9e2dd7011d0bd0eeddc7d0f6))
- **server:** match static aliases on path boundaries ([#&#8203;23643](https://github.com/vitejs/vite/issues/23643)) ([b28db28](https://github.com/vitejs/vite/commit/b28db28e9e62d9866a9a0f1b22e74589cc180577))
- **watcher:** normalize file before root check in `ensureWatchedFile` ([#&#8203;23673](https://github.com/vitejs/vite/issues/23673)) ([12bb28c](https://github.com/vitejs/vite/commit/12bb28c22379c8d2fe90088fa0eefbfa2ab3fb80))

##### Performance Improvements

- **module-runner:** skip cloning call sites that have no source map ([#&#8203;23646](https://github.com/vitejs/vite/issues/23646)) ([3d67486](https://github.com/vitejs/vite/commit/3d674869a50a0bca84a8cc8dc55bd35d57100e37))

##### Code Refactoring

- **bundled-dev:** import CSS HMR helpers from `/@vite/client` ([#&#8203;23674](https://github.com/vitejs/vite/issues/23674)) ([182f5b2](https://github.com/vitejs/vite/commit/182f5b2a65391da5bee05f9c3df1aeb3794e98d9))

### [`v8.3.3`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-833-2026-10-06-small)

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

##### Bug Fixes

- **deps:** update launch-editor to v2.14.2 ([#&#8203;23654](https://github.com/vitejs/vite/issues/23654)) ([22fd1d5](https://github.com/vitejs/vite/commit/22fd1d5238cce2ee9db0eb4122f9e8feb6b06097))
- **html:** filename passed to transformIndexHtml should not include queries ([#&#8203;23653](https://github.com/vitejs/vite/issues/23653)) ([7dafd8e](https://github.com/vitejs/vite/commit/7dafd8e56f152403a3230608fa4005273c2e9e17))
- **server:** check `fs.serve` for `?vite-wasm-instance` ([#&#8203;23655](https://github.com/vitejs/vite/issues/23655)) ([ba8b7ab](https://github.com/vitejs/vite/commit/ba8b7ab43b4afa5d0292ab4b6e3a7b5033cc9c73))
- **server:** store ids to `safeModulePaths` rather than URLs ([#&#8203;23656](https://github.com/vitejs/vite/issues/23656)) ([c3e06f9](https://github.com/vitejs/vite/commit/c3e06f92e969952466b4e2f5801e85e1e00cd905))

### [`v8.3.2`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-832-2026-10-01-small)

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

##### Bug Fixes

- **build:** preload CSS correctly when `renderBuiltUrl` returns URLs with queries ([#&#8203;23611](https://github.com/vitejs/vite/issues/23611)) ([64e0a21](https://github.com/vitejs/vite/commit/64e0a215c24f0522b27b91f93cfd93e317b94481))
- **bundled-dev:** serve lazy chunk sourcemaps ([#&#8203;23026](https://github.com/vitejs/vite/issues/23026)) ([eb7aa9a](https://github.com/vitejs/vite/commit/eb7aa9a8816a1e926d5d9b4cbe7e796b61314ce2))
- **bundled-dev:** serve the rolldown runtime from the installed rolldown ([#&#8203;23568](https://github.com/vitejs/vite/issues/23568)) ([bc598a6](https://github.com/vitejs/vite/commit/bc598a6a8a6b7d6e157e9f19c16911cff8d2360c))
- **deps:** update all non-major dependencies ([#&#8203;23601](https://github.com/vitejs/vite/issues/23601)) ([9944fa6](https://github.com/vitejs/vite/commit/9944fa6033873f13ae88f59e023ab642c50fee2b))
- **deps:** update rolldown-related dependencies ([#&#8203;23602](https://github.com/vitejs/vite/issues/23602)) ([88c1741](https://github.com/vitejs/vite/commit/88c17415af221b3a13e778f4f2c0e907c8287baf))
- **html:** resolve percent-encoded srcset urls ([#&#8203;23609](https://github.com/vitejs/vite/issues/23609)) ([53f1ce7](https://github.com/vitejs/vite/commit/53f1ce7bfe38426861f6da572ef0e3359f6a80cd))
- limit size of object and array printing via `forwardConsole` ([#&#8203;23565](https://github.com/vitejs/vite/issues/23565)) ([e64a587](https://github.com/vitejs/vite/commit/e64a5877dd3e552843a545749ccc257568917d28))
- merge `build.rolldownOptions.output.minify` correctly ([#&#8203;23536](https://github.com/vitejs/vite/issues/23536)) ([bba3bb8](https://github.com/vitejs/vite/commit/bba3bb8beedd185948956e02667d450672632d79))
- **optimize-deps:** avoid "unsupported" warnings for browser:false mappings ([#&#8203;23590](https://github.com/vitejs/vite/issues/23590)) ([5e4b9ca](https://github.com/vitejs/vite/commit/5e4b9ca3dcb24b51f58a765fd2d852614bbf3574))
- **optimizer:** preserve excluded optional peer require fallbacks ([#&#8203;23600](https://github.com/vitejs/vite/issues/23600)) ([a2bd6fa](https://github.com/vitejs/vite/commit/a2bd6fa897c35c8a691671a7d70061c1cdd5c688))
- pass queries to `renderBuiltUrl` ([#&#8203;23586](https://github.com/vitejs/vite/issues/23586)) ([744269e](https://github.com/vitejs/vite/commit/744269e5b2a155074910ddd275aecf2b83938496))
- **server:** handle file watcher errors without crashing ([#&#8203;23503](https://github.com/vitejs/vite/issues/23503)) ([6894f5c](https://github.com/vitejs/vite/commit/6894f5cbceac589536a0efb476d881a47f5ab1c5))
- **server:** release previous environments after initialization ([#&#8203;23499](https://github.com/vitejs/vite/issues/23499)) ([5a3a010](https://github.com/vitejs/vite/commit/5a3a010eea4c9ebbdcc080819f93068d4e035bd4))
- **ssr:** encode whitespace in module runner sourceURL ([#&#8203;23513](https://github.com/vitejs/vite/issues/23513)) ([bbc8812](https://github.com/vitejs/vite/commit/bbc88129c967a8b8eedebd93acc82bee63b86b2a))
- **worker:** align worker urls in client and server when using terser ([#&#8203;23614](https://github.com/vitejs/vite/issues/23614)) ([24bd331](https://github.com/vitejs/vite/commit/24bd3316f3b2503d04a49361e365532bdb335e19))

##### Performance Improvements

- avoid encoding intermediate source maps ([#&#8203;23461](https://github.com/vitejs/vite/issues/23461)) ([89574f6](https://github.com/vitejs/vite/commit/89574f6d940a7273a53c5122a4477285801a696a))
- **build:** avoid quadratic link scan in the preload helper ([#&#8203;23510](https://github.com/vitejs/vite/issues/23510)) ([cf5c028](https://github.com/vitejs/vite/commit/cf5c0288d526824aead1b24e977400f13c527927))
- only register time middleware when debug logging is enabled ([#&#8203;23621](https://github.com/vitejs/vite/issues/23621)) ([94d0080](https://github.com/vitejs/vite/commit/94d0080345e23d63d4cd02df2f7fa2afae775c26))

##### Documentation

- fix dead og-image PNG links in vite6/vite7 changelog entries ([#&#8203;23594](https://github.com/vitejs/vite/issues/23594)) ([1929b4c](https://github.com/vitejs/vite/commit/1929b4cc5f38ad53781e3b07b8bdaa32cf18da07))

##### Miscellaneous Chores

- **deps:** update vitest monorepo to v5 ([#&#8203;23604](https://github.com/vitejs/vite/issues/23604)) ([24339f4](https://github.com/vitejs/vite/commit/24339f4339d64fd8b5bc37654ac14ccff5aee584))

##### Code Refactoring

- use `tinyexec` instead of `cross-spawn` ([#&#8203;23583](https://github.com/vitejs/vite/issues/23583)) ([db915e5](https://github.com/vitejs/vite/commit/db915e5c0edbe1359dcf0cea340c9571dc7f4ad9))

##### Tests

- **bundled-dev:** accept a rolldown dev runtime with no helper imports ([#&#8203;23606](https://github.com/vitejs/vite/issues/23606)) ([634745d](https://github.com/vitejs/vite/commit/634745dcc5648912bc32cb4de72ed8dd2230efa0))

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

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

##### Bug Fixes

- **deps:** update all non-major dependencies ([#&#8203;23482](https://github.com/vitejs/vite/issues/23482)) ([3c752c8](https://github.com/vitejs/vite/commit/3c752c8932bc0599465ba4a6d8f44aaf1e934c3d))
- **deps:** update all non-major dependencies ([#&#8203;23537](https://github.com/vitejs/vite/issues/23537)) ([e8990c4](https://github.com/vitejs/vite/commit/e8990c4d6101dfaca2654ed8ab4d0574ee920248))
- **deps:** update rolldown-related dependencies ([#&#8203;23483](https://github.com/vitejs/vite/issues/23483)) ([9aecbbf](https://github.com/vitejs/vite/commit/9aecbbfa5fb5da4b9981c099cb9746a9fd210806))
- handle `server.ws: false` in mergeConfig ([#&#8203;23511](https://github.com/vitejs/vite/issues/23511)) ([f68c0d5](https://github.com/vitejs/vite/commit/f68c0d5a28c96555431413e3e2cbe644337b087f))
- merge `build.rolldownOptions.output.comments` correctly ([#&#8203;23514](https://github.com/vitejs/vite/issues/23514)) ([4aba8d8](https://github.com/vitejs/vite/commit/4aba8d8720e82e4c5b694a4b7877755a3f84fc57))
- **optimizer:** don't skip imports whose binding starts with type ([#&#8203;23540](https://github.com/vitejs/vite/issues/23540)) ([39330f4](https://github.com/vitejs/vite/commit/39330f489a0ae08923557f0ce10a307d6662a3f5))
- **optimizer:** resolve pending discovered dep processing on close before init ([#&#8203;23567](https://github.com/vitejs/vite/issues/23567)) ([5f89433](https://github.com/vitejs/vite/commit/5f894339d27882fedc86bf6b1076fa6d92e404f3))
- **server:** avoid reinitializing watcher when adding file after server close ([#&#8203;23572](https://github.com/vitejs/vite/issues/23572)) ([6f831f9](https://github.com/vitejs/vite/commit/6f831f9b58ebda77638b514042ad8d160edfb928))
- **sourcemap:** skip URL source roots when injecting sources content ([#&#8203;23519](https://github.com/vitejs/vite/issues/23519)) ([04fc30a](https://github.com/vitejs/vite/commit/04fc30a4b91870e65a436b3420620a2e02a94a41))

##### Miscellaneous Chores

- merge prereleases in changelog ([#&#8203;23466](https://github.com/vitejs/vite/issues/23466)) ([99bd9d1](https://github.com/vitejs/vite/commit/99bd9d1d46153fa939f4a304cc0177db42e28776))
- **optimizer:** add debug log when waiting for dep before init ([#&#8203;23566](https://github.com/vitejs/vite/issues/23566)) ([63567c7](https://github.com/vitejs/vite/commit/63567c73ac132e6384fef384e6b9f7e8d5a37fff))
- update `optimizeDeps.include` comment ([#&#8203;23489](https://github.com/vitejs/vite/issues/23489)) ([6a84c72](https://github.com/vitejs/vite/commit/6a84c72100da4e4be4badb2d9a0026279b4df136))

##### Code Refactoring

- assets regexp use non-capture ([#&#8203;23491](https://github.com/vitejs/vite/issues/23491)) ([f4b4431](https://github.com/vitejs/vite/commit/f4b4431a2f9097fd9bbb7aaebbf1b63c4b54dea1))
- remove duplicate configurations ([#&#8203;23532](https://github.com/vitejs/vite/issues/23532)) ([9abd99b](https://github.com/vitejs/vite/commit/9abd99bfdd3117149d6faf87fc37bc9899b1c998))
- replace `find` with `some` ([#&#8203;23554](https://github.com/vitejs/vite/issues/23554)) ([af7cdf6](https://github.com/vitejs/vite/commit/af7cdf6964f124f58d66037e808fe687654948e2))

### [`v8.3.0`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#830-2026-09-10)

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

##### Features

- **build:** avoid settling seen preload dependencies for performance ([#&#8203;23446](https://github.com/vitejs/vite/issues/23446)) ([e6f6b3e](https://github.com/vitejs/vite/commit/e6f6b3e3119256daa837b2dc399058c8aa45b470))
- **devtools:** enable dev server integration ([#&#8203;23333](https://github.com/vitejs/vite/issues/23333)) ([68aeb8a](https://github.com/vitejs/vite/commit/68aeb8a3b5a5a2ccd505288999bae1a5e6942ee1))
- accept Rolldown watch options in `server.watch` ([#&#8203;23133](https://github.com/vitejs/vite/issues/23133)) ([1b5cfe3](https://github.com/vitejs/vite/commit/1b5cfe3d3777d4ceb7f35fcee9d3c4279316a084))
- add closeServer and closePreviewServer hooks ([#&#8203;23110](https://github.com/vitejs/vite/issues/23110)) ([e17d2d5](https://github.com/vitejs/vite/commit/e17d2d565b0288f169c7995adb2b192f917548e7))
- add top-level `tsconfig` option ([#&#8203;23310](https://github.com/vitejs/vite/issues/23310)) ([93164c3](https://github.com/vitejs/vite/commit/93164c3530a7b4fc7bbedfb986d6afa9546cdef3))
- add warning for unsupported hooks in plugin returned from `applyToEnvironment` hook ([#&#8203;23191](https://github.com/vitejs/vite/issues/23191)) ([fdef04f](https://github.com/vitejs/vite/commit/fdef04f112aadfea40ad3c448d96a49a04c168bd))
- **cli:** support naming the CPU profile via --profile \[name] ([#&#8203;23042](https://github.com/vitejs/vite/issues/23042)) ([a500dee](https://github.com/vitejs/vite/commit/a500deeb6f52d93ca501a0fc612a5392b939f2f5))
- **config:** warn on named imports from JSON modules ([#&#8203;23378](https://github.com/vitejs/vite/issues/23378)) ([472385e](https://github.com/vitejs/vite/commit/472385e6ec4b21e3167c7abf9769883d1c9675f8))
- **css:** minify style tag ([#&#8203;23183](https://github.com/vitejs/vite/issues/23183)) ([8156684](https://github.com/vitejs/vite/commit/8156684572bdcf73e9d8568ed67971f0467fab60))
- searched params attached to workers are now preserved ([#&#8203;22280](https://github.com/vitejs/vite/issues/22280)) ([517b97f](https://github.com/vitejs/vite/commit/517b97f57ab9473e7417da856eb641d76870a56e))
- support subpath imports in dynamic import statements ([#&#8203;23185](https://github.com/vitejs/vite/issues/23185)) ([b78e2f1](https://github.com/vitejs/vite/commit/b78e2f1bc1cba404c4bd9faf518d26ec85e89fc7))
- use `import.meta.ROLLDOWN_FILE_URL_*` for assets in JS ([#&#8203;22888](https://github.com/vitejs/vite/issues/22888)) ([4366ac4](https://github.com/vitejs/vite/commit/4366ac468343252df6d5706361a6348afa66f9cc))
- use `import.meta.ROLLDOWN_FILE_URL_*` for other plugins ([#&#8203;22894](https://github.com/vitejs/vite/issues/22894)) ([e38f29e](https://github.com/vitejs/vite/commit/e38f29ee48bea5ea3178faec5b78708e86f38afb))
- **worker:** remove worker chunk if it's detected that it's not referenced ([#&#8203;22473](https://github.com/vitejs/vite/issues/22473)) ([924997a](https://github.com/vitejs/vite/commit/924997a4bdda9115faee9bdb622fcec4fc8357f0))

##### Bug Fixes

- handle CRLF line endings in code frame positions ([#&#8203;23219](https://github.com/vitejs/vite/issues/23219)) ([9913672](https://github.com/vitejs/vite/commit/9913672bee9c34a2df7fff4c2538783cd4f43b4e))
- only treat whole `node_modules` path segments as dependencies (fix [#&#8203;17467](https://github.com/vitejs/vite/issues/17467)) ([#&#8203;23437](https://github.com/vitejs/vite/issues/23437)) ([ef0dc17](https://github.com/vitejs/vite/commit/ef0dc17ada53d1169ae5a89cb8f6482831466755))
- **build:** keep hash placeholders as-is in `resolveFileUrl` hook ([#&#8203;23422](https://github.com/vitejs/vite/issues/23422)) ([e8d6a4d](https://github.com/vitejs/vite/commit/e8d6a4d3399c739772080d70c7f3c4d548a637c9))
- **bundled-dev:** mark payload delivered on client report ([#&#8203;23373](https://github.com/vitejs/vite/issues/23373)) ([a6d43bc](https://github.com/vitejs/vite/commit/a6d43bc9e3464faa4d49f090e75e1ab334ffb7b0))
- **deps:** update all non-major dependencies ([#&#8203;23445](https://github.com/vitejs/vite/issues/23445)) ([fc7c104](https://github.com/vitejs/vite/commit/fc7c104e74d35a97fa313d5dd6f1b5e7d5b26159))
- **html:** don't inline preload link targets (fix [#&#8203;13355](https://github.com/vitejs/vite/issues/13355)) ([#&#8203;23387](https://github.com/vitejs/vite/issues/23387)) ([12e709c](https://github.com/vitejs/vite/commit/12e709ca4df1059747db1cb7c5d1cd71aba79a24))
- resolve the actual package root in findNearestMainPackageData for nested package.json ([#&#8203;23356](https://github.com/vitejs/vite/issues/23356)) ([8492422](https://github.com/vitejs/vite/commit/8492422b8f110625a90c702f42f30784e8cf19dc))
- shortcuts extend error ([#&#8203;23447](https://github.com/vitejs/vite/issues/23447)) ([4ec58d1](https://github.com/vitejs/vite/commit/4ec58d159df4a1b4799356a1fda62db88ed14752))
- **config:** close bundles when generation fails ([#&#8203;23256](https://github.com/vitejs/vite/issues/23256)) ([6bacc95](https://github.com/vitejs/vite/commit/6bacc956df5a76cc5653b9de4493453b953439fd))
- **css:** keep newline-separated srcset candidates intact ([#&#8203;23265](https://github.com/vitejs/vite/issues/23265)) ([4f9d2f4](https://github.com/vitejs/vite/commit/4f9d2f4dadc83191200de7d2154c957a711e8c3d))
- **deps:** update all non-major dependencies ([#&#8203;23337](https://github.com/vitejs/vite/issues/23337)) ([d550815](https://github.com/vitejs/vite/commit/d55081581ddd4d55667fef38e85d02ab7f879f15))
- **deps:** update all non-major dependencies ([#&#8203;23404](https://github.com/vitejs/vite/issues/23404)) ([238ad81](https://github.com/vitejs/vite/commit/238ad811c7fb9e4730cbd317d0657867ed3447b3))
- **deps:** update rolldown-related dependencies ([#&#8203;23338](https://github.com/vitejs/vite/issues/23338)) ([76e8082](https://github.com/vitejs/vite/commit/76e8082c56a2872dc8017c5672bc36cba8dcf75d))
- **deps:** update rolldown-related dependencies ([#&#8203;23405](https://github.com/vitejs/vite/issues/23405)) ([b882566](https://github.com/vitejs/vite/commit/b88256607e3a051b7bcb0b338b3c4665926b55a8))
- **dev:** run closeBundle after buildEnd failure ([#&#8203;23165](https://github.com/vitejs/vite/issues/23165)) ([8cb872e](https://github.com/vitejs/vite/commit/8cb872e7fb65b03f6068923c6aa7fcf3e71baf21))
- **hmr:** handle `import.meta.hot.invalidate` in virtual module ([#&#8203;23171](https://github.com/vitejs/vite/issues/23171)) ([6162968](https://github.com/vitejs/vite/commit/616296895bd135386d35069a479a5f188c7de298))
- **utils:** handle dot in srcset density descriptor ([#&#8203;23346](https://github.com/vitejs/vite/issues/23346)) ([b50e1b4](https://github.com/vitejs/vite/commit/b50e1b4a3d66128a4076e19769b2e29657985516))
- **utils:** match timestamp query parameter with proper delimiters ([#&#8203;23364](https://github.com/vitejs/vite/issues/23364)) ([41f3c6f](https://github.com/vitejs/vite/commit/41f3c6fff88ade015669cac5c42db946e0b6f5c9))

##### Performance Improvements

- **proxy:** pre-compile context matchers at server creation ([#&#8203;23263](https://github.com/vitejs/vite/issues/23263)) ([8abf700](https://github.com/vitejs/vite/commit/8abf700eeb2411d8402d08f8e2696effafdbe774))

##### Miscellaneous Chores

- introducing `@e18e/eslint-plugin` ([#&#8203;23357](https://github.com/vitejs/vite/issues/23357)) ([f794133](https://github.com/vitejs/vite/commit/f79413353995a2344879014410a9128b1b9f8e9a))
- remove unnecessary comment ([#&#8203;23448](https://github.com/vitejs/vite/issues/23448)) ([b919a1a](https://github.com/vitejs/vite/commit/b919a1a8b5a7c694667f993d677973f42d349458))
- delete unused `PluginContainerOptions` ([#&#8203;23382](https://github.com/vitejs/vite/issues/23382)) ([ee64401](https://github.com/vitejs/vite/commit/ee644014aab61e546742b862a7d7b0d6c7d67a7b))
- use oxfmt `sortImports` ([#&#8203;23319](https://github.com/vitejs/vite/issues/23319)) ([97ad042](https://github.com/vitejs/vite/commit/97ad042170f4c71b518239723b733dd98e8e3e76))

##### Code Refactoring

- delete unused `esbuildPlugin` ([#&#8203;23381](https://github.com/vitejs/vite/issues/23381)) ([f40efef](https://github.com/vitejs/vite/commit/f40efefbb3630cdb7235286bc2b51673d9fbfc27))
- exclude postfix from `__VITE_ASSET__` ([#&#8203;22886](https://github.com/vitejs/vite/issues/22886)) ([a6c08e1](https://github.com/vitejs/vite/commit/a6c08e10a624bd89b78683ff1b0e8cfa1d89aa45))
- remove HmrUrl concept ([#&#8203;23172](https://github.com/vitejs/vite/issues/23172)) ([67a6807](https://github.com/vitejs/vite/commit/67a680767317f8e2cb28b6b0500192f993a567cf))
- use `urlId` of `import.meta.ROLLDOWN_FILE_URL` in wasm plugin ([#&#8203;22962](https://github.com/vitejs/vite/issues/22962)) ([92bd2a7](https://github.com/vitejs/vite/commit/92bd2a7f325ed102349cdc6c1ad4b5cd25e1d72f))

##### Tests

- add `renderBuiltUrl` change changes hash ([#&#8203;23118](https://github.com/vitejs/vite/issues/23118)) ([0291408](https://github.com/vitejs/vite/commit/0291408b8443129ce6f6d1d440be8facabe9683b))

##### Beta Changelogs

##### [8.3.0-beta.1](https://github.com/vitejs/vite/compare/v8.3.0-beta.0...v8.3.0-beta.1) (2026-09-07)

See [8.3.0-beta.1 changelog](https://github.com/vitejs/vite/blob/v8.3.0-beta.1/packages/vite/CHANGELOG.md)

##### [8.3.0-beta.0](https://github.com/vitejs/vite/compare/v8.2.2...v8.3.0-beta.0) (2026-09-02)

See [8.3.0-beta.0 changelog](https://github.com/vitejs/vite/blob/v8.3.0-beta.0/packages/vite/CHANGELOG.md)

### [`v8.2.4`](https://github.com/vitejs/vite/releases/tag/v8.2.4)

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

Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v8.2.4/packages/vite/CHANGELOG.md) for details.

### [`v8.2.2`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#830-2026-09-10)

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

##### Features

- **build:** avoid settling seen preload dependencies for performance ([#&#8203;23446](https://github.com/vitejs/vite/issues/23446)) ([e6f6b3e](https://github.com/vitejs/vite/commit/e6f6b3e3119256daa837b2dc399058c8aa45b470))
- **devtools:** enable dev server integration ([#&#8203;23333](https://github.com/vitejs/vite/issues/23333)) ([68aeb8a](https://github.com/vitejs/vite/commit/68aeb8a3b5a5a2ccd505288999bae1a5e6942ee1))
- accept Rolldown watch options in `server.watch` ([#&#8203;23133](https://github.com/vitejs/vite/issues/23133)) ([1b5cfe3](https://github.com/vitejs/vite/commit/1b5cfe3d3777d4ceb7f35fcee9d3c4279316a084))
- add closeServer and closePreviewServer hooks ([#&#8203;23110](https://github.com/vitejs/vite/issues/23110)) ([e17d2d5](https://github.com/vitejs/vite/commit/e17d2d565b0288f169c7995adb2b192f917548e7))
- add top-level `tsconfig` option ([#&#8203;23310](https://github.com/vitejs/vite/issues/23310)) ([93164c3](https://github.com/vitejs/vite/commit/93164c3530a7b4fc7bbedfb986d6afa9546cdef3))
- add warning for unsupported hooks in plugin returned from `applyToEnvironment` hook ([#&#8203;23191](https://github.com/vitejs/vite/issues/23191)) ([fdef04f](https://github.com/vitejs/vite/commit/fdef04f112aadfea40ad3c448d96a49a04c168bd))
- **cli:** support naming the CPU profile via --profile \[name] ([#&#8203;23042](https://github.com/vitejs/vite/issues/23042)) ([a500dee](https://github.com/vitejs/vite/commit/a500deeb6f52d93ca501a0fc612a5392b939f2f5))
- **config:** warn on named imports from JSON modules ([#&#8203;23378](https://github.com/vitejs/vite/issues/23378)) ([472385e](https://github.com/vitejs/vite/commit/472385e6ec4b21e3167c7abf9769883d1c9675f8))
- **css:** minify style tag ([#&#8203;23183](https://github.com/vitejs/vite/issues/23183)) ([8156684](https://github.com/vitejs/vite/commit/8156684572bdcf73e9d8568ed67971f0467fab60))
- searched params attached to workers are now preserved ([#&#8203;22280](https://github.com/vitejs/vite/issues/22280)) ([517b97f](https://github.com/vitejs/vite/commit/517b97f57ab9473e7417da856eb641d76870a56e))
- support subpath imports in dynamic import statements ([#&#8203;23185](https://github.com/vitejs/vite/issues/23185)) ([b78e2f1](https://github.com/vitejs/vite/commit/b78e2f1bc1cba404c4bd9faf518d26ec85e89fc7))
- use `import.meta.ROLLDOWN_FILE_URL_*` for assets in JS ([#&#8203;22888](https://github.com/vitejs/vite/issues/22888)) ([4366ac4](https://github.com/vitejs/vite/commit/4366ac468343252df6d5706361a6348afa66f9cc))
- use `import.meta.ROLLDOWN_FILE_URL_*` for other plugins ([#&#8203;22894](https://github.com/vitejs/vite/issues/22894)) ([e38f29e](https://github.com/vitejs/vite/commit/e38f29ee48bea5ea3178faec5b78708e86f38afb))
- **worker:** remove worker chunk if it's detected that it's not referenced ([#&#8203;22473](https://github.com/vitejs/vite/issues/22473)) ([924997a](https://github.com/vitejs/vite/commit/924997a4bdda9115faee9bdb622fcec4fc8357f0))

##### Bug Fixes

- handle CRLF line endings in code frame positions ([#&#8203;23219](https://github.com/vitejs/vite/issues/23219)) ([9913672](https://github.com/vitejs/vite/commit/9913672bee9c34a2df7fff4c2538783cd4f43b4e))
- only treat whole `node_modules` path segments as dependencies (fix [#&#8203;17467](https://github.com/vitejs/vite/issues/17467)) ([#&#8203;23437](https://github.com/vitejs/vite/issues/23437)) ([ef0dc17](https://github.com/vitejs/vite/commit/ef0dc17ada53d1169ae5a89cb8f6482831466755))
- **build:** keep hash placeholders as-is in `resolveFileUrl` hook ([#&#8203;23422](https://github.com/vitejs/vite/issues/23422)) ([e8d6a4d](https://github.com/vitejs/vite/commit/e8d6a4d3399c739772080d70c7f3c4d548a637c9))
- **bundled-dev:** mark payload delivered on client report ([#&#8203;23373](https://github.com/vitejs/vite/issues/23373)) ([a6d43bc](https://github.com/vitejs/vite/commit/a6d43bc9e3464faa4d49f090e75e1ab334ffb7b0))
- **deps:** update all non-major dependencies ([#&#8203;23445](https://github.com/vitejs/vite/issues/23445)) ([fc7c104](https://github.com/vitejs/vite/commit/fc7c104e74d35a97fa313d5dd6f1b5e7d5b26159))
- **html:** don't inline preload link targets (fix [#&#8203;13355](https://github.com/vitejs/vite/issues/13355)) ([#&#8203;23387](https://github.com/vitejs/vite/issues/23387)) ([12e709c](https://github.com/vitejs/vite/commit/12e709ca4df1059747db1cb7c5d1cd71aba79a24))
- resolve the actual package root in findNearestMainPackageData for nested package.json ([#&#8203;23356](https://github.com/vitejs/vite/issues/23356)) ([8492422](https://github.com/vitejs/vite/commit/8492422b8f110625a90c702f42f30784e8cf19dc))
- shortcuts extend error ([#&#8203;23447](https://github.com/vitejs/vite/issues/23447)) ([4ec58d1](https://github.com/vitejs/vite/commit/4ec58d159df4a1b4799356a1fda62db88ed14752))
- **config:** close bundles when generation fails ([#&#8203;23256](https://github.com/vitejs/vite/issues/23256)) ([6bacc95](https://github.com/vitejs/vite/commit/6bacc956df5a76cc5653b9de4493453b953439fd))
- **css:** keep newline-separated srcset candidates intact ([#&#8203;23265](https://github.com/vitejs/vite/issues/23265)) ([4f9d2f4](https://github.com/vitejs/vite/commit/4f9d2f4dadc83191200de7d2154c957a711e8c3d))
- **deps:** update all non-major dependencies ([#&#8203;23337](https://github.com/vitejs/vite/issues/23337)) ([d550815](https://github.com/vitejs/vite/commit/d55081581ddd4d55667fef38e85d02ab7f879f15))
- **deps:** update all non-major dependencies ([#&#8203;23404](https://github.com/vitejs/vite/issues/23404)) ([238ad81](https://github.com/vitejs/vite/commit/238ad811c7fb9e4730cbd317d0657867ed3447b3))
- **deps:** update rolldown-related dependencies ([#&#8203;23338](https://github.com/vitejs/vite/issues/23338)) ([76e8082](https://github.com/vitejs/vite/commit/76e8082c56a2872dc8017c5672bc36cba8dcf75d))
- **deps:** update rolldown-related dependencies ([#&#8203;23405](https://github.com/vitejs/vite/issues/23405)) ([b882566](https://github.com/vitejs/vite/commit/b88256607e3a051b7bcb0b338b3c4665926b55a8))
- **dev:** run closeBundle after buildEnd failure ([#&#8203;23165](https://github.com/vitejs/vite/issues/23165)) ([8cb872e](https://github.com/vitejs/vite/commit/8cb872e7fb65b03f6068923c6aa7fcf3e71baf21))
- **hmr:** handle `import.meta.hot.invalidate` in virtual module ([#&#8203;23171](https://github.com/vitejs/vite/issues/23171)) ([6162968](https://github.com/vitejs/vite/commit/616296895bd135386d35069a479a5f188c7de298))
- **utils:** handle dot in srcset density descriptor ([#&#8203;23346](https://github.com/vitejs/vite/issues/23346)) ([b50e1b4](https://github.com/vitejs/vite/commit/b50e1b4a3d66128a4076e19769b2e29657985516))
- **utils:** match timestamp query parameter with proper delimiters ([#&#8203;23364](https://github.com/vitejs/vite/issues/23364)) ([41f3c6f](https://github.com/vitejs/vite/commit/41f3c6fff88ade015669cac5c42db946e0b6f5c9))

##### Performance Improvements

- **proxy:** pre-compile context matchers at server creation ([#&#8203;23263](https://github.com/vitejs/vite/issues/23263)) ([8abf700](https://github.com/vitejs/vite/commit/8abf700eeb2411d8402d08f8e2696effafdbe774))

##### Miscellaneous Chores

- introducing `@e18e/eslint-plugin` ([#&#8203;23357](https://github.com/vitejs/vite/issues/23357)) ([f794133](https://github.com/vitejs/vite/commit/f79413353995a2344879014410a9128b1b9f8e9a))
- remove unnecessary comment ([#&#8203;23448](https://github.com/vitejs/vite/issues/23448)) ([b919a1a](https://github.com/vitejs/vite/commit/b919a1a8b5a7c694667f993d677973f42d349458))
- delete unused `PluginContainerOptions` ([#&#8203;23382](https://github.com/vitejs/vite/issues/23382)) ([ee64401](https://github.com/vitejs/vite/commit/ee644014aab61e546742b862a7d7b0d6c7d67a7b))
- use oxfmt `sortImports` ([#&#8203;23319](https://github.com/vitejs/vite/issues/23319)) ([97ad042](https://github.com/vitejs/vite/commit/97ad042170f4c71b518239723b733dd98e8e3e76))

##### Code Refactoring

- delete unused `esbuildPlugin` ([#&#8203;23381](https://github.com/vitejs/vite/issues/23381)) ([f40efef](https://github.com/vitejs/vite/commit/f40efefbb3630cdb7235286bc2b51673d9fbfc27))
- exclude postfix from `__VITE_ASSET__` ([#&#8203;22886](https://github.com/vitejs/vite/issues/22886)) ([a6c08e1](https://github.com/vitejs/vite/commit/a6c08e10a624bd89b78683ff1b0e8cfa1d89aa45))
- remove HmrUrl concept ([#&#8203;23172](https://github.com/vitejs/vite/issues/23172)) ([67a6807](https://github.com/vitejs/vite/commit/67a680767317f8e2cb28b6b0500192f993a567cf))
- use `urlId` of `import.meta.ROLLDOWN_FILE_URL` in wasm plugin ([#&#8203;22962](https://github.com/vitejs/vite/issues/22962)) ([92bd2a7](https://github.com/vitejs/vite/commit/92bd2a7f325ed102349cdc6c1ad4b5cd25e1d72f))

##### Tests

- add `renderBuiltUrl` change changes hash ([#&#8203;23118](https://github.com/vitejs/vite/issues/23118)) ([0291408](https://github.com/vitejs/vite/commit/0291408b8443129ce6f6d1d440be8facabe9683b))

##### Beta Changelogs

##### [8.3.0-beta.1](https://github.com/vitejs/vite/compare/v8.3.0-beta.0...v8.3.0-beta.1) (2026-09-07)

See [8.3.0-beta.1 changelog](https://github.com/vitejs/vite/blob/v8.3.0-beta.1/packages/vite/CHANGELOG.md)

##### [8.3.0-beta.0](https://github.com/vitejs/vite/compare/v8.2.2...v8.3.0-beta.0) (2026-09-02)

See [8.3.0-beta.0 changelog](https://github.com/vitejs/vite/blob/v8.3.0-beta.0/packages/vite/CHANGELOG.md)

### [`v8.2.1`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-821-2026-08-06-small)

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

##### Bug Fixes

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

##### Performance Improvements

- **css:** look up pure CSS chunks through a Set ([#&#8203;23114](https://github.com/vitejs/vite/issues/23114)) ([1331b0b](https://github.com/vitejs/vite/commit/1331b0b438b1e7193effb7d2341660bccb9c3155))

##### Documentation

- **build:** fix incomplete `@default` for build.minify ([#&#8203;23177](https://github.com/vitejs/vite/issues/23177)) ([ef02435](https://github.com/vitejs/vite/commit/ef02435114c57d0422028f0e6987f3df8db72969))

##### Miscellaneous Chores

- **deps:** update dependency rolldown-plugin-dts to ^0.28.0 ([#&#8203;23137](https://github.com/vitejs/vite/issues/23137)) ([4adc1e7](https://github.com/vitejs/vite/commit/4adc1e7931d4beceb4e236d9a271d057c858a06f))
- **deps:** update dependency strip-literal to v4 ([#&#8203;23140](https://github.com/vitejs/vite/issues/23140)) ([9db65ce](https://github.com/vitejs/vite/commit/9db65ce63488ea8f08a3c98dcdc4282b17bd33ff))

##### Code Refactoring

- **bundled-dev:** avoid injecting server values in the bundle ([#&#8203;22967](https://github.com/vitejs/vite/issues/22967)) ([23b8a08](https://github.com/vitejs/vite/commit/23b8a088dec9dcc3f1c1353f2074f8644b3cc21f))
- **bundled-dev:** remove rolldown lazy stub module workaround ([#&#8203;23129](https://github.com/vitejs/vite/issues/23129)) ([e72036e](https://github.com/vitejs/vite/commit/e72036eed2e28936ed824971b18aeaa3900857f6))

##### Tests

- **bundled-dev:** enable sourcemap playgrounds ([#&#8203;23080](https://github.com/vitejs/vite/issues/23080)) ([c2155fe](https://github.com/vitejs/vite/commit/c2155fe4d5c8d25fba3a7366d367e3296ae669fa))
- reduce logs ([#&#8203;23138](https://github.com/vitejs/vite/issues/23138)) ([7673c02](https://github.com/vitejs/vite/commit/7673c02e53343ae9356c1f496c1c1da2eb732ac1))

### [`v8.2.0`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#820-2026-07-30)

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

##### Features

- add `input` to `server.fs.allow` ([#&#8203;23035](https://github.com/vitejs/vite/issues/23035)) ([95a3cda](https://github.com/vitejs/vite/commit/95a3cdab83e1125b03d2e8dd942fb6b64209e5fa))
- **bundled-dev:** reload once after rebuild instead of via the fallback page ([#&#8203;23106](https://github.com/vitejs/vite/issues/23106)) ([b24381d](https://github.com/vitejs/vite/commit/b24381d741941b9ce2b1c07db62cc5f4d7bad981))
- **bundled-dev:** support worker file update accepted by HMR ([#&#8203;23068](https://github.com/vitejs/vite/issues/23068)) ([0d04351](https://github.com/vitejs/vite/commit/0d04351fdc12258c75b9f1cda5780fdb836ed0ef))
- **config:** include column in config incompatibility location ([#&#8203;23064](https://github.com/vitejs/vite/issues/23064)) ([8a24572](https://github.com/vitejs/vite/commit/8a245726944ed29225920d49be77c33c6e03afc8))
- **dev:** resolve interface name for explicit host in network URLs ([#&#8203;22965](https://github.com/vitejs/vite/issues/22965)) ([3ac77d9](https://github.com/vitejs/vite/commit/3ac77d9dd742968961af38a5a91ed6b061ceda7d))
- add `input` option ([#&#8203;22642](https://github.com/vitejs/vite/issues/22642)) ([9beae37](https://github.com/vitejs/vite/commit/9beae37d7221b25463a011feb40b0303ca328d87))
- **config:** warn features incompatible with native loader in bundle loader ([#&#8203;22850](https://github.com/vitejs/vite/issues/22850)) ([05302b0](https://github.com/vitejs/vite/commit/05302b07267f6b4f9dbeac5b1d73fcc3dc06d730))
- **css:** export PostCSS config type for type-safe configs ([#&#8203;22792](https://github.com/vitejs/vite/issues/22792)) ([302c755](https://github.com/vitejs/vite/commit/302c755a8125b9a26214e3b413922b5513e41981))
- **dev:** label network URLs with their interface name ([#&#8203;22830](https://github.com/vitejs/vite/issues/22830)) ([78accc4](https://github.com/vitejs/vite/commit/78accc42a5b8887d9df624f7d4a934d3ead677d1))
- **optimizer:** support aube lockfile ([#&#8203;22813](https://github.com/vitejs/vite/issues/22813)) ([6319827](https://github.com/vitejs/vite/commit/6319827116c5be2a19c1b91c84ba3d38ad26a41c))
- **optimizer:** support nub lockfile ([#&#8203;22891](https://github.com/vitejs/vite/issues/22891)) ([65d3604](https://github.com/vitejs/vite/commit/65d3604f6fdbfcf6e86244d7fe3c1ca86acae701))
- update rolldown-related dependencies and use client-side HMR in bundled-dev ([#&#8203;22961](https://github.com/vitejs/vite/issues/22961)) ([960e9ef](https://github.com/vitejs/vite/commit/960e9efbc1372000caac46cc2f123cef4824e2bb))
- **wasm:** expand test suite, unwrap WebAssembly.Global and enable js-string builtins ([#&#8203;22674](https://github.com/vitejs/vite/issues/22674)) ([9e79b51](https://github.com/vitejs/vite/commit/9e79b51579457a9af4fa623b68a0bfabbf38010b))

##### Bug Fixes

- **bundledDev:** print build errors to the terminal when an HMR update fails ([#&#8203;23024](https://github.com/vitejs/vite/issues/23024)) ([41c4658](https://github.com/vitejs/vite/commit/41c465896e8b11b1eb9c5fbdafbdcc528e189a2c))
- **deps:** update all non-major dependencies ([#&#8203;23069](https://github.com/vitejs/vite/issues/23069)) ([4c07b74](https://github.com/vitejs/vite/commit/4c07b74416f859d7e8bdace13409ef2d080edf76))
- **hmr:** preserve environment snapshot during server restart ([#&#8203;22992](https://github.com/vitejs/vite/issues/22992)) ([b1186c3](https://github.com/vitejs/vite/commit/b1186c36d06bb94941c58e8272fc4acb8512c93b))
- **importAnalysis:** interop imports injected into optimized dep files by plugins ([#&#8203;23029](https://github.com/vitejs/vite/issues/23029)) ([8c2a87d](https://github.com/vitejs/vite/commit/8c2a87d41fb24536e59643351758084cde4d0dd7))
- **module-runner:** keep stack trace interception working when `Object.prototype` is frozen ([#&#8203;23073](https://github.com/vitejs/vite/issues/23073)) ([599c5b0](https://github.com/vitejs/vite/commit/599c5b02a8b6879b05ede988020f1331e877aaea))
- **server:** strip base in indexHtml module graph lookup ([#&#8203;22932](https://github.com/vitejs/vite/issues/22932)) ([fa005d1](https://github.com/vitejs/vite/commit/fa005d19af5d847931c6dbefc63841c137383e6c))
- support resolving top-level input option with plugins ([#&#8203;23101](https://github.com/vitejs/vite/issues/23101)) ([41df81a](https://github.com/vitejs/vite/commit/41df81a6a4c3eef08f7a9a8ac9530cd136c0eafa))
- **build:** map CSS chunks in chunk import maps (fix [#&#8203;22946](https://github.com/vitejs/vite/issues/22946)) ([#&#8203;22947](https://github.com/vitejs/vite/issues/22947)) ([e16ff3a](https://github.com/vitejs/vite/commit/e16ff3a1199293ac9cdfa6132c08fdea162215f3))
- **config:** exclude virtual modules from native config compat check ([#&#8203;22979](https://github.com/vitejs/vite/issues/22979)) ([2ced1fe](https://github.com/vitejs/vite/commit/2ced1fe4e4e480ed78cb7aa5c78319e57bfa7783))
- **css:** rewrite urls in OnceExit-injected content ([#&#8203;22983](https://github.com/vitejs/vite/issues/22983)) ([abb793e](https://github.com/vitejs/vite/commit/abb793e18c92592c21fbb8e1f3fc450b5839f04f))
- **deps:** update all non-major dependencies ([#&#8203;22985](https://github.com/vitejs/vite/issues/22985)) ([04f345b](https://github.com/vitejs/vite/commit/04f345b37064cd0bba6447eb5c32be5c22162f3d))
- **deps:** update dependency magic-string to v1 ([#&#8203;22998](https://github.com/vitejs/vite/issues/22998)) ([c60b4d7](https://github.com/vitejs/vite/commit/c60b4d7cdb85b7d4f78671cdcfb863e5f8b66bb7))
- **hmr:** remove hot data after prune ([#&#8203;23002](https://github.com/vitejs/vite/issues/23002)) ([be96316](https://github.com/vitejs/vite/commit/be9631658f5191ee5c5665e780239d42a330280a))
- resolve root to real path ([#&#8203;22832](https://github.com/vitejs/vite/issues/22832)) ([55bba7b](https://github.com/vitejs/vite/commit/55bba7bbd9de40d031360e4408fe91bff5b29ec9))

##### Performance Improvements

- **config:** skip native config compat check when warning is ignored ([#&#8203;23000](https://github.com/vitejs/vite/issues/23000)) ([18535d1](https://github.com/vitejs/vite/commit/18535d11cff9ce2a508798146a29d56a8fc5d901))
- **optimizer:** check popular package manager lockfiles first ([#&#8203;22909](https://github.com/vitejs/vite/issues/22909)) ([14fcb66](https://github.com/vitejs/vite/commit/14fcb66c7513957beea28de9657d15936ad48728))

##### Documentation

- **config:** correct cacheDir default fallback description ([#&#8203;23060](https://github.com/vitejs/vite/issues/23060)) ([aafa103](https://github.com/vitejs/vite/commit/aafa103af5d71fb59d7c3dd617d0cbef3b222f1f))
- remove `@experimental` from `resolve.tsconfigPaths` JSDoc ([#&#8203;23006](https://github.com/vitejs/vite/issues/23006)) ([961643a](https://github.com/vitejs/vite/commit/961643a44c2268b4226a885c89adfdd1d3ace635))

##### Miscellaneous Chores

- fix ts erros in test cases ([#&#8203;22972](https://github.com/vitejs/vite/issues/22972)) ([f654769](https://github.com/vitejs/vite/commit/f6547698b1b71387d7337b8ceac92d9b8aa68e1c))

##### Tests

- config CJS module vars in ESM case ([#&#8203;23010](https://github.com/vitejs/vite/issues/23010)) ([d8cd388](https://github.com/vitejs/vite/commit/d8cd38830251b95fd7dddcd0eee0ce94cc61c2f4))

##### Beta Changelogs

##### [8.2.0-beta.0](https://github.com/vitejs/vite/compare/v8.1.5...v8.2.0-beta.0) (2026-07-22)

See [8.2.0-beta.0 changelog](https://github.com/vitejs/vite/blob/v8.2.0-beta.0/packages/vite/CHANGELOG.md)

### [`v8.1.6`](https://github.com/vitejs/vite/releases/tag/v8.1.6)

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

Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v8.1.6/packages/vite/CHANGELOG.md) for details.

### [`v8.1.5`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#820-2026-07-30)

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

##### Features

- add `input` to `server.fs.allow` ([#&#8203;23035](https://github.com/vitejs/vite/issues/23035)) ([95a3cda](https://github.com/vitejs/vite/commit/95a3cdab83e1125b03d2e8dd942fb6b64209e5fa))
- **bundled-dev:** reload once after rebuild instead of via the fallback page ([#&#8203;23106](https://github.com/vitejs/vite/issues/23106)) ([b24381d](https://github.com/vitejs/vite/commit/b24381d741941b9ce2b1c07db62cc5f4d7bad981))
- **bundled-dev:** support worker file update accepted by HMR ([#&#8203;23068](https://github.com/vitejs/vite/issues/23068)) ([0d04351](https://github.com/vitejs/vite/commit/0d04351fdc12258c75b9f1cda5780fdb836ed0ef))
- **config:** include column in config incompatibility location ([#&#8203;23064](https://github.com/vitejs/vite/issues/23064)) ([8a24572](https://github.com/vitejs/vite/commit/8a245726944ed29225920d49be77c33c6e03afc8))
- **dev:** resolve interface name for explicit host in network URLs ([#&#8203;22965](https://github.com/vitejs/vite/issues/22965)) ([3ac77d9](https://github.com/vitejs/vite/commit/3ac77d9dd742968961af38a5a91ed6b061ceda7d))
- add `input` option ([#&#8203;22642](https://github.com/vitejs/vite/issues/22642)) ([9beae37](https://github.com/vitejs/vite/commit/9beae37d7221b25463a011feb40b0303ca328d87))
- **config:** warn features incompatible with native loader in bundle loader ([#&#8203;22850](https://github.com/vitejs/vite/issues/22850)) ([05302b0](https://github.com/vitejs/vite/commit/05302b07267f6b4f9dbeac5b1d73fcc3dc06d730))
- **css:** export PostCSS config type for type-safe configs ([#&#8203;22792](https://github.com/vitejs/vite/issues/22792)) ([302c755](https://github.com/vitejs/vite/commit/302c755a8125b9a26214e3b413922b5513e41981))
- **dev:** label network URLs with their interface name ([#&#8203;22830](https://github.com/vitejs/vite/issues/22830)) ([78accc4](https://github.com/vitejs/vite/commit/78accc42a5b8887d9df624f7d4a934d3ead677d1))
- **optimizer:** support aube lockfile ([#&#8203;22813](https://github.com/vitejs/vite/issues/22813)) ([6319827](https://github.com/vitejs/vite/commit/6319827116c5be2a19c1b91c84ba3d38ad26a41c))
- **optimizer:** support nub lockfile ([#&#8203;22891](https://github.com/vitejs/vite/issues/22891)) ([65d3604](https://github.com/vitejs/vite/commit/65d3604f6fdbfcf6e86244d7fe3c1ca86acae701))
- update rolldown-related dependencies and use client-side HMR in bundled-dev ([#&#8203;22961](https://github.com/vitejs/vite/issues/22961)) ([960e9ef](https://github.com/vitejs/vite/commit/960e9efbc1372000caac46cc2f123cef4824e2bb))
- **wasm:** expand test suite, unwrap WebAssembly.Global and enable js-string builtins ([#&#8203;22674](https://github.com/vitejs/vite/issues/22674)) ([9e79b51](https://github.com/vitejs/vite/commit/9e79b51579457a9af4fa623b68a0bfabbf38010b))

##### Bug Fixes

- **bundledDev:** print build errors to the terminal when an HMR update fails ([#&#8203;23024](https://github.com/vitejs/vite/issues/23024)) ([41c4658](https://github.com/vitejs/vite/commit/41c465896e8b11b1eb9c5fbdafbdcc528e189a2c))
- **deps:** update all non-major dependencies ([#&#8203;23069](https://github.com/vitejs/vite/issues/23069)) ([4c07b74](https://github.com/vitejs/vite/commit/4c07b74416f859d7e8bdace13409ef2d080edf76))
- **hmr:** preserve environment snapshot during server restart ([#&#8203;22992](https://github.com/vitejs/vite/issues/22992)) ([b1186c3](https://github.com/vitejs/vite/commit/b1186c36d06bb94941c58e8272fc4acb8512c93b))
- **importAnalysis:** interop imports injected into optimized dep files by plugins ([#&#8203;23029](https://github.com/vitejs/vite/issues/23029)) ([8c2a87d](https://github.com/vitejs/vite/commit/8c2a87d41fb24536e59643351758084cde4d0dd7))
- **module-runner:** keep stack trace interception working when `Object.prototype` is frozen ([#&#8203;23073](https://github.com/vitejs/vite/issues/23073)) ([599c5b0](https://github.com/vitejs/vite/commit/599c5b02a8b6879b05ede988020f1331e877aaea))
- **server:** strip base in indexHtml module graph lookup ([#&#8203;22932](https://github.com/vitejs/vite/issues/22932)) ([fa005d1](https://github.com/vitejs/vite/commit/fa005d19af5d847931c6dbefc63841c137383e6c))
- support resolving top-level input option with plugins ([#&#8203;23101](https://github.com/vitejs/vite/issues/23101)) ([41df81a](https://github.com/vitejs/vite/commit/41df81a6a4c3eef08f7a9a8ac9530cd136c0eafa))
- **build:** map CSS chunks in chunk import maps (fix [#&#8203;22946](https://github.com/vitejs/vite/issues/22946)) ([#&#8203;22947](https://github.com/vitejs/vite/issues/22947)) ([e16ff3a](https://github.com/vitejs/vite/commit/e16ff3a1199293ac9cdfa6132c08fdea162215f3))
- **config:** exclude virtual modules from native config compat check ([#&#8203;22979](https://github.com/vitejs/vite/issues/22979)) ([2ced1fe](https://github.com/vitejs/vite/commit/2ced1fe4e4e480ed78cb7aa5c78319e57bfa7783))
- **css:** rewrite urls in OnceExit-injected content ([#&#8203;22983](https://github.com/vitejs/vite/issues/22983)) ([abb793e](https://github.com/vitejs/vite/commit/abb793e18c92592c21fbb8e1f3fc450b5839f04f))
- **deps:** update all non-major dependencies ([#&#8203;22985](https://github.com/vitejs/vite/issues/22985)) ([04f345b](https://github.com/vitejs/vite/commit/04f345b37064cd0bba6447eb5c32be5c22162f3d))
- **deps:** update dependency magic-string to v1 ([#&#8203;22998](https://github.com/vitejs/vite/issues/22998)) ([c60b4d7](https://github.com/vitejs/vite/commit/c60b4d7cdb85b7d4f78671cdcfb863e5f8b66bb7))
- **hmr:** remove hot data after prune ([#&#8203;23002](https://github.com/vitejs/vite/issues/23002)) ([be96316](https://github.com/vitejs/vite/commit/be9631658f5191ee5c5665e780239d42a330280a))
- resolve root to real path ([#&#8203;22832](https://github.com/vitejs/vite/issues/22832)) ([55bba7b](https://github.com/vitejs/vite/commit/55bba7bbd9de40d031360e4408fe91bff5b29ec9))

##### Performance Improvements

- **config:** skip native config compat check when warning is ignored ([#&#8203;23000](https://github.com/vitejs/vite/issues/23000)) ([18535d1](https://github.com/vitejs/vite/commit/18535d11cff9ce2a508798146a29d56a8fc5d901))
- **optimizer:** check popular package manager lockfiles first ([#&#8203;22909](https://github.com/vitejs/vite/issues/22909)) ([14fcb66](https://github.com/vitejs/vite/commit/14fcb66c7513957beea28de9657d15936ad48728))

##### Documentation

- **config:** correct cacheDir default fallback description ([#&#8203;23060](https://github.com/vitejs/vite/issues/23060)) ([aafa103](https://github.com/vitejs/vite/commit/aafa103af5d71fb59d7c3dd617d0cbef3b222f1f))
- remove `@experimental` from `resolve.tsconfigPaths` JSDoc ([#&#8203;23006](https://github.com/vitejs/vite/issues/23006)) ([961643a](https://github.com/vitejs/vite/commit/961643a44c2268b4226a885c89adfdd1d3ace635))

##### Miscellaneous Chores

- fix ts erros in test cases ([#&#8203;22972](https://github.com/vitejs/vite/issues/22972)) ([f654769](https://github.com/vitejs/vite/commit/f6547698b1b71387d7337b8ceac92d9b8aa68e1c))

##### Tests

- config CJS module vars i…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants