feat: buildApp hook#19971
Conversation
There was a problem hiding this comment.
This is really awesome! thanks @patak-dev! 🫶
(PS: wow this is also so much simpler than what I expected it to be! 😅)
hi-ogawa
left a comment
There was a problem hiding this comment.
Looks good to me 👍
For RSC, we are also thinking about generalizing scan build concept (for example, @jacob-ebey showed me this https://github.com/jacob-ebey/enhanceable/blob/ae92302978dc347d8e98fc533ed1c16edc53a1b2/src/plugins/scan-pass.ts#L21-L42) and I think buildApp plugin hook is an interesting direction to explore.
sapphi-red
left a comment
There was a problem hiding this comment.
Other than the @experimental jsdoc, it looks good to me 👍
Co-authored-by: 翠 / green <green@sapphi.red>
|
The default build was still kicking in if no I made The other option would be to only build all environments when no I don't know which of these two options is the best way to define the default behavior. |
| async function defaultBuildApp(builder: ViteBuilder): Promise<void> { | ||
| for (const environment of Object.values(builder.environments)) { | ||
| await builder.build(environment) | ||
| } | ||
| } |
There was a problem hiding this comment.
Instead of dcea0b1, can the default behavior adjusted by checking environment.isBuilt for each environment here?
if (!environment.isBuilt) {
await builder.build(environment)
}I think the difference is whether plugin.buildApp partially building environments should cause Vite to build the rest of environments. As a default behavior, this seemed natural to me. plugin.buildApp can still technically avoid that by doing delete builder.environments["noNeedThisEnv"] 🤔
There was a problem hiding this comment.
We can't do that except if we move the order post hooks before config.builder.buildApp, and we also may deprecate and remove config.builder.buildApp in the future
| // fallback to building all environments if no environments have been built | ||
| if ( | ||
| Object.values(builder.environments).every( | ||
| (environment) => !environment.isBuilt, | ||
| ) | ||
| ) { | ||
| for (const environment of Object.values(builder.environments)) { | ||
| await builder.build(environment) | ||
| } | ||
| } |
There was a problem hiding this comment.
Putting config.builder.buildApp aside #19971 (comment), I think my question is whether there's any rational in choosing the default behavior here "fallback to building all environments if no environments have been built" or the below, assuming config.builder.buildApp is removed:
// always build rest of unbuilt environments
for (const environment of Object.values(builder.environments)) {
if (!environment.isBuilt) {
await builder.build(environment)
}
}I don't see anything significant right now, so either way seems fine to start with, but I just wanted to check if I'm missing something.
There was a problem hiding this comment.
Well, actually this seems like it's also about enforce: "post" hook (sorry, I should've just commented above). What's the expected behavior when there's post plugin.buildApp hook but without user's config.builder.buildApp now (and also hypothetically builder.buildApp is removed)?
There was a problem hiding this comment.
The idea of the post hook was to give a way to plugins to build environments only if no other plugin has built them. See the problem described in the linked discussion. And they also want to make sure to do build related tasks after all environments have been built.
Once builder.buildApp is removed, the expected behavior with post is just to ensure it is run after all pre and normal order buildApp hooks. It is like having an afterBuildApp hook, but where you can still build environments. We could still have a beforeBuildApp and afterBuildApp hook.
But to the point in your other thread, I see now that it isn't only about order and the builder.buildApp hook. We can still move it as the last thing, after all post hooks (anyways, it is going to be removed). And to define the default as you propose building all environments that haven't been defined. In that case, the buildApp hooks will act more like a way to order the environment builds, more than deciding what gets built.
We could have an environment.build.manual: true config or something similar to define that this environment shouldn't be built if a hook hasn't build it.
There was a problem hiding this comment.
The idea of the post hook was to give a way to plugins to build environments only if no other plugin has built them
Oh right, I remembered that's the whole point of providing isBuilt to user land. What I had in mind was "hook after all writeBundle" #16358 (comment).
|
I think a really nice addition to this would be if the built environments include manifest objects. These would be the same format as you currently get by outputting the manifest file but would be stored in memory. Currently, frameworks often output a manifest file and then read it in order to move assets emitted in the SSR environment to the client bundle. Having this available on the environment (similar to I realise that this is probably outside the scope of this PR but bringing it up now as including additional data on the |
|
How to keep the manifests around is an interesting point. Maybe we could have it as Next we may want an opt-in |
|
I created a new issue for the manifest feature discussed above - #20052. |
This MR contains the following updates:
| Package | Type | Update | Change | OpenSSF |
|---|---|---|---|---|
| [vite](https://vite.dev) ([source](https://github.com/vitejs/vite/tree/HEAD/packages/vite)) | devDependencies | major | [`^6.3.6` → `^7.0.0`](https://renovatebot.com/diffs/npm/vite/6.4.1/7.3.1) | [](https://securityscorecards.dev/viewer/?uri=github.com/vitejs/vite) |
---
### Release Notes
<details>
<summary>vitejs/vite (vite)</summary>
### [`v7.3.1`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-731-2026-01-07-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.3.0...v7.3.1)
##### Features
- add `ignoreOutdatedRequests` option to `optimizeDeps` ([#​21364](https://github.com/vitejs/vite/issues/21364)) ([9d39d37](https://github.com/vitejs/vite/commit/9d39d373a7b4e0a93322b70b9dbeb202af06af3e))
### [`v7.3.0`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#730-2025-12-15)
[Compare Source](https://github.com/vitejs/vite/compare/v7.2.7...v7.3.0)
##### Features
- **deps:** update esbuild from ^0.25.0 to ^0.27.0 ([#​21183](https://github.com/vitejs/vite/issues/21183)) ([cff26ec](https://github.com/vitejs/vite/commit/cff26ec0fc13373d7125a5eac6cb01fe63fee4b1))
### [`v7.2.7`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-727-2025-12-08-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.2.6...v7.2.7)
##### Bug Fixes
- plugin shortcut support ([#​21211](https://github.com/vitejs/vite/issues/21211)) ([721f163](https://github.com/vitejs/vite/commit/721f16343d9555ae8fc71a2e5354b22e12ff0dc3))
### [`v7.2.6`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-726-2025-12-01-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.2.4...v7.2.6)
#### <small>[7.2.6](https://github.com/vitejs/vite/compare/v7.2.5...v7.2.6) (2025-12-01)</small>
### [`v7.2.4`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-724-2025-11-20-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.2.3...v7.2.4)
##### Bug Fixes
- revert "perf(deps): replace debug with obug ([#​21107](https://github.com/vitejs/vite/issues/21107))" ([2d66b7b](https://github.com/vitejs/vite/commit/2d66b7b14aa6dfd62f3d6a59ee8382ed5ca6fd32))
### [`v7.2.3`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-723-2025-11-20-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.2.2...v7.2.3)
##### Bug Fixes
- allow multiple `bindCLIShortcuts` calls with shortcut merging ([#​21103](https://github.com/vitejs/vite/issues/21103)) ([5909efd](https://github.com/vitejs/vite/commit/5909efd8fbfd1bf1eab65427aea0613124b2797a))
- **deps:** update all non-major dependencies ([#​21096](https://github.com/vitejs/vite/issues/21096)) ([6a34ac3](https://github.com/vitejs/vite/commit/6a34ac3422686e7cf7cc9a25d299cb8e5a8d92a0))
- **deps:** update all non-major dependencies ([#​21128](https://github.com/vitejs/vite/issues/21128)) ([4f8171e](https://github.com/vitejs/vite/commit/4f8171eb3046bd70c83964689897dab4c6b58bc0))
##### Performance Improvements
- **deps:** replace debug with obug ([#​21107](https://github.com/vitejs/vite/issues/21107)) ([acfe939](https://github.com/vitejs/vite/commit/acfe939e1f7c303c34b0b39b883cc302da767fa2))
##### Miscellaneous Chores
- **deps:** update dependency [@​rollup/plugin-commonjs](https://github.com/rollup/plugin-commonjs) to v29 ([#​21099](https://github.com/vitejs/vite/issues/21099)) ([02ceaec](https://github.com/vitejs/vite/commit/02ceaec45e17bef19159188a28d9196fed1761be))
- **deps:** update rolldown-related dependencies ([#​21095](https://github.com/vitejs/vite/issues/21095)) ([39a0a15](https://github.com/vitejs/vite/commit/39a0a15fd24ed37257c48b795097a3794e54d255))
- **deps:** update rolldown-related dependencies ([#​21127](https://github.com/vitejs/vite/issues/21127)) ([5029720](https://github.com/vitejs/vite/commit/50297208452241061cb44d09a4bbdf77a11ac01e))
### [`v7.2.2`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-722-2025-11-07-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.2.1...v7.2.2)
##### Bug Fixes
- revert "refactor: use fs.cpSync ([#​21019](https://github.com/vitejs/vite/issues/21019))" ([#​21081](https://github.com/vitejs/vite/issues/21081)) ([728c8ee](https://github.com/vitejs/vite/commit/728c8eeebc0ad7ba48e680f46bbdb55020b2e152))
### [`v7.2.1`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#800-beta0-2025-12-03)
[Compare Source](https://github.com/vitejs/vite/compare/v7.2.0...v7.2.1)
##### ⚠ BREAKING CHANGES
- update default browser target ([#​21193](https://github.com/vitejs/vite/issues/21193))
- the epic `rolldown-vite` merge ([#​21189](https://github.com/vitejs/vite/issues/21189))
##### Features
- update default browser target ([#​21193](https://github.com/vitejs/vite/issues/21193)) ([8c3dd06](https://github.com/vitejs/vite/commit/8c3dd06bd9903bf0e6bc51f3554eea8cb6b26903))
- the epic `rolldown-vite` merge ([#​21189](https://github.com/vitejs/vite/issues/21189)) ([4a7f8d4](https://github.com/vitejs/vite/commit/4a7f8d43e6b14b89fef278c3ea86f9e3f64b7fc2))
##### Rolldown-Vite changelogs
See [rolldown-vite changelog](https://github.com/vitejs/rolldown-vite/blob/v7.2.10/packages/vite/CHANGELOG.md)
### [`v7.2.0`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#720-2025-11-05)
[Compare Source](https://github.com/vitejs/vite/compare/v7.1.12...v7.2.0)
##### Bug Fixes
- **css:** fallback to sass when sass-embedded platform binary is missing ([#​21002](https://github.com/vitejs/vite/issues/21002)) ([b1fd616](https://github.com/vitejs/vite/commit/b1fd6161886caeb31ac646d6544116d37efe46d0))
- **module-runner:** make `getBuiltins` response JSON serializable ([#​21029](https://github.com/vitejs/vite/issues/21029)) ([ad5b3bf](https://github.com/vitejs/vite/commit/ad5b3bf6f3ad7b24886718c5f5de32eee923ae11))
- **types:** add undefined to optional properties for exactOptionalProperties type compatibility ([#​21040](https://github.com/vitejs/vite/issues/21040)) ([2833c55](https://github.com/vitejs/vite/commit/2833c5576a87be2db450c195ccf64dfc8925a15b))
##### Miscellaneous Chores
- **deps:** update rolldown-related dependencies ([#​21047](https://github.com/vitejs/vite/issues/21047)) ([e3a6a83](https://github.com/vitejs/vite/commit/e3a6a83406943bc59a9916cae3f25ab33c2b5802))
### [`v7.1.12`](https://github.com/vitejs/vite/releases/tag/v7.1.12)
[Compare Source](https://github.com/vitejs/vite/compare/v7.1.11...v7.1.12)
Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v7.1.12/packages/vite/CHANGELOG.md) for details.
### [`v7.1.11`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-7111-2025-10-20-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.1.10...v7.1.11)
##### Bug Fixes
- **dev:** trim trailing slash before `server.fs.deny` check ([#​20968](https://github.com/vitejs/vite/issues/20968)) ([f479cc5](https://github.com/vitejs/vite/commit/f479cc57c425ed41ceb434fecebd63931b1ed4ed))
##### Miscellaneous Chores
- **deps:** update all non-major dependencies ([#​20966](https://github.com/vitejs/vite/issues/20966)) ([6fb41a2](https://github.com/vitejs/vite/commit/6fb41a260bda443685e719ea4765d3faca3db944))
##### Code Refactoring
- use subpath imports for types module reference ([#​20921](https://github.com/vitejs/vite/issues/20921)) ([d0094af](https://github.com/vitejs/vite/commit/d0094af639d9ebbb51d4e00910b74f23eb8fe131))
##### Build System
- remove cjs reference in files field ([#​20945](https://github.com/vitejs/vite/issues/20945)) ([ef411ce](https://github.com/vitejs/vite/commit/ef411cee2696af3ba791879fdae9aad165f178b2))
- remove hash from built filenames ([#​20946](https://github.com/vitejs/vite/issues/20946)) ([a817307](https://github.com/vitejs/vite/commit/a81730754d655d1371ce0f4354af1c84e12f9f2d))
### [`v7.1.10`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-7110-2025-10-14-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.1.9...v7.1.10)
##### Bug Fixes
- **css:** avoid duplicate style for server rendered stylesheet link and client inline style during dev ([#​20767](https://github.com/vitejs/vite/issues/20767)) ([3a92bc7](https://github.com/vitejs/vite/commit/3a92bc79b306a01b8aaf37f80b2239eaf6e488e7))
- **css:** respect emitAssets when cssCodeSplit=false ([#​20883](https://github.com/vitejs/vite/issues/20883)) ([d3e7eee](https://github.com/vitejs/vite/commit/d3e7eeefa91e1992f47694d16fe4dbe708c4d80e))
- **deps:** update all non-major dependencies ([879de86](https://github.com/vitejs/vite/commit/879de86935a31b4e47ab907ddd859366518ce268))
- **deps:** update all non-major dependencies ([#​20894](https://github.com/vitejs/vite/issues/20894)) ([3213f90](https://github.com/vitejs/vite/commit/3213f90ff0d8f274bcec65f40aac6dfcff1ac244))
- **dev:** allow aliases starting with `//` ([#​20760](https://github.com/vitejs/vite/issues/20760)) ([b95fa2a](https://github.com/vitejs/vite/commit/b95fa2aa7564eda4c9f05ee7616a2dbada35e463))
- **dev:** remove timestamp query consistently ([#​20887](https://github.com/vitejs/vite/issues/20887)) ([6537d15](https://github.com/vitejs/vite/commit/6537d15591619d7e1cfc1e50599bec16cd88340f))
- **esbuild:** inject esbuild helpers correctly for esbuild 0.25.9+ ([#​20906](https://github.com/vitejs/vite/issues/20906)) ([446eb38](https://github.com/vitejs/vite/commit/446eb386329ef682d614c77958a542f2dc222880))
- normalize path before calling `fileToBuiltUrl` ([#​20898](https://github.com/vitejs/vite/issues/20898)) ([73b6d24](https://github.com/vitejs/vite/commit/73b6d243e0398ee5d8d44c7d24162f4a0f4b1cf1))
- preserve original sourcemap file field when combining sourcemaps ([#​20926](https://github.com/vitejs/vite/issues/20926)) ([c714776](https://github.com/vitejs/vite/commit/c714776aa1dcc24299a81c1495cbcbb1b1ef1dd3))
##### Documentation
- correct `WebSocket` spelling ([#​20890](https://github.com/vitejs/vite/issues/20890)) ([29e98dc](https://github.com/vitejs/vite/commit/29e98dc3efe35efbd978523367c05db7d2e7a278))
##### Miscellaneous Chores
- **deps:** update rolldown-related dependencies ([#​20923](https://github.com/vitejs/vite/issues/20923)) ([a5e3b06](https://github.com/vitejs/vite/commit/a5e3b064fa7ca981cb6f15f8e88806b36a99b8bf))
### [`v7.1.9`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-719-2025-10-03-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.1.8...v7.1.9)
##### Reverts
- **server:** drain stdin when not interactive ([#​20885](https://github.com/vitejs/vite/issues/20885)) ([12d72b0](https://github.com/vitejs/vite/commit/12d72b0538ef1540bfb0f1dd8a44b75deaa3464e))
### [`v7.1.8`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-718-2025-10-02-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.1.7...v7.1.8)
##### Bug Fixes
- **css:** improve url escape characters handling ([#​20847](https://github.com/vitejs/vite/issues/20847)) ([24a61a3](https://github.com/vitejs/vite/commit/24a61a3f5404279e91f7ceebf7449a5e874f9d56))
- **deps:** update all non-major dependencies ([#​20855](https://github.com/vitejs/vite/issues/20855)) ([788a183](https://github.com/vitejs/vite/commit/788a183afce57de13f5656f0cf42cdf6fdc3ebaa))
- **deps:** update artichokie to 0.4.2 ([#​20864](https://github.com/vitejs/vite/issues/20864)) ([e670799](https://github.com/vitejs/vite/commit/e670799e123dca78e1a63aeb06dbadade3d5ab51))
- **dev:** skip JS responses for document requests ([#​20866](https://github.com/vitejs/vite/issues/20866)) ([6bc6c4d](https://github.com/vitejs/vite/commit/6bc6c4dbc23501577d3919dc841454eb2eb14a54))
- **glob:** fix HMR for array patterns with exclusions ([#​20872](https://github.com/vitejs/vite/issues/20872)) ([63e040f](https://github.com/vitejs/vite/commit/63e040f1ca6b635a007eb40aa7c8b891e8cc5799))
- keep ids for virtual modules as-is ([#​20808](https://github.com/vitejs/vite/issues/20808)) ([d4eca98](https://github.com/vitejs/vite/commit/d4eca986d679c77bd449db20fd99d8255985b550))
- **server:** drain stdin when not interactive ([#​20837](https://github.com/vitejs/vite/issues/20837)) ([bb950e9](https://github.com/vitejs/vite/commit/bb950e92b372f9a52245e9542cf9d9700d23ef8c))
- **server:** improve malformed URL handling in middlewares ([#​20830](https://github.com/vitejs/vite/issues/20830)) ([d65a983](https://github.com/vitejs/vite/commit/d65a9831c984e562c5bf2b5f427de16f6e1bd931))
##### Documentation
- **create-vite:** provide deno example ([#​20747](https://github.com/vitejs/vite/issues/20747)) ([fdb758a](https://github.com/vitejs/vite/commit/fdb758a51796b1ab605437b2eee778a84e87e169))
##### Miscellaneous Chores
- **deps:** update rolldown-related dependencies ([#​20810](https://github.com/vitejs/vite/issues/20810)) ([ea68a88](https://github.com/vitejs/vite/commit/ea68a8868c7ee249213057f8a81c3f92a9839dde))
- **deps:** update rolldown-related dependencies ([#​20854](https://github.com/vitejs/vite/issues/20854)) ([4dd06fd](https://github.com/vitejs/vite/commit/4dd06fdc8d643059c2abf88188eae7c4877aab6e))
- update url of `create-react-app` license ([#​20865](https://github.com/vitejs/vite/issues/20865)) ([166a178](https://github.com/vitejs/vite/commit/166a178f45b6e48db27b5626559f5ec3358c2fb4))
### [`v7.1.7`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-717-2025-09-22-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.1.6...v7.1.7)
##### Bug Fixes
- **build:** fix ssr environment `emitAssets: true` when `sharedConfigBuild: true` ([#​20787](https://github.com/vitejs/vite/issues/20787)) ([4c4583c](https://github.com/vitejs/vite/commit/4c4583ce7a13306e0853901570c5d95517fe81da))
- **client:** use CSP nonce when rendering error overlay ([#​20791](https://github.com/vitejs/vite/issues/20791)) ([9bc9d12](https://github.com/vitejs/vite/commit/9bc9d1258f550e9d8f5e530cd27aecb1bee32bdb))
- **deps:** update all non-major dependencies ([#​20811](https://github.com/vitejs/vite/issues/20811)) ([9f2247c](https://github.com/vitejs/vite/commit/9f2247c066cac75746356c9391845235445a154b))
- **glob:** handle glob imports from folders starting with dot ([#​20800](https://github.com/vitejs/vite/issues/20800)) ([105abe8](https://github.com/vitejs/vite/commit/105abe87c412cf0f83859ba41fed869221cbb3e0))
- **hmr:** trigger prune event when import is removed from non hmr module ([#​20768](https://github.com/vitejs/vite/issues/20768)) ([9f32b1d](https://github.com/vitejs/vite/commit/9f32b1dc710991c53a9f665c8d0d6945f342bf92))
- **hmr:** wait for `import.meta.hot.prune` callbacks to complete before running other HMRs ([#​20698](https://github.com/vitejs/vite/issues/20698)) ([98a3484](https://github.com/vitejs/vite/commit/98a3484733443ee529870477a6ab6a03572e3cbc))
### [`v7.1.6`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-716-2025-09-18-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.1.5...v7.1.6)
##### Bug Fixes
- **deps:** update all non-major dependencies ([#​20773](https://github.com/vitejs/vite/issues/20773)) ([88af2ae](https://github.com/vitejs/vite/commit/88af2ae7df77160e7d11a9fa147a4967c8499f13))
- **esbuild:** inject esbuild helper functions with minified `$` variables correctly ([#​20761](https://github.com/vitejs/vite/issues/20761)) ([7e8e004](https://github.com/vitejs/vite/commit/7e8e0043d60379e11da481d9cc3c3556c9756ac0))
- fallback terser to main thread when nameCache is provided ([#​20750](https://github.com/vitejs/vite/issues/20750)) ([a679a64](https://github.com/vitejs/vite/commit/a679a643404c95556dda2670643e14eca9c585bd))
- **types:** strict env typings fail when `skipLibCheck` is `false` ([#​20755](https://github.com/vitejs/vite/issues/20755)) ([cc54e29](https://github.com/vitejs/vite/commit/cc54e294746d3eac868de96f85d98dd0fa0cda11))
##### Miscellaneous Chores
- **deps:** update rolldown-related dependencies ([#​20675](https://github.com/vitejs/vite/issues/20675)) ([a67bb5f](https://github.com/vitejs/vite/commit/a67bb5fbec5f3e42151dc7e3166858d0d33533de))
- **deps:** update rolldown-related dependencies ([#​20772](https://github.com/vitejs/vite/issues/20772)) ([d785e72](https://github.com/vitejs/vite/commit/d785e72f2ead705e8b2416c0a5097878fced3435))
### [`v7.1.5`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-715-2025-09-08-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.1.4...v7.1.5)
##### Bug Fixes
- apply `fs.strict` check to HTML files ([#​20736](https://github.com/vitejs/vite/issues/20736)) ([14015d7](https://github.com/vitejs/vite/commit/14015d794f69accba68798bd0e15135bc51c9c1e))
- **deps:** update all non-major dependencies ([#​20732](https://github.com/vitejs/vite/issues/20732)) ([122bfba](https://github.com/vitejs/vite/commit/122bfbabeb1f095ce7cabd30893e5531e9a007c4))
- upgrade sirv to 3.0.2 ([#​20735](https://github.com/vitejs/vite/issues/20735)) ([09f2b52](https://github.com/vitejs/vite/commit/09f2b52e8d5907f26602653caf41b3a56692600d))
### [`v7.1.4`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-714-2025-09-01-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.1.3...v7.1.4)
##### Bug Fixes
- add missing awaits ([#​20697](https://github.com/vitejs/vite/issues/20697)) ([79d10ed](https://github.com/vitejs/vite/commit/79d10ed6341ba7a751d007b7ad113a9b8be9c853))
- **deps:** update all non-major dependencies ([#​20676](https://github.com/vitejs/vite/issues/20676)) ([5a274b2](https://github.com/vitejs/vite/commit/5a274b29df83744cf0ce4dafd94029d2a9e01135))
- **deps:** update all non-major dependencies ([#​20709](https://github.com/vitejs/vite/issues/20709)) ([0401feb](https://github.com/vitejs/vite/commit/0401feba17e60bd7e976c5643128a0da49670a83))
- pass rollup watch options when building in watch mode ([#​20674](https://github.com/vitejs/vite/issues/20674)) ([f367453](https://github.com/vitejs/vite/commit/f367453ca2825bc8a390d41c5d13b161756f2b41))
##### Miscellaneous Chores
- remove unused constants entry from rolldown.config.ts ([#​20710](https://github.com/vitejs/vite/issues/20710)) ([537fcf9](https://github.com/vitejs/vite/commit/537fcf91862a1bf51e70ce6fe9b414319dd3a675))
##### Code Refactoring
- remove unnecessary `minify` parameter from `finalizeCss` ([#​20701](https://github.com/vitejs/vite/issues/20701)) ([8099582](https://github.com/vitejs/vite/commit/8099582e5364f907f2bc6cb8e2d52ae0c4d937e4))
### [`v7.1.3`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-713-2025-08-19-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.1.2...v7.1.3)
##### Features
- **cli:** add Node.js version warning for unsupported versions ([#​20638](https://github.com/vitejs/vite/issues/20638)) ([a1be1bf](https://github.com/vitejs/vite/commit/a1be1bf0905b9086e5f1370c63d76a7fa4a195ec))
- generate code frame for parse errors thrown by terser ([#​20642](https://github.com/vitejs/vite/issues/20642)) ([a9ba017](https://github.com/vitejs/vite/commit/a9ba0174a58b949373d6b4240bc69180dff0b780))
- support long lines in `generateCodeFrame` ([#​20640](https://github.com/vitejs/vite/issues/20640)) ([1559577](https://github.com/vitejs/vite/commit/15595773170c2a07f2efdccee05964fb87c19ae6))
##### Bug Fixes
- **deps:** update all non-major dependencies ([#​20634](https://github.com/vitejs/vite/issues/20634)) ([4851cab](https://github.com/vitejs/vite/commit/4851cab3ba818b5f0f82eef3796b61d4b12768f1))
- **optimizer:** incorrect incompatible error ([#​20439](https://github.com/vitejs/vite/issues/20439)) ([446fe83](https://github.com/vitejs/vite/commit/446fe83033686dd38d13b786a217b8277b5c5f09))
- support multiline new URL(..., import.meta.url) expressions ([#​20644](https://github.com/vitejs/vite/issues/20644)) ([9ccf142](https://github.com/vitejs/vite/commit/9ccf142764d48292aa33e5ca6f020a7d55b97f61))
##### Performance Improvements
- **cli:** dynamically import `resolveConfig` ([#​20646](https://github.com/vitejs/vite/issues/20646)) ([f691f57](https://github.com/vitejs/vite/commit/f691f57e46118328e00174160ceab2101b7256ca))
##### Miscellaneous Chores
- **deps:** update rolldown-related dependencies ([#​20633](https://github.com/vitejs/vite/issues/20633)) ([98b92e8](https://github.com/vitejs/vite/commit/98b92e8c4b10ae87c48292a8ac09b01ca81a02cf))
##### Code Refactoring
- replace startsWith with strict equality ([#​20603](https://github.com/vitejs/vite/issues/20603)) ([42816de](https://github.com/vitejs/vite/commit/42816dee0e177dded1c9de4d9099089ec4acef96))
- use `import` in worker threads ([#​20641](https://github.com/vitejs/vite/issues/20641)) ([530687a](https://github.com/vitejs/vite/commit/530687a344c51daf3115d1c134586bbde58356e0))
##### Tests
- remove `checkNodeVersion` test ([#​20647](https://github.com/vitejs/vite/issues/20647)) ([731d3e6](https://github.com/vitejs/vite/commit/731d3e61f444f6c5e611f67b531416ed6450f90f))
### [`v7.1.2`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-712-2025-08-12-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.1.1...v7.1.2)
##### Bug Fixes
- **client:** add `[vite]` prefixes to debug logs ([#​20595](https://github.com/vitejs/vite/issues/20595)) ([7cdef61](https://github.com/vitejs/vite/commit/7cdef612a65da5363905723f77516b6745ac9a94))
- **config:** make debugger work with bundle loader ([#​20573](https://github.com/vitejs/vite/issues/20573)) ([c583927](https://github.com/vitejs/vite/commit/c583927bee657f15f63fdf80468fbe6a74eacdec))
- **deps:** update all non-major dependencies ([#​20587](https://github.com/vitejs/vite/issues/20587)) ([20d4817](https://github.com/vitejs/vite/commit/20d48172a0352d32f766b3c878d52a8944fdbf6e))
- don't consider ids with `npm:` prefix as a built-in module ([#​20558](https://github.com/vitejs/vite/issues/20558)) ([ab33803](https://github.com/vitejs/vite/commit/ab33803f2c831a82ddee637ad62e0c4ceeb663f1))
- **hmr:** watch non-inlined assets referenced by CSS ([#​20581](https://github.com/vitejs/vite/issues/20581)) ([b7d494b](https://github.com/vitejs/vite/commit/b7d494bf60af3ef7316d87266bb3ebf56617d5fd))
- **module-runner:** prevent crash when sourceMappingURL pattern appears in string literals ([#​20554](https://github.com/vitejs/vite/issues/20554)) ([2770478](https://github.com/vitejs/vite/commit/2770478d1c190d3e3de34ef9a3d2c493c06e9933))
##### Miscellaneous Chores
- **deps:** migrate to `@jridgewell/remapping` from `@ampproject/remapping` ([#​20577](https://github.com/vitejs/vite/issues/20577)) ([0a6048a](https://github.com/vitejs/vite/commit/0a6048aba4523f451edf29ae4037d252cc963815))
- **deps:** update rolldown-related dependencies ([#​20586](https://github.com/vitejs/vite/issues/20586)) ([77632c5](https://github.com/vitejs/vite/commit/77632c55db51cd6d03bcf24a1cef8d21058100a3))
### [`v7.1.1`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-7111-2025-10-20-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.1.0...v7.1.1)
##### Bug Fixes
- **dev:** trim trailing slash before `server.fs.deny` check ([#​20968](https://github.com/vitejs/vite/issues/20968)) ([f479cc5](https://github.com/vitejs/vite/commit/f479cc57c425ed41ceb434fecebd63931b1ed4ed))
##### Miscellaneous Chores
- **deps:** update all non-major dependencies ([#​20966](https://github.com/vitejs/vite/issues/20966)) ([6fb41a2](https://github.com/vitejs/vite/commit/6fb41a260bda443685e719ea4765d3faca3db944))
##### Code Refactoring
- use subpath imports for types module reference ([#​20921](https://github.com/vitejs/vite/issues/20921)) ([d0094af](https://github.com/vitejs/vite/commit/d0094af639d9ebbb51d4e00910b74f23eb8fe131))
##### Build System
- remove cjs reference in files field ([#​20945](https://github.com/vitejs/vite/issues/20945)) ([ef411ce](https://github.com/vitejs/vite/commit/ef411cee2696af3ba791879fdae9aad165f178b2))
- remove hash from built filenames ([#​20946](https://github.com/vitejs/vite/issues/20946)) ([a817307](https://github.com/vitejs/vite/commit/a81730754d655d1371ce0f4354af1c84e12f9f2d))
### [`v7.1.0`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#710-2025-08-07)
[Compare Source](https://github.com/vitejs/vite/compare/v7.0.8...v7.1.0)
##### Features
- support files with more than 1000 lines by `generateCodeFrame` ([#​20508](https://github.com/vitejs/vite/issues/20508)) ([e7d0b2a](https://github.com/vitejs/vite/commit/e7d0b2afa56840dabbbad10015dc04083caaf248))
- add `import.meta.main` support in config (bundle config loader) ([#​20516](https://github.com/vitejs/vite/issues/20516)) ([5d3e3c2](https://github.com/vitejs/vite/commit/5d3e3c2ae5a2174941fd09fd7842794a287c3ab7))
- **optimizer:** improve dependency optimization error messages with esbuild formatMessages ([#​20525](https://github.com/vitejs/vite/issues/20525)) ([d17cfed](https://github.com/vitejs/vite/commit/d17cfeda0741e4476570700a00b7b37917c97700))
- **ssr:** add `import.meta.main` support for Node.js module runner ([#​20517](https://github.com/vitejs/vite/issues/20517)) ([794a8f2](https://github.com/vitejs/vite/commit/794a8f230218a3b1e148defc5a2d7a67409177ff))
- add `future: 'warn'` ([#​20473](https://github.com/vitejs/vite/issues/20473)) ([e6aaf17](https://github.com/vitejs/vite/commit/e6aaf17ca21544572941957ce71bd8dbdc94e402))
- add `removeServerPluginContainer` future deprecation ([#​20437](https://github.com/vitejs/vite/issues/20437)) ([c1279e7](https://github.com/vitejs/vite/commit/c1279e75401ac6ea1d0678da88414a76ff36b6fe))
- add `removeServerReloadModule` future deprecation ([#​20436](https://github.com/vitejs/vite/issues/20436)) ([6970d17](https://github.com/vitejs/vite/commit/6970d1740cebd56af696abf60f30adb0c060f578))
- add `server.warmupRequest` to future deprecation ([#​20431](https://github.com/vitejs/vite/issues/20431)) ([8ad388a](https://github.com/vitejs/vite/commit/8ad388aeab0dc79e4bc14859b91174427805a46b))
- add `ssrFixStacktrace` / `ssrRewriteStacktrace` to `removeSsrLoadModule` future deprecation ([#​20435](https://github.com/vitejs/vite/issues/20435)) ([8c8f587](https://github.com/vitejs/vite/commit/8c8f5879ead251705c2c363f5b8b94f618fbf374))
- **client:** ping from SharedWorker ([#​19057](https://github.com/vitejs/vite/issues/19057)) ([5c97c22](https://github.com/vitejs/vite/commit/5c97c22548476e5f80856ece1d80b9234a7e6ecb))
- **dev:** add `this.fs` support ([#​20301](https://github.com/vitejs/vite/issues/20301)) ([0fe3f2f](https://github.com/vitejs/vite/commit/0fe3f2f7c325c5990f1059c28b66b24e1b8fd5d3))
- export `defaultExternalConditions` ([#​20279](https://github.com/vitejs/vite/issues/20279)) ([344d302](https://github.com/vitejs/vite/commit/344d30243b107852b133175e947a0410ea703f00))
- implement `removePluginHookSsrArgument` future deprecation ([#​20433](https://github.com/vitejs/vite/issues/20433)) ([95927d9](https://github.com/vitejs/vite/commit/95927d9c0ba1cb0b3bd8c900f039c099f8e29f90))
- implement `removeServerHot` future deprecation ([#​20434](https://github.com/vitejs/vite/issues/20434)) ([259f45d](https://github.com/vitejs/vite/commit/259f45d0698a184d6ecc352b610001fa1acdcee1))
- resolve server URLs before calling other listeners ([#​19981](https://github.com/vitejs/vite/issues/19981)) ([45f6443](https://github.com/vitejs/vite/commit/45f6443a935258d8eee62874f0695b8c1c60a481))
- **ssr:** resolve externalized packages with `resolve.externalConditions` and add `module-sync` to default external condition ([#​20409](https://github.com/vitejs/vite/issues/20409)) ([c669c52](https://github.com/vitejs/vite/commit/c669c524e6008a4902169f4b2f865e892297acf3))
- **ssr:** support `import.meta.resolve` in module runner ([#​20260](https://github.com/vitejs/vite/issues/20260)) ([62835f7](https://github.com/vitejs/vite/commit/62835f7c06d37802f0bc2abbf58bbaeaa8c73ce5))
##### Bug Fixes
- **css:** avoid warnings for `image-set` containing `__VITE_ASSET__` ([#​20520](https://github.com/vitejs/vite/issues/20520)) ([f1a2635](https://github.com/vitejs/vite/commit/f1a2635e6977a3eda681bec036f64f07686dad0d))
- **css:** empty CSS entry points should generate CSS files, not JS files ([#​20518](https://github.com/vitejs/vite/issues/20518)) ([bac9f3e](https://github.com/vitejs/vite/commit/bac9f3ecf84ae5c5add6ef224ae057508247f89e))
- **dev:** denied request stalled when requested concurrently ([#​20503](https://github.com/vitejs/vite/issues/20503)) ([64a52e7](https://github.com/vitejs/vite/commit/64a52e70d9250b16aa81ce2df27c23fe56907257))
- **manifest:** initialize `entryCssAssetFileNames` as an empty Set ([#​20542](https://github.com/vitejs/vite/issues/20542)) ([6a46cda](https://github.com/vitejs/vite/commit/6a46cdac5dece70296d1179640958deeeb2e6c19))
- skip prepareOutDirPlugin in workers ([#​20556](https://github.com/vitejs/vite/issues/20556)) ([97d5111](https://github.com/vitejs/vite/commit/97d5111645a395dae48b16b110bc76c1ee8956c8))
- **asset:** only watch existing files for `new URL(, import.meta.url)` ([#​20507](https://github.com/vitejs/vite/issues/20507)) ([1b211fd](https://github.com/vitejs/vite/commit/1b211fd1beccd0fc13bec700815abaa9f54147e8))
- **client:** keep ping on WS constructor error ([#​20512](https://github.com/vitejs/vite/issues/20512)) ([3676da5](https://github.com/vitejs/vite/commit/3676da5bc5b2b69b28619b8521fca94d30468fe5))
- **deps:** update all non-major dependencies ([#​20537](https://github.com/vitejs/vite/issues/20537)) ([fc9a9d3](https://github.com/vitejs/vite/commit/fc9a9d3f1493caa3d614f64e0a61fd5684f0928b))
- don't resolve as relative for specifiers starting with a dot ([#​20528](https://github.com/vitejs/vite/issues/20528)) ([c5a10ec](https://github.com/vitejs/vite/commit/c5a10ec004130bec17cf42760b76d1d404008fa3))
- **html:** allow control character in input stream ([#​20483](https://github.com/vitejs/vite/issues/20483)) ([c12a4a7](https://github.com/vitejs/vite/commit/c12a4a76a299237a0a13b885c72fdda6e4a3c9b7))
- merge old and new `noExternal: true` correctly ([#​20502](https://github.com/vitejs/vite/issues/20502)) ([9ebe4a5](https://github.com/vitejs/vite/commit/9ebe4a514a2e48e3fe194f16b0556a45ff38077a))
- **deps:** update all non-major dependencies ([#​20489](https://github.com/vitejs/vite/issues/20489)) ([f6aa04a](https://github.com/vitejs/vite/commit/f6aa04a52d486c8881f666c450caa3dab3c6bba1))
- **dev:** denied requests overly ([#​20410](https://github.com/vitejs/vite/issues/20410)) ([4be5270](https://github.com/vitejs/vite/commit/4be5270b27f7e6323f1771974b4b3520d86600e4))
- **hmr:** register css deps as `type: asset` ([#​20391](https://github.com/vitejs/vite/issues/20391)) ([7eac8dd](https://github.com/vitejs/vite/commit/7eac8ddb65033b8c001d6c6bc46aaeeefb79680a))
- **optimizer:** discover correct jsx runtime during scan ([#​20495](https://github.com/vitejs/vite/issues/20495)) ([10d48bb](https://github.com/vitejs/vite/commit/10d48bb2e30824d217e415a58cea9e69c2820c2a))
- **preview:** set correct host for `resolvedUrls` ([#​20496](https://github.com/vitejs/vite/issues/20496)) ([62b3e0d](https://github.com/vitejs/vite/commit/62b3e0d95c143e2f8b4e88d99c381d23663025ee))
- **worker:** resolve WebKit compat with inline workers by deferring blob URL revocation ([#​20460](https://github.com/vitejs/vite/issues/20460)) ([8033e5b](https://github.com/vitejs/vite/commit/8033e5bf8d3ff43995d0620490ed8739c59171dd))
##### Performance Improvements
- **client:** reduce reload debounce ([#​20429](https://github.com/vitejs/vite/issues/20429)) ([22ad43b](https://github.com/vitejs/vite/commit/22ad43b4bf2435efe78a65b84e8469b23521900a))
##### Miscellaneous Chores
- **deps:** update rolldown-related dependencies ([#​20536](https://github.com/vitejs/vite/issues/20536)) ([8be2787](https://github.com/vitejs/vite/commit/8be278748a92b128c49a24619d8d537dd2b08ceb))
- **deps:** update dependency parse5 to v8 ([#​20490](https://github.com/vitejs/vite/issues/20490)) ([744582d](https://github.com/vitejs/vite/commit/744582d0187c50045fb6cf229e3fab13093af08e))
- format ([f20addc](https://github.com/vitejs/vite/commit/f20addc5363058f5fd797e5bc71fab3877ed0a76))
- stablize `cssScopeTo` ([#​19592](https://github.com/vitejs/vite/issues/19592)) ([ced1343](https://github.com/vitejs/vite/commit/ced13433fb71e2101850a4da1b0ef70cbc38b804))
##### Code Refactoring
- use hook filters in the worker plugin ([#​20527](https://github.com/vitejs/vite/issues/20527)) ([958cdf2](https://github.com/vitejs/vite/commit/958cdf24f882be6953ca20912dd30c84213b069b))
- extract prepareOutDir as a plugin ([#​20373](https://github.com/vitejs/vite/issues/20373)) ([2c4af1f](https://github.com/vitejs/vite/commit/2c4af1f90b3ac98df6f4585a329528e6bd850462))
- extract resolve rollup options ([#​20375](https://github.com/vitejs/vite/issues/20375)) ([61a9778](https://github.com/vitejs/vite/commit/61a97780e6c54adb87345cb8c1f5f0d8e9ca5c05))
- rewrite openchrome.applescript to JXA ([#​20424](https://github.com/vitejs/vite/issues/20424)) ([7979f9d](https://github.com/vitejs/vite/commit/7979f9da555aa16bd221b32ea78ce8cb5292fac4))
- use `http-proxy-3` ([#​20402](https://github.com/vitejs/vite/issues/20402)) ([26d9872](https://github.com/vitejs/vite/commit/26d987232aad389733a7635b92122bb1d78dfcad))
- use hook filters in internal plugins ([#​20358](https://github.com/vitejs/vite/issues/20358)) ([f19c4d7](https://github.com/vitejs/vite/commit/f19c4d72de142814994e30120aa4ad57552cb874))
- use hook filters in internal resolve plugin ([#​20480](https://github.com/vitejs/vite/issues/20480)) ([acd2a13](https://github.com/vitejs/vite/commit/acd2a13c2d80e8c5c721bcf9738dfc03346cbfe1))
##### Tests
- detect ts support via `process.features` ([#​20544](https://github.com/vitejs/vite/issues/20544)) ([856d3f0](https://github.com/vitejs/vite/commit/856d3f06e6889979f630c8453fa385f01d8adaba))
- fix unimportant errors in test-unit ([#​20545](https://github.com/vitejs/vite/issues/20545)) ([1f23554](https://github.com/vitejs/vite/commit/1f235545b14a51d41b19a49da4a7e3a8e8eb5d10))
##### Beta Changelogs
##### [7.1.0-beta.1](https://github.com/vitejs/vite/compare/v7.1.0-beta.0...v7.1.0-beta.1) (2025-08-05)
See [7.1.0-beta.1 changelog](https://github.com/vitejs/vite/blob/v7.1.0-beta.1/packages/vite/CHANGELOG.md)
##### [7.1.0-beta.0](https://github.com/vitejs/vite/compare/v7.0.6...v7.1.0-beta.0) (2025-07-30)
See [7.1.0-beta.0 changelog](https://github.com/vitejs/vite/blob/v7.1.0-beta.0/packages/vite/CHANGELOG.md)
### [`v7.0.8`](https://github.com/vitejs/vite/releases/tag/v7.0.8)
[Compare Source](https://github.com/vitejs/vite/compare/v7.0.7...v7.0.8)
Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v7.0.8/packages/vite/CHANGELOG.md) for details.
### [`v7.0.7`](https://github.com/vitejs/vite/releases/tag/v7.0.7)
[Compare Source](https://github.com/vitejs/vite/compare/v7.0.6...v7.0.7)
Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v7.0.7/packages/vite/CHANGELOG.md) for details.
### [`v7.0.6`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#710-2025-08-07)
[Compare Source](https://github.com/vitejs/vite/compare/v7.0.5...v7.0.6)
##### Features
- support files with more than 1000 lines by `generateCodeFrame` ([#​20508](https://github.com/vitejs/vite/issues/20508)) ([e7d0b2a](https://github.com/vitejs/vite/commit/e7d0b2afa56840dabbbad10015dc04083caaf248))
- add `import.meta.main` support in config (bundle config loader) ([#​20516](https://github.com/vitejs/vite/issues/20516)) ([5d3e3c2](https://github.com/vitejs/vite/commit/5d3e3c2ae5a2174941fd09fd7842794a287c3ab7))
- **optimizer:** improve dependency optimization error messages with esbuild formatMessages ([#​20525](https://github.com/vitejs/vite/issues/20525)) ([d17cfed](https://github.com/vitejs/vite/commit/d17cfeda0741e4476570700a00b7b37917c97700))
- **ssr:** add `import.meta.main` support for Node.js module runner ([#​20517](https://github.com/vitejs/vite/issues/20517)) ([794a8f2](https://github.com/vitejs/vite/commit/794a8f230218a3b1e148defc5a2d7a67409177ff))
- add `future: 'warn'` ([#​20473](https://github.com/vitejs/vite/issues/20473)) ([e6aaf17](https://github.com/vitejs/vite/commit/e6aaf17ca21544572941957ce71bd8dbdc94e402))
- add `removeServerPluginContainer` future deprecation ([#​20437](https://github.com/vitejs/vite/issues/20437)) ([c1279e7](https://github.com/vitejs/vite/commit/c1279e75401ac6ea1d0678da88414a76ff36b6fe))
- add `removeServerReloadModule` future deprecation ([#​20436](https://github.com/vitejs/vite/issues/20436)) ([6970d17](https://github.com/vitejs/vite/commit/6970d1740cebd56af696abf60f30adb0c060f578))
- add `server.warmupRequest` to future deprecation ([#​20431](https://github.com/vitejs/vite/issues/20431)) ([8ad388a](https://github.com/vitejs/vite/commit/8ad388aeab0dc79e4bc14859b91174427805a46b))
- add `ssrFixStacktrace` / `ssrRewriteStacktrace` to `removeSsrLoadModule` future deprecation ([#​20435](https://github.com/vitejs/vite/issues/20435)) ([8c8f587](https://github.com/vitejs/vite/commit/8c8f5879ead251705c2c363f5b8b94f618fbf374))
- **client:** ping from SharedWorker ([#​19057](https://github.com/vitejs/vite/issues/19057)) ([5c97c22](https://github.com/vitejs/vite/commit/5c97c22548476e5f80856ece1d80b9234a7e6ecb))
- **dev:** add `this.fs` support ([#​20301](https://github.com/vitejs/vite/issues/20301)) ([0fe3f2f](https://github.com/vitejs/vite/commit/0fe3f2f7c325c5990f1059c28b66b24e1b8fd5d3))
- export `defaultExternalConditions` ([#​20279](https://github.com/vitejs/vite/issues/20279)) ([344d302](https://github.com/vitejs/vite/commit/344d30243b107852b133175e947a0410ea703f00))
- implement `removePluginHookSsrArgument` future deprecation ([#​20433](https://github.com/vitejs/vite/issues/20433)) ([95927d9](https://github.com/vitejs/vite/commit/95927d9c0ba1cb0b3bd8c900f039c099f8e29f90))
- implement `removeServerHot` future deprecation ([#​20434](https://github.com/vitejs/vite/issues/20434)) ([259f45d](https://github.com/vitejs/vite/commit/259f45d0698a184d6ecc352b610001fa1acdcee1))
- resolve server URLs before calling other listeners ([#​19981](https://github.com/vitejs/vite/issues/19981)) ([45f6443](https://github.com/vitejs/vite/commit/45f6443a935258d8eee62874f0695b8c1c60a481))
- **ssr:** resolve externalized packages with `resolve.externalConditions` and add `module-sync` to default external condition ([#​20409](https://github.com/vitejs/vite/issues/20409)) ([c669c52](https://github.com/vitejs/vite/commit/c669c524e6008a4902169f4b2f865e892297acf3))
- **ssr:** support `import.meta.resolve` in module runner ([#​20260](https://github.com/vitejs/vite/issues/20260)) ([62835f7](https://github.com/vitejs/vite/commit/62835f7c06d37802f0bc2abbf58bbaeaa8c73ce5))
##### Bug Fixes
- **css:** avoid warnings for `image-set` containing `__VITE_ASSET__` ([#​20520](https://github.com/vitejs/vite/issues/20520)) ([f1a2635](https://github.com/vitejs/vite/commit/f1a2635e6977a3eda681bec036f64f07686dad0d))
- **css:** empty CSS entry points should generate CSS files, not JS files ([#​20518](https://github.com/vitejs/vite/issues/20518)) ([bac9f3e](https://github.com/vitejs/vite/commit/bac9f3ecf84ae5c5add6ef224ae057508247f89e))
- **dev:** denied request stalled when requested concurrently ([#​20503](https://github.com/vitejs/vite/issues/20503)) ([64a52e7](https://github.com/vitejs/vite/commit/64a52e70d9250b16aa81ce2df27c23fe56907257))
- **manifest:** initialize `entryCssAssetFileNames` as an empty Set ([#​20542](https://github.com/vitejs/vite/issues/20542)) ([6a46cda](https://github.com/vitejs/vite/commit/6a46cdac5dece70296d1179640958deeeb2e6c19))
- skip prepareOutDirPlugin in workers ([#​20556](https://github.com/vitejs/vite/issues/20556)) ([97d5111](https://github.com/vitejs/vite/commit/97d5111645a395dae48b16b110bc76c1ee8956c8))
- **asset:** only watch existing files for `new URL(, import.meta.url)` ([#​20507](https://github.com/vitejs/vite/issues/20507)) ([1b211fd](https://github.com/vitejs/vite/commit/1b211fd1beccd0fc13bec700815abaa9f54147e8))
- **client:** keep ping on WS constructor error ([#​20512](https://github.com/vitejs/vite/issues/20512)) ([3676da5](https://github.com/vitejs/vite/commit/3676da5bc5b2b69b28619b8521fca94d30468fe5))
- **deps:** update all non-major dependencies ([#​20537](https://github.com/vitejs/vite/issues/20537)) ([fc9a9d3](https://github.com/vitejs/vite/commit/fc9a9d3f1493caa3d614f64e0a61fd5684f0928b))
- don't resolve as relative for specifiers starting with a dot ([#​20528](https://github.com/vitejs/vite/issues/20528)) ([c5a10ec](https://github.com/vitejs/vite/commit/c5a10ec004130bec17cf42760b76d1d404008fa3))
- **html:** allow control character in input stream ([#​20483](https://github.com/vitejs/vite/issues/20483)) ([c12a4a7](https://github.com/vitejs/vite/commit/c12a4a76a299237a0a13b885c72fdda6e4a3c9b7))
- merge old and new `noExternal: true` correctly ([#​20502](https://github.com/vitejs/vite/issues/20502)) ([9ebe4a5](https://github.com/vitejs/vite/commit/9ebe4a514a2e48e3fe194f16b0556a45ff38077a))
- **deps:** update all non-major dependencies ([#​20489](https://github.com/vitejs/vite/issues/20489)) ([f6aa04a](https://github.com/vitejs/vite/commit/f6aa04a52d486c8881f666c450caa3dab3c6bba1))
- **dev:** denied requests overly ([#​20410](https://github.com/vitejs/vite/issues/20410)) ([4be5270](https://github.com/vitejs/vite/commit/4be5270b27f7e6323f1771974b4b3520d86600e4))
- **hmr:** register css deps as `type: asset` ([#​20391](https://github.com/vitejs/vite/issues/20391)) ([7eac8dd](https://github.com/vitejs/vite/commit/7eac8ddb65033b8c001d6c6bc46aaeeefb79680a))
- **optimizer:** discover correct jsx runtime during scan ([#​20495](https://github.com/vitejs/vite/issues/20495)) ([10d48bb](https://github.com/vitejs/vite/commit/10d48bb2e30824d217e415a58cea9e69c2820c2a))
- **preview:** set correct host for `resolvedUrls` ([#​20496](https://github.com/vitejs/vite/issues/20496)) ([62b3e0d](https://github.com/vitejs/vite/commit/62b3e0d95c143e2f8b4e88d99c381d23663025ee))
- **worker:** resolve WebKit compat with inline workers by deferring blob URL revocation ([#​20460](https://github.com/vitejs/vite/issues/20460)) ([8033e5b](https://github.com/vitejs/vite/commit/8033e5bf8d3ff43995d0620490ed8739c59171dd))
##### Performance Improvements
- **client:** reduce reload debounce ([#​20429](https://github.com/vitejs/vite/issues/20429)) ([22ad43b](https://github.com/vitejs/vite/commit/22ad43b4bf2435efe78a65b84e8469b23521900a))
##### Miscellaneous Chores
- **deps:** update rolldown-related dependencies ([#​20536](https://github.com/vitejs/vite/issues/20536)) ([8be2787](https://github.com/vitejs/vite/commit/8be278748a92b128c49a24619d8d537dd2b08ceb))
- **deps:** update dependency parse5 to v8 ([#​20490](https://github.com/vitejs/vite/issues/20490)) ([744582d](https://github.com/vitejs/vite/commit/744582d0187c50045fb6cf229e3fab13093af08e))
- format ([f20addc](https://github.com/vitejs/vite/commit/f20addc5363058f5fd797e5bc71fab3877ed0a76))
- stablize `cssScopeTo` ([#​19592](https://github.com/vitejs/vite/issues/19592)) ([ced1343](https://github.com/vitejs/vite/commit/ced13433fb71e2101850a4da1b0ef70cbc38b804))
##### Code Refactoring
- use hook filters in the worker plugin ([#​20527](https://github.com/vitejs/vite/issues/20527)) ([958cdf2](https://github.com/vitejs/vite/commit/958cdf24f882be6953ca20912dd30c84213b069b))
- extract prepareOutDir as a plugin ([#​20373](https://github.com/vitejs/vite/issues/20373)) ([2c4af1f](https://github.com/vitejs/vite/commit/2c4af1f90b3ac98df6f4585a329528e6bd850462))
- extract resolve rollup options ([#​20375](https://github.com/vitejs/vite/issues/20375)) ([61a9778](https://github.com/vitejs/vite/commit/61a97780e6c54adb87345cb8c1f5f0d8e9ca5c05))
- rewrite openchrome.applescript to JXA ([#​20424](https://github.com/vitejs/vite/issues/20424)) ([7979f9d](https://github.com/vitejs/vite/commit/7979f9da555aa16bd221b32ea78ce8cb5292fac4))
- use `http-proxy-3` ([#​20402](https://github.com/vitejs/vite/issues/20402)) ([26d9872](https://github.com/vitejs/vite/commit/26d987232aad389733a7635b92122bb1d78dfcad))
- use hook filters in internal plugins ([#​20358](https://github.com/vitejs/vite/issues/20358)) ([f19c4d7](https://github.com/vitejs/vite/commit/f19c4d72de142814994e30120aa4ad57552cb874))
- use hook filters in internal resolve plugin ([#​20480](https://github.com/vitejs/vite/issues/20480)) ([acd2a13](https://github.com/vitejs/vite/commit/acd2a13c2d80e8c5c721bcf9738dfc03346cbfe1))
##### Tests
- detect ts support via `process.features` ([#​20544](https://github.com/vitejs/vite/issues/20544)) ([856d3f0](https://github.com/vitejs/vite/commit/856d3f06e6889979f630c8453fa385f01d8adaba))
- fix unimportant errors in test-unit ([#​20545](https://github.com/vitejs/vite/issues/20545)) ([1f23554](https://github.com/vitejs/vite/commit/1f235545b14a51d41b19a49da4a7e3a8e8eb5d10))
##### Beta Changelogs
##### [7.1.0-beta.1](https://github.com/vitejs/vite/compare/v7.1.0-beta.0...v7.1.0-beta.1) (2025-08-05)
See [7.1.0-beta.1 changelog](https://github.com/vitejs/vite/blob/v7.1.0-beta.1/packages/vite/CHANGELOG.md)
##### [7.1.0-beta.0](https://github.com/vitejs/vite/compare/v7.0.6...v7.1.0-beta.0) (2025-07-30)
See [7.1.0-beta.0 changelog](https://github.com/vitejs/vite/blob/v7.1.0-beta.0/packages/vite/CHANGELOG.md)
### [`v7.0.5`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-705-2025-07-17-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.0.4...v7.0.5)
##### Bug Fixes
- **deps:** update all non-major dependencies ([#​20406](https://github.com/vitejs/vite/issues/20406)) ([1a1cc8a](https://github.com/vitejs/vite/commit/1a1cc8a435a21996255b3e5cc75ed4680de2a7f3))
- remove special handling for `Accept: text/html` ([#​20376](https://github.com/vitejs/vite/issues/20376)) ([c9614b9](https://github.com/vitejs/vite/commit/c9614b9c378be4a32e84f37be71a8becce52af7b))
- watch assets referenced by `new URL(, import.meta.url)` ([#​20382](https://github.com/vitejs/vite/issues/20382)) ([6bc8bf6](https://github.com/vitejs/vite/commit/6bc8bf634d4a2c9915da9813963dd80a4186daeb))
##### Miscellaneous Chores
- **deps:** update dependency rolldown to ^1.0.0-beta.27 ([#​20405](https://github.com/vitejs/vite/issues/20405)) ([1165667](https://github.com/vitejs/vite/commit/1165667b271fb1fb76584278e72a85d564c9bb09))
##### Code Refactoring
- use `foo.endsWith("bar")` instead of `/bar$/.test(foo)` ([#​20413](https://github.com/vitejs/vite/issues/20413)) ([862e192](https://github.com/vitejs/vite/commit/862e192d21f66039635a998724bdc6b94fd293a0))
### [`v7.0.4`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-704-2025-07-10-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.0.3...v7.0.4)
##### Bug Fixes
- allow resolving bare specifiers to relative paths for entries ([#​20379](https://github.com/vitejs/vite/issues/20379)) ([324669c](https://github.com/vitejs/vite/commit/324669c2d84966a822b1b2c134c9830a90bed271))
##### Build System
- remove `@oxc-project/runtime` devDep ([#​20389](https://github.com/vitejs/vite/issues/20389)) ([5e29602](https://github.com/vitejs/vite/commit/5e29602f6fe4bf28f6e7c869a214dee6957f855c))
### [`v7.0.3`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-703-2025-07-08-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.0.2...v7.0.3)
##### Bug Fixes
- **client:** protect against window being defined but addEv undefined ([#​20359](https://github.com/vitejs/vite/issues/20359)) ([31d1467](https://github.com/vitejs/vite/commit/31d1467cf0da1e1dca623e6df0d345b30fae0c3d))
- **define:** replace optional values ([#​20338](https://github.com/vitejs/vite/issues/20338)) ([9465ae1](https://github.com/vitejs/vite/commit/9465ae1378b456e08659a22286bee6bce8edeedc))
- **deps:** update all non-major dependencies ([#​20366](https://github.com/vitejs/vite/issues/20366)) ([43ac73d](https://github.com/vitejs/vite/commit/43ac73da27b3907c701e95e6a7d28fde659729ec))
##### Miscellaneous Chores
- **deps:** update dependency dotenv to v17 ([#​20325](https://github.com/vitejs/vite/issues/20325)) ([45040d4](https://github.com/vitejs/vite/commit/45040d48076302eeb101f8d07bbcd04758fde8a4))
- **deps:** update dependency rolldown to ^1.0.0-beta.24 ([#​20365](https://github.com/vitejs/vite/issues/20365)) ([5ab25e7](https://github.com/vitejs/vite/commit/5ab25e73a2ea2a2e2c0469350288a183dfb57030))
- use `n/prefer-node-protocol` rule ([#​20368](https://github.com/vitejs/vite/issues/20368)) ([38bb268](https://github.com/vitejs/vite/commit/38bb268cde15541321f36016e77d61eecb707298))
##### Code Refactoring
- minor changes to reduce diff between normal Vite and rolldown-vite ([#​20354](https://github.com/vitejs/vite/issues/20354)) ([2e8050e](https://github.com/vitejs/vite/commit/2e8050e4cd8835673baf07375b7db35128144222))
### [`v7.0.2`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-702-2025-07-04-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.0.1...v7.0.2)
##### Bug Fixes
- **css:** resolve relative paths in sass, revert [#​20300](https://github.com/vitejs/vite/issues/20300) ([#​20349](https://github.com/vitejs/vite/issues/20349)) ([db8bd41](https://github.com/vitejs/vite/commit/db8bd412a8b783fe8e9f82d1a822b0534abbf5a3))
### [`v7.0.1`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-701-2025-07-03-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.0.0...v7.0.1)
##### Bug Fixes
- **css:** skip resolving resolved paths in sass ([#​20300](https://github.com/vitejs/vite/issues/20300)) ([ac528a4](https://github.com/vitejs/vite/commit/ac528a44c384fefb6f10c3f531df93b5ac39324c))
- **deps:** update all non-major dependencies ([#​20324](https://github.com/vitejs/vite/issues/20324)) ([3e81af3](https://github.com/vitejs/vite/commit/3e81af38a80c7617aba6bf3300d8b4267570f9cf))
- **types:** add a global interface for Worker ([#​20243](https://github.com/vitejs/vite/issues/20243)) ([37bdfc1](https://github.com/vitejs/vite/commit/37bdfc18f4c5bed053a38c5d717df33036acdd62))
##### Miscellaneous Chores
- **deps:** update rolldown-related dependencies ([#​20323](https://github.com/vitejs/vite/issues/20323)) ([30d2f1b](https://github.com/vitejs/vite/commit/30d2f1b38c72387ffdca3ee4746730959a020b59))
- fix typos and grammatical errors across documentation and comments ([#​20337](https://github.com/vitejs/vite/issues/20337)) ([c1c951d](https://github.com/vitejs/vite/commit/c1c951dcc32ec9f133b03ebbceddd749fc14f1e9))
- group commits by category in changelog ([#​20310](https://github.com/vitejs/vite/issues/20310)) ([41e83f6](https://github.com/vitejs/vite/commit/41e83f62b1adb65f5af4c1ec006de1c845437edc))
- rearrange 7.0 changelog ([#​20280](https://github.com/vitejs/vite/issues/20280)) ([eafd28a](https://github.com/vitejs/vite/commit/eafd28ac88d5908cbc3e0a047ed7a12094386436))
### [`v7.0.0`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#700-2025-06-24)
[Compare Source](https://github.com/vitejs/vite/compare/v6.4.1...v7.0.0)

Today, we're excited to announce the release of the next Vite major:
- **[Vite 7.0 announcement blog post](https://vite.dev/blog/announcing-vite7.html)**
- [Docs](https://vite.dev/) (translations: [简体中文](https://cn.vite.dev/), [日本語](https://ja.vite.dev/), [Español](https://es.vite.dev/), [Português](https://pt.vite.dev/), [한국어](https://ko.vite.dev/), [Deutsch](https://de.vite.dev/), [فارسی](https://fa.vite.dev/))
- [Migration Guide](https://vite.dev/guide/migration.html)
##### ⚠ BREAKING CHANGES
- **ssr:** don't access `Object` variable in ssr transformed code ([#​19996](https://github.com/vitejs/vite/issues/19996))
- remove `experimental.skipSsrTransform` option ([#​20038](https://github.com/vitejs/vite/issues/20038))
- remove `HotBroadcaster` ([#​19988](https://github.com/vitejs/vite/issues/19988))
- **css:** always use sass compiler API ([#​19978](https://github.com/vitejs/vite/issues/19978))
- bump `build.target` and name it `baseline-widely-available` ([#​20007](https://github.com/vitejs/vite/issues/20007))
- bump required node version to 20.19+, 22.12+ and remove cjs build ([#​20032](https://github.com/vitejs/vite/issues/20032))
- **css:** remove sass legacy API support ([#​19977](https://github.com/vitejs/vite/issues/19977))
- remove deprecated `HotBroadcaster` related types ([#​19987](https://github.com/vitejs/vite/issues/19987))
- remove deprecated no-op type only properties ([#​19985](https://github.com/vitejs/vite/issues/19985))
- remove node 18 support ([#​19972](https://github.com/vitejs/vite/issues/19972))
- remove deprecated hook-level `enforce`/`transform` from `transformIndexHtml` hook ([#​19349](https://github.com/vitejs/vite/issues/19349))
- remove deprecated splitVendorChunkPlugin ([#​19255](https://github.com/vitejs/vite/issues/19255))
##### Features
- **types:** use terser types from terser package ([#​20274](https://github.com/vitejs/vite/issues/20274)) ([a5799fa](https://github.com/vitejs/vite/commit/a5799fa74c6190ecbb2da3d280136ff32463afc6))
- apply some middlewares before `configurePreviewServer` hook ([#​20224](https://github.com/vitejs/vite/issues/20224)) ([b989c42](https://github.com/vitejs/vite/commit/b989c42cf84378e6cb93970de739941f0d56d6f6))
- apply some middlewares before `configureServer` hook ([#​20222](https://github.com/vitejs/vite/issues/20222)) ([f5cc4c0](https://github.com/vitejs/vite/commit/f5cc4c0ded337670b439e51bc95f173e2b5cf9ad))
- add base option to import.meta.glob ([#​20163](https://github.com/vitejs/vite/issues/20163)) ([253d6c6](https://github.com/vitejs/vite/commit/253d6c6df2ebe3c4a88dabb6cec000128681561f))
- add `this.meta.viteVersion` ([#​20088](https://github.com/vitejs/vite/issues/20088)) ([f55bf41](https://github.com/vitejs/vite/commit/f55bf41e91f8dfe829a46e58f0035b19c8ab6a25))
- allow passing down resolved config to vite's `createServer` ([#​19894](https://github.com/vitejs/vite/issues/19894)) ([c1ae9bd](https://github.com/vitejs/vite/commit/c1ae9bd4a0542b4703ae7766ad61d072e8b833bd))
- buildApp hook ([#​19971](https://github.com/vitejs/vite/issues/19971)) ([5da659d](https://github.com/vitejs/vite/commit/5da659de902f0a2d6d8beefbf269128383b63887))
- **build:** provide names for asset entrypoints ([#​19912](https://github.com/vitejs/vite/issues/19912)) ([c4e01dc](https://github.com/vitejs/vite/commit/c4e01dc5ab0f1708383c39d28ce62e12b8f374fc))
- bump `build.target` and name it `baseline-widely-available` ([#​20007](https://github.com/vitejs/vite/issues/20007)) ([4a8aa82](https://github.com/vitejs/vite/commit/4a8aa82556eb2b9e54673a6aac77873e0eb27fa9))
- **client:** support opening fileURL in editor ([#​20040](https://github.com/vitejs/vite/issues/20040)) ([1bde4d2](https://github.com/vitejs/vite/commit/1bde4d25243cd9beaadb01413e896fef562626ef))
- make PluginContext available for Vite-specific hooks ([#​19936](https://github.com/vitejs/vite/issues/19936)) ([7063839](https://github.com/vitejs/vite/commit/7063839d47dfd4ac6be1247ba68e414ffe287b00))
- resolve environments plugins at config time ([#​20120](https://github.com/vitejs/vite/issues/20120)) ([f6a28d5](https://github.com/vitejs/vite/commit/f6a28d5f792ba5cc4dc236e3e6edd05199cabcc8))
- stabilize `css.preprocessorMaxWorkers` and default to `true` ([#​19992](https://github.com/vitejs/vite/issues/19992)) ([70aee13](https://github.com/vitejs/vite/commit/70aee139ea802478bad56e5e441f187140bcf0cc))
- stabilize `optimizeDeps.noDiscovery` ([#​19984](https://github.com/vitejs/vite/issues/19984)) ([6d2dcb4](https://github.com/vitejs/vite/commit/6d2dcb494db9f40565f11b50bdbb8c1b7245697d))
##### Bug Fixes
- **deps:** update all non-major dependencies ([#​20271](https://github.com/vitejs/vite/issues/20271)) ([6b64d63](https://github.com/vitejs/vite/commit/6b64d63d700154de2c00270300b671cef8863708))
- keep `import.meta.url` in bundled Vite ([#​20235](https://github.com/vitejs/vite/issues/20235)) ([3bf3a8a](https://github.com/vitejs/vite/commit/3bf3a8ab00e5a0dfab0bb5741cb871ea30b72651))
- **module-runner:** export `ssrExportNameKey` ([#​20266](https://github.com/vitejs/vite/issues/20266)) ([ac302a7](https://github.com/vitejs/vite/commit/ac302a729062dbfc67f762b3c4af46b7893c214f))
- **module-runner:** expose `normalizeModuleId` ([#​20277](https://github.com/vitejs/vite/issues/20277)) ([9b98dcb](https://github.com/vitejs/vite/commit/9b98dcbf75546240e1609185828e18a77bac8c8d))
- **deps:** update all non-major dependencies ([#​20181](https://github.com/vitejs/vite/issues/20181)) ([d91d4f7](https://github.com/vitejs/vite/commit/d91d4f7ad55edbcb4a51fc23376cbff89f776d30))
- **deps:** update all non-major dependencies ([#​20212](https://github.com/vitejs/vite/issues/20212)) ([a80339b](https://github.com/vitejs/vite/commit/a80339b1798607dd7389f42964272181cf9eb453))
- align dynamic import detection ([#​20115](https://github.com/vitejs/vite/issues/20115)) ([1ea2222](https://github.com/vitejs/vite/commit/1ea2222302f128c4000289683480d8311ea34223))
- applyToEnvironment after configResolved ([#​20170](https://github.com/vitejs/vite/issues/20170)) ([a330b80](https://github.com/vitejs/vite/commit/a330b805b0733fadd1f7d586218c2aafcbb41a7f))
- **deps:** update all non-major dependencies ([#​20141](https://github.com/vitejs/vite/issues/20141)) ([89ca65b](https://github.com/vitejs/vite/commit/89ca65ba1d849046dccdea52e9eca980f331be26))
- handle dynamic import with `.then(m => m.a)` ([#​20117](https://github.com/vitejs/vite/issues/20117)) ([7b7410a](https://github.com/vitejs/vite/commit/7b7410abab7c95880d943e46bd1a16dcb1a893fc))
- **hmr:** use monotonicDateNow for timestamp ([#​20158](https://github.com/vitejs/vite/issues/20158)) ([8d26785](https://github.com/vitejs/vite/commit/8d26785b8c3f5295ca0c1519dda1ddae9096fc73))
- **optimizer:** align relative `build.rollupOptions.input` resolution with rollup ([#​20080](https://github.com/vitejs/vite/issues/20080)) ([9759c29](https://github.com/vitejs/vite/commit/9759c29a8985da1a51de452d741850f0bf2ef7ef))
- **ssr:** don't access `Object` variable in ssr transformed code ([#​19996](https://github.com/vitejs/vite/issues/19996)) ([fceff60](https://github.com/vitejs/vite/commit/fceff60dc81730f7768b57f14e7a112facff387d))
- **types:** prefer sass-embedded types over sass types for `preprocessorOptions.sass` (fix [#​20150](https://github.com/vitejs/vite/issues/20150)) ([#​20166](https://github.com/vitejs/vite/issues/20166)) ([7db56be](https://github.com/vitejs/vite/commit/7db56be237dd1e1e875518475421d5c90cf950da))
- virtual svg module ([#​20144](https://github.com/vitejs/vite/issues/20144)) ([7dfcb31](https://github.com/vitejs/vite/commit/7dfcb316ee64aca0a98a1d2905deb1dfd113ae6d))
- **client:** render the last part of the stacktrace ([#​20039](https://github.com/vitejs/vite/issues/20039)) ([c7c1743](https://github.com/vitejs/vite/commit/c7c17434968848f1471179c10a5fc9d2804add8b))
- **cli:** make `cleanGlobalCLIOptions()` clean `--force` ([#​19999](https://github.com/vitejs/vite/issues/19999)) ([d4a171a](https://github.com/vitejs/vite/commit/d4a171afd387000789172a94c94a1c33c0856f85))
- **css:** remove alias exclude logic from rebaseUrl ([#​20100](https://github.com/vitejs/vite/issues/20100)) ([44c6d01](https://github.com/vitejs/vite/commit/44c6d0111f95c8aa44d6a09a768e8cf02232ed29))
- **css:** sass rebase url in relative imported modules ([#​20067](https://github.com/vitejs/vite/issues/20067)) ([261fad9](https://github.com/vitejs/vite/commit/261fad9b8e6380c84b8692b3fbe18d6f37d367bd))
- **css:** should not wrap with double quote when the url rebase feature bailed out ([#​20068](https://github.com/vitejs/vite/issues/20068)) ([a33d0c7](https://github.com/vitejs/vite/commit/a33d0c7d65d9fff9acd5de0cf3c4d371297b3990))
- **deps:** update all non-major dependencies ([#​19953](https://github.com/vitejs/vite/issues/19953)) ([ac8e1fb](https://github.com/vitejs/vite/commit/ac8e1fb289a06fc0671dab1f4ef68e508e34360e))
- **deps:** update all non-major dependencies ([#​20061](https://github.com/vitejs/vite/issues/20061)) ([7b58856](https://github.com/vitejs/vite/commit/7b588563636a6f735a6e25832f33fc08572b25d9))
- importing an optional peer dep should throw an runtime error ([#​20029](https://github.com/vitejs/vite/issues/20029)) ([d0221cd](https://github.com/vitejs/vite/commit/d0221cd7383c18d67a5ef594da52e6aa5fc4d87b))
- merge `environments.*.resolve.noExternal` properly ([#​20077](https://github.com/vitejs/vite/issues/20077)) ([daf4a25](https://github.com/vitejs/vite/commit/daf4a25a1c0a37c992606e6ae159e13190c2e101))
- merge `server.allowedHosts: true` correctly ([#​20138](https://github.com/vitejs/vite/issues/20138)) ([2ade756](https://github.com/vitejs/vite/commit/2ade756c9549a52d804797d45da37c8429a51fd3))
- **optimizer:** non object module.exports for Node builtin modules in CJS external facade ([#​20048](https://github.com/vitejs/vite/issues/20048)) ([00ac6e4](https://github.com/vitejs/vite/commit/00ac6e410eeb15719fe020fd497f0336e7fd1aa8))
- **optimizer:** show error when `computeEntries` failed ([#​20079](https://github.com/vitejs/vite/issues/20079)) ([b742b46](https://github.com/vitejs/vite/commit/b742b46f8308a71c1d2aa426eade0c50cbf1480f))
- treat all `optimizeDeps.entries` values as globs ([#​20045](https://github.com/vitejs/vite/issues/20045)) ([1422395](https://github.com/vitejs/vite/commit/142239588d6752c5b91d435aee9b4a6c00b7f924))
- **types:** expose additional PluginContext types ([#​20129](https://github.com/vitejs/vite/issues/20129)) ([b6df9aa](https://github.com/vitejs/vite/commit/b6df9aac3320cd953f6d45ad9245a7b564f67cc1))
##### Performance Improvements
- **utils:** improve performance of `numberToPos` ([#​20244](https://github.com/vitejs/vite/issues/20244)) ([3f46901](https://github.com/vitejs/vite/commit/3f469012ad38e3cb330adc74a8b3ec88561c822e))
##### Documentation
- tiny typo ([#​20110](https://github.com/vitejs/vite/issues/20110)) ([d20fc2c](https://github.com/vitejs/vite/commit/d20fc2cdc9700513425b18b625e01224f61e4eab))
##### Miscellaneous Chores
- "indentity" → "identity" in test description ([#​20225](https://github.com/vitejs/vite/issues/20225)) ([ea9aed7](https://github.com/vitejs/vite/commit/ea9aed7ebcb7f4be542bd2a384cbcb5a1e7b31bd))
- **deps:** update rolldown-related dependencies ([#​20270](https://github.com/vitejs/vite/issues/20270)) ([f7377c3](https://github.com/vitejs/vite/commit/f7377c3eae6323bd3237ff5de5ae55c879fe7325))
- typos in comments ([#​20259](https://github.com/vitejs/vite/issues/20259)) ([b135918](https://github.com/vitejs/vite/commit/b135918b91e8381c50bd2d076d40e9a65fe68bfe))
- **deps:** update rolldown-related dependencies ([#​20182](https://github.com/vitejs/vite/issues/20182)) ([6172f41](https://github.com/vitejs/vite/commit/6172f410b44cbae8d052997bb1819a6197a4d397))
- **deps:** update rolldown-related dependencies ([#​20211](https://github.com/vitejs/vite/issues/20211)) ([b13b7f5](https://github.com/vitejs/vite/commit/b13b7f5e21fe05c3214766b3de584a026fbfe144))
- add a way to disable source maps when developing Vite ([#​20168](https://github.com/vitejs/vite/issues/20168)) ([3a30c0a](https://github.com/vitejs/vite/commit/3a30c0a084a1b92a6265f8900df89e5102418e5e))
- **deps:** update rolldown-related dependencies ([#​20140](https://github.com/vitejs/vite/issues/20140)) ([0387447](https://github.com/vitejs/vite/commit/03874471e3de14e7d2f474ecb354499e7f5eb418))
- fix source map support when developing Vite ([#&#…
chore(deps): update vite (major)
This MR contains the following updates:
| Package | Type | Update | Change | OpenSSF |
|---|---|---|---|---|
| [vite](https://vite.dev) ([source](https://github.com/vitejs/vite/tree/HEAD/packages/vite)) | devDependencies | major | [`^6.3.6` → `^7.0.0`](https://renovatebot.com/diffs/npm/vite/6.4.1/7.3.1) | [](https://securityscorecards.dev/viewer/?uri=github.com/vitejs/vite) |
---
### Release Notes
<details>
<summary>vitejs/vite (vite)</summary>
### [`v7.3.1`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-731-2026-01-07-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.3.0...v7.3.1)
##### Features
- add `ignoreOutdatedRequests` option to `optimizeDeps` ([#​21364](https://github.com/vitejs/vite/issues/21364)) ([9d39d37](https://github.com/vitejs/vite/commit/9d39d373a7b4e0a93322b70b9dbeb202af06af3e))
### [`v7.3.0`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#730-2025-12-15)
[Compare Source](https://github.com/vitejs/vite/compare/v7.2.7...v7.3.0)
##### Features
- **deps:** update esbuild from ^0.25.0 to ^0.27.0 ([#​21183](https://github.com/vitejs/vite/issues/21183)) ([cff26ec](https://github.com/vitejs/vite/commit/cff26ec0fc13373d7125a5eac6cb01fe63fee4b1))
### [`v7.2.7`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-727-2025-12-08-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.2.6...v7.2.7)
##### Bug Fixes
- plugin shortcut support ([#​21211](https://github.com/vitejs/vite/issues/21211)) ([721f163](https://github.com/vitejs/vite/commit/721f16343d9555ae8fc71a2e5354b22e12ff0dc3))
### [`v7.2.6`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-726-2025-12-01-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.2.4...v7.2.6)
#### <small>[7.2.6](https://github.com/vitejs/vite/compare/v7.2.5...v7.2.6) (2025-12-01)</small>
### [`v7.2.4`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-724-2025-11-20-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.2.3...v7.2.4)
##### Bug Fixes
- revert "perf(deps): replace debug with obug ([#​21107](https://github.com/vitejs/vite/issues/21107))" ([2d66b7b](https://github.com/vitejs/vite/commit/2d66b7b14aa6dfd62f3d6a59ee8382ed5ca6fd32))
### [`v7.2.3`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-723-2025-11-20-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.2.2...v7.2.3)
##### Bug Fixes
- allow multiple `bindCLIShortcuts` calls with shortcut merging ([#​21103](https://github.com/vitejs/vite/issues/21103)) ([5909efd](https://github.com/vitejs/vite/commit/5909efd8fbfd1bf1eab65427aea0613124b2797a))
- **deps:** update all non-major dependencies ([#​21096](https://github.com/vitejs/vite/issues/21096)) ([6a34ac3](https://github.com/vitejs/vite/commit/6a34ac3422686e7cf7cc9a25d299cb8e5a8d92a0))
- **deps:** update all non-major dependencies ([#​21128](https://github.com/vitejs/vite/issues/21128)) ([4f8171e](https://github.com/vitejs/vite/commit/4f8171eb3046bd70c83964689897dab4c6b58bc0))
##### Performance Improvements
- **deps:** replace debug with obug ([#​21107](https://github.com/vitejs/vite/issues/21107)) ([acfe939](https://github.com/vitejs/vite/commit/acfe939e1f7c303c34b0b39b883cc302da767fa2))
##### Miscellaneous Chores
- **deps:** update dependency [@​rollup/plugin-commonjs](https://github.com/rollup/plugin-commonjs) to v29 ([#​21099](https://github.com/vitejs/vite/issues/21099)) ([02ceaec](https://github.com/vitejs/vite/commit/02ceaec45e17bef19159188a28d9196fed1761be))
- **deps:** update rolldown-related dependencies ([#​21095](https://github.com/vitejs/vite/issues/21095)) ([39a0a15](https://github.com/vitejs/vite/commit/39a0a15fd24ed37257c48b795097a3794e54d255))
- **deps:** update rolldown-related dependencies ([#​21127](https://github.com/vitejs/vite/issues/21127)) ([5029720](https://github.com/vitejs/vite/commit/50297208452241061cb44d09a4bbdf77a11ac01e))
### [`v7.2.2`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-722-2025-11-07-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.2.1...v7.2.2)
##### Bug Fixes
- revert "refactor: use fs.cpSync ([#​21019](https://github.com/vitejs/vite/issues/21019))" ([#​21081](https://github.com/vitejs/vite/issues/21081)) ([728c8ee](https://github.com/vitejs/vite/commit/728c8eeebc0ad7ba48e680f46bbdb55020b2e152))
### [`v7.2.1`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#800-beta0-2025-12-03)
[Compare Source](https://github.com/vitejs/vite/compare/v7.2.0...v7.2.1)
##### ⚠ BREAKING CHANGES
- update default browser target ([#​21193](https://github.com/vitejs/vite/issues/21193))
- the epic `rolldown-vite` merge ([#​21189](https://github.com/vitejs/vite/issues/21189))
##### Features
- update default browser target ([#​21193](https://github.com/vitejs/vite/issues/21193)) ([8c3dd06](https://github.com/vitejs/vite/commit/8c3dd06bd9903bf0e6bc51f3554eea8cb6b26903))
- the epic `rolldown-vite` merge ([#​21189](https://github.com/vitejs/vite/issues/21189)) ([4a7f8d4](https://github.com/vitejs/vite/commit/4a7f8d43e6b14b89fef278c3ea86f9e3f64b7fc2))
##### Rolldown-Vite changelogs
See [rolldown-vite changelog](https://github.com/vitejs/rolldown-vite/blob/v7.2.10/packages/vite/CHANGELOG.md)
### [`v7.2.0`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#720-2025-11-05)
[Compare Source](https://github.com/vitejs/vite/compare/v7.1.12...v7.2.0)
##### Bug Fixes
- **css:** fallback to sass when sass-embedded platform binary is missing ([#​21002](https://github.com/vitejs/vite/issues/21002)) ([b1fd616](https://github.com/vitejs/vite/commit/b1fd6161886caeb31ac646d6544116d37efe46d0))
- **module-runner:** make `getBuiltins` response JSON serializable ([#​21029](https://github.com/vitejs/vite/issues/21029)) ([ad5b3bf](https://github.com/vitejs/vite/commit/ad5b3bf6f3ad7b24886718c5f5de32eee923ae11))
- **types:** add undefined to optional properties for exactOptionalProperties type compatibility ([#​21040](https://github.com/vitejs/vite/issues/21040)) ([2833c55](https://github.com/vitejs/vite/commit/2833c5576a87be2db450c195ccf64dfc8925a15b))
##### Miscellaneous Chores
- **deps:** update rolldown-related dependencies ([#​21047](https://github.com/vitejs/vite/issues/21047)) ([e3a6a83](https://github.com/vitejs/vite/commit/e3a6a83406943bc59a9916cae3f25ab33c2b5802))
### [`v7.1.12`](https://github.com/vitejs/vite/releases/tag/v7.1.12)
[Compare Source](https://github.com/vitejs/vite/compare/v7.1.11...v7.1.12)
Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v7.1.12/packages/vite/CHANGELOG.md) for details.
### [`v7.1.11`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-7111-2025-10-20-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.1.10...v7.1.11)
##### Bug Fixes
- **dev:** trim trailing slash before `server.fs.deny` check ([#​20968](https://github.com/vitejs/vite/issues/20968)) ([f479cc5](https://github.com/vitejs/vite/commit/f479cc57c425ed41ceb434fecebd63931b1ed4ed))
##### Miscellaneous Chores
- **deps:** update all non-major dependencies ([#​20966](https://github.com/vitejs/vite/issues/20966)) ([6fb41a2](https://github.com/vitejs/vite/commit/6fb41a260bda443685e719ea4765d3faca3db944))
##### Code Refactoring
- use subpath imports for types module reference ([#​20921](https://github.com/vitejs/vite/issues/20921)) ([d0094af](https://github.com/vitejs/vite/commit/d0094af639d9ebbb51d4e00910b74f23eb8fe131))
##### Build System
- remove cjs reference in files field ([#​20945](https://github.com/vitejs/vite/issues/20945)) ([ef411ce](https://github.com/vitejs/vite/commit/ef411cee2696af3ba791879fdae9aad165f178b2))
- remove hash from built filenames ([#​20946](https://github.com/vitejs/vite/issues/20946)) ([a817307](https://github.com/vitejs/vite/commit/a81730754d655d1371ce0f4354af1c84e12f9f2d))
### [`v7.1.10`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-7110-2025-10-14-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.1.9...v7.1.10)
##### Bug Fixes
- **css:** avoid duplicate style for server rendered stylesheet link and client inline style during dev ([#​20767](https://github.com/vitejs/vite/issues/20767)) ([3a92bc7](https://github.com/vitejs/vite/commit/3a92bc79b306a01b8aaf37f80b2239eaf6e488e7))
- **css:** respect emitAssets when cssCodeSplit=false ([#​20883](https://github.com/vitejs/vite/issues/20883)) ([d3e7eee](https://github.com/vitejs/vite/commit/d3e7eeefa91e1992f47694d16fe4dbe708c4d80e))
- **deps:** update all non-major dependencies ([879de86](https://github.com/vitejs/vite/commit/879de86935a31b4e47ab907ddd859366518ce268))
- **deps:** update all non-major dependencies ([#​20894](https://github.com/vitejs/vite/issues/20894)) ([3213f90](https://github.com/vitejs/vite/commit/3213f90ff0d8f274bcec65f40aac6dfcff1ac244))
- **dev:** allow aliases starting with `//` ([#​20760](https://github.com/vitejs/vite/issues/20760)) ([b95fa2a](https://github.com/vitejs/vite/commit/b95fa2aa7564eda4c9f05ee7616a2dbada35e463))
- **dev:** remove timestamp query consistently ([#​20887](https://github.com/vitejs/vite/issues/20887)) ([6537d15](https://github.com/vitejs/vite/commit/6537d15591619d7e1cfc1e50599bec16cd88340f))
- **esbuild:** inject esbuild helpers correctly for esbuild 0.25.9+ ([#​20906](https://github.com/vitejs/vite/issues/20906)) ([446eb38](https://github.com/vitejs/vite/commit/446eb386329ef682d614c77958a542f2dc222880))
- normalize path before calling `fileToBuiltUrl` ([#​20898](https://github.com/vitejs/vite/issues/20898)) ([73b6d24](https://github.com/vitejs/vite/commit/73b6d243e0398ee5d8d44c7d24162f4a0f4b1cf1))
- preserve original sourcemap file field when combining sourcemaps ([#​20926](https://github.com/vitejs/vite/issues/20926)) ([c714776](https://github.com/vitejs/vite/commit/c714776aa1dcc24299a81c1495cbcbb1b1ef1dd3))
##### Documentation
- correct `WebSocket` spelling ([#​20890](https://github.com/vitejs/vite/issues/20890)) ([29e98dc](https://github.com/vitejs/vite/commit/29e98dc3efe35efbd978523367c05db7d2e7a278))
##### Miscellaneous Chores
- **deps:** update rolldown-related dependencies ([#​20923](https://github.com/vitejs/vite/issues/20923)) ([a5e3b06](https://github.com/vitejs/vite/commit/a5e3b064fa7ca981cb6f15f8e88806b36a99b8bf))
### [`v7.1.9`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-719-2025-10-03-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.1.8...v7.1.9)
##### Reverts
- **server:** drain stdin when not interactive ([#​20885](https://github.com/vitejs/vite/issues/20885)) ([12d72b0](https://github.com/vitejs/vite/commit/12d72b0538ef1540bfb0f1dd8a44b75deaa3464e))
### [`v7.1.8`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-718-2025-10-02-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.1.7...v7.1.8)
##### Bug Fixes
- **css:** improve url escape characters handling ([#​20847](https://github.com/vitejs/vite/issues/20847)) ([24a61a3](https://github.com/vitejs/vite/commit/24a61a3f5404279e91f7ceebf7449a5e874f9d56))
- **deps:** update all non-major dependencies ([#​20855](https://github.com/vitejs/vite/issues/20855)) ([788a183](https://github.com/vitejs/vite/commit/788a183afce57de13f5656f0cf42cdf6fdc3ebaa))
- **deps:** update artichokie to 0.4.2 ([#​20864](https://github.com/vitejs/vite/issues/20864)) ([e670799](https://github.com/vitejs/vite/commit/e670799e123dca78e1a63aeb06dbadade3d5ab51))
- **dev:** skip JS responses for document requests ([#​20866](https://github.com/vitejs/vite/issues/20866)) ([6bc6c4d](https://github.com/vitejs/vite/commit/6bc6c4dbc23501577d3919dc841454eb2eb14a54))
- **glob:** fix HMR for array patterns with exclusions ([#​20872](https://github.com/vitejs/vite/issues/20872)) ([63e040f](https://github.com/vitejs/vite/commit/63e040f1ca6b635a007eb40aa7c8b891e8cc5799))
- keep ids for virtual modules as-is ([#​20808](https://github.com/vitejs/vite/issues/20808)) ([d4eca98](https://github.com/vitejs/vite/commit/d4eca986d679c77bd449db20fd99d8255985b550))
- **server:** drain stdin when not interactive ([#​20837](https://github.com/vitejs/vite/issues/20837)) ([bb950e9](https://github.com/vitejs/vite/commit/bb950e92b372f9a52245e9542cf9d9700d23ef8c))
- **server:** improve malformed URL handling in middlewares ([#​20830](https://github.com/vitejs/vite/issues/20830)) ([d65a983](https://github.com/vitejs/vite/commit/d65a9831c984e562c5bf2b5f427de16f6e1bd931))
##### Documentation
- **create-vite:** provide deno example ([#​20747](https://github.com/vitejs/vite/issues/20747)) ([fdb758a](https://github.com/vitejs/vite/commit/fdb758a51796b1ab605437b2eee778a84e87e169))
##### Miscellaneous Chores
- **deps:** update rolldown-related dependencies ([#​20810](https://github.com/vitejs/vite/issues/20810)) ([ea68a88](https://github.com/vitejs/vite/commit/ea68a8868c7ee249213057f8a81c3f92a9839dde))
- **deps:** update rolldown-related dependencies ([#​20854](https://github.com/vitejs/vite/issues/20854)) ([4dd06fd](https://github.com/vitejs/vite/commit/4dd06fdc8d643059c2abf88188eae7c4877aab6e))
- update url of `create-react-app` license ([#​20865](https://github.com/vitejs/vite/issues/20865)) ([166a178](https://github.com/vitejs/vite/commit/166a178f45b6e48db27b5626559f5ec3358c2fb4))
### [`v7.1.7`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-717-2025-09-22-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.1.6...v7.1.7)
##### Bug Fixes
- **build:** fix ssr environment `emitAssets: true` when `sharedConfigBuild: true` ([#​20787](https://github.com/vitejs/vite/issues/20787)) ([4c4583c](https://github.com/vitejs/vite/commit/4c4583ce7a13306e0853901570c5d95517fe81da))
- **client:** use CSP nonce when rendering error overlay ([#​20791](https://github.com/vitejs/vite/issues/20791)) ([9bc9d12](https://github.com/vitejs/vite/commit/9bc9d1258f550e9d8f5e530cd27aecb1bee32bdb))
- **deps:** update all non-major dependencies ([#​20811](https://github.com/vitejs/vite/issues/20811)) ([9f2247c](https://github.com/vitejs/vite/commit/9f2247c066cac75746356c9391845235445a154b))
- **glob:** handle glob imports from folders starting with dot ([#​20800](https://github.com/vitejs/vite/issues/20800)) ([105abe8](https://github.com/vitejs/vite/commit/105abe87c412cf0f83859ba41fed869221cbb3e0))
- **hmr:** trigger prune event when import is removed from non hmr module ([#​20768](https://github.com/vitejs/vite/issues/20768)) ([9f32b1d](https://github.com/vitejs/vite/commit/9f32b1dc710991c53a9f665c8d0d6945f342bf92))
- **hmr:** wait for `import.meta.hot.prune` callbacks to complete before running other HMRs ([#​20698](https://github.com/vitejs/vite/issues/20698)) ([98a3484](https://github.com/vitejs/vite/commit/98a3484733443ee529870477a6ab6a03572e3cbc))
### [`v7.1.6`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-716-2025-09-18-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.1.5...v7.1.6)
##### Bug Fixes
- **deps:** update all non-major dependencies ([#​20773](https://github.com/vitejs/vite/issues/20773)) ([88af2ae](https://github.com/vitejs/vite/commit/88af2ae7df77160e7d11a9fa147a4967c8499f13))
- **esbuild:** inject esbuild helper functions with minified `$` variables correctly ([#​20761](https://github.com/vitejs/vite/issues/20761)) ([7e8e004](https://github.com/vitejs/vite/commit/7e8e0043d60379e11da481d9cc3c3556c9756ac0))
- fallback terser to main thread when nameCache is provided ([#​20750](https://github.com/vitejs/vite/issues/20750)) ([a679a64](https://github.com/vitejs/vite/commit/a679a643404c95556dda2670643e14eca9c585bd))
- **types:** strict env typings fail when `skipLibCheck` is `false` ([#​20755](https://github.com/vitejs/vite/issues/20755)) ([cc54e29](https://github.com/vitejs/vite/commit/cc54e294746d3eac868de96f85d98dd0fa0cda11))
##### Miscellaneous Chores
- **deps:** update rolldown-related dependencies ([#​20675](https://github.com/vitejs/vite/issues/20675)) ([a67bb5f](https://github.com/vitejs/vite/commit/a67bb5fbec5f3e42151dc7e3166858d0d33533de))
- **deps:** update rolldown-related dependencies ([#​20772](https://github.com/vitejs/vite/issues/20772)) ([d785e72](https://github.com/vitejs/vite/commit/d785e72f2ead705e8b2416c0a5097878fced3435))
### [`v7.1.5`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-715-2025-09-08-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.1.4...v7.1.5)
##### Bug Fixes
- apply `fs.strict` check to HTML files ([#​20736](https://github.com/vitejs/vite/issues/20736)) ([14015d7](https://github.com/vitejs/vite/commit/14015d794f69accba68798bd0e15135bc51c9c1e))
- **deps:** update all non-major dependencies ([#​20732](https://github.com/vitejs/vite/issues/20732)) ([122bfba](https://github.com/vitejs/vite/commit/122bfbabeb1f095ce7cabd30893e5531e9a007c4))
- upgrade sirv to 3.0.2 ([#​20735](https://github.com/vitejs/vite/issues/20735)) ([09f2b52](https://github.com/vitejs/vite/commit/09f2b52e8d5907f26602653caf41b3a56692600d))
### [`v7.1.4`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-714-2025-09-01-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.1.3...v7.1.4)
##### Bug Fixes
- add missing awaits ([#​20697](https://github.com/vitejs/vite/issues/20697)) ([79d10ed](https://github.com/vitejs/vite/commit/79d10ed6341ba7a751d007b7ad113a9b8be9c853))
- **deps:** update all non-major dependencies ([#​20676](https://github.com/vitejs/vite/issues/20676)) ([5a274b2](https://github.com/vitejs/vite/commit/5a274b29df83744cf0ce4dafd94029d2a9e01135))
- **deps:** update all non-major dependencies ([#​20709](https://github.com/vitejs/vite/issues/20709)) ([0401feb](https://github.com/vitejs/vite/commit/0401feba17e60bd7e976c5643128a0da49670a83))
- pass rollup watch options when building in watch mode ([#​20674](https://github.com/vitejs/vite/issues/20674)) ([f367453](https://github.com/vitejs/vite/commit/f367453ca2825bc8a390d41c5d13b161756f2b41))
##### Miscellaneous Chores
- remove unused constants entry from rolldown.config.ts ([#​20710](https://github.com/vitejs/vite/issues/20710)) ([537fcf9](https://github.com/vitejs/vite/commit/537fcf91862a1bf51e70ce6fe9b414319dd3a675))
##### Code Refactoring
- remove unnecessary `minify` parameter from `finalizeCss` ([#​20701](https://github.com/vitejs/vite/issues/20701)) ([8099582](https://github.com/vitejs/vite/commit/8099582e5364f907f2bc6cb8e2d52ae0c4d937e4))
### [`v7.1.3`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-713-2025-08-19-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.1.2...v7.1.3)
##### Features
- **cli:** add Node.js version warning for unsupported versions ([#​20638](https://github.com/vitejs/vite/issues/20638)) ([a1be1bf](https://github.com/vitejs/vite/commit/a1be1bf0905b9086e5f1370c63d76a7fa4a195ec))
- generate code frame for parse errors thrown by terser ([#​20642](https://github.com/vitejs/vite/issues/20642)) ([a9ba017](https://github.com/vitejs/vite/commit/a9ba0174a58b949373d6b4240bc69180dff0b780))
- support long lines in `generateCodeFrame` ([#​20640](https://github.com/vitejs/vite/issues/20640)) ([1559577](https://github.com/vitejs/vite/commit/15595773170c2a07f2efdccee05964fb87c19ae6))
##### Bug Fixes
- **deps:** update all non-major dependencies ([#​20634](https://github.com/vitejs/vite/issues/20634)) ([4851cab](https://github.com/vitejs/vite/commit/4851cab3ba818b5f0f82eef3796b61d4b12768f1))
- **optimizer:** incorrect incompatible error ([#​20439](https://github.com/vitejs/vite/issues/20439)) ([446fe83](https://github.com/vitejs/vite/commit/446fe83033686dd38d13b786a217b8277b5c5f09))
- support multiline new URL(..., import.meta.url) expressions ([#​20644](https://github.com/vitejs/vite/issues/20644)) ([9ccf142](https://github.com/vitejs/vite/commit/9ccf142764d48292aa33e5ca6f020a7d55b97f61))
##### Performance Improvements
- **cli:** dynamically import `resolveConfig` ([#​20646](https://github.com/vitejs/vite/issues/20646)) ([f691f57](https://github.com/vitejs/vite/commit/f691f57e46118328e00174160ceab2101b7256ca))
##### Miscellaneous Chores
- **deps:** update rolldown-related dependencies ([#​20633](https://github.com/vitejs/vite/issues/20633)) ([98b92e8](https://github.com/vitejs/vite/commit/98b92e8c4b10ae87c48292a8ac09b01ca81a02cf))
##### Code Refactoring
- replace startsWith with strict equality ([#​20603](https://github.com/vitejs/vite/issues/20603)) ([42816de](https://github.com/vitejs/vite/commit/42816dee0e177dded1c9de4d9099089ec4acef96))
- use `import` in worker threads ([#​20641](https://github.com/vitejs/vite/issues/20641)) ([530687a](https://github.com/vitejs/vite/commit/530687a344c51daf3115d1c134586bbde58356e0))
##### Tests
- remove `checkNodeVersion` test ([#​20647](https://github.com/vitejs/vite/issues/20647)) ([731d3e6](https://github.com/vitejs/vite/commit/731d3e61f444f6c5e611f67b531416ed6450f90f))
### [`v7.1.2`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-712-2025-08-12-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.1.1...v7.1.2)
##### Bug Fixes
- **client:** add `[vite]` prefixes to debug logs ([#​20595](https://github.com/vitejs/vite/issues/20595)) ([7cdef61](https://github.com/vitejs/vite/commit/7cdef612a65da5363905723f77516b6745ac9a94))
- **config:** make debugger work with bundle loader ([#​20573](https://github.com/vitejs/vite/issues/20573)) ([c583927](https://github.com/vitejs/vite/commit/c583927bee657f15f63fdf80468fbe6a74eacdec))
- **deps:** update all non-major dependencies ([#​20587](https://github.com/vitejs/vite/issues/20587)) ([20d4817](https://github.com/vitejs/vite/commit/20d48172a0352d32f766b3c878d52a8944fdbf6e))
- don't consider ids with `npm:` prefix as a built-in module ([#​20558](https://github.com/vitejs/vite/issues/20558)) ([ab33803](https://github.com/vitejs/vite/commit/ab33803f2c831a82ddee637ad62e0c4ceeb663f1))
- **hmr:** watch non-inlined assets referenced by CSS ([#​20581](https://github.com/vitejs/vite/issues/20581)) ([b7d494b](https://github.com/vitejs/vite/commit/b7d494bf60af3ef7316d87266bb3ebf56617d5fd))
- **module-runner:** prevent crash when sourceMappingURL pattern appears in string literals ([#​20554](https://github.com/vitejs/vite/issues/20554)) ([2770478](https://github.com/vitejs/vite/commit/2770478d1c190d3e3de34ef9a3d2c493c06e9933))
##### Miscellaneous Chores
- **deps:** migrate to `@jridgewell/remapping` from `@ampproject/remapping` ([#​20577](https://github.com/vitejs/vite/issues/20577)) ([0a6048a](https://github.com/vitejs/vite/commit/0a6048aba4523f451edf29ae4037d252cc963815))
- **deps:** update rolldown-related dependencies ([#​20586](https://github.com/vitejs/vite/issues/20586)) ([77632c5](https://github.com/vitejs/vite/commit/77632c55db51cd6d03bcf24a1cef8d21058100a3))
### [`v7.1.1`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-7111-2025-10-20-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.1.0...v7.1.1)
##### Bug Fixes
- **dev:** trim trailing slash before `server.fs.deny` check ([#​20968](https://github.com/vitejs/vite/issues/20968)) ([f479cc5](https://github.com/vitejs/vite/commit/f479cc57c425ed41ceb434fecebd63931b1ed4ed))
##### Miscellaneous Chores
- **deps:** update all non-major dependencies ([#​20966](https://github.com/vitejs/vite/issues/20966)) ([6fb41a2](https://github.com/vitejs/vite/commit/6fb41a260bda443685e719ea4765d3faca3db944))
##### Code Refactoring
- use subpath imports for types module reference ([#​20921](https://github.com/vitejs/vite/issues/20921)) ([d0094af](https://github.com/vitejs/vite/commit/d0094af639d9ebbb51d4e00910b74f23eb8fe131))
##### Build System
- remove cjs reference in files field ([#​20945](https://github.com/vitejs/vite/issues/20945)) ([ef411ce](https://github.com/vitejs/vite/commit/ef411cee2696af3ba791879fdae9aad165f178b2))
- remove hash from built filenames ([#​20946](https://github.com/vitejs/vite/issues/20946)) ([a817307](https://github.com/vitejs/vite/commit/a81730754d655d1371ce0f4354af1c84e12f9f2d))
### [`v7.1.0`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#710-2025-08-07)
[Compare Source](https://github.com/vitejs/vite/compare/v7.0.8...v7.1.0)
##### Features
- support files with more than 1000 lines by `generateCodeFrame` ([#​20508](https://github.com/vitejs/vite/issues/20508)) ([e7d0b2a](https://github.com/vitejs/vite/commit/e7d0b2afa56840dabbbad10015dc04083caaf248))
- add `import.meta.main` support in config (bundle config loader) ([#​20516](https://github.com/vitejs/vite/issues/20516)) ([5d3e3c2](https://github.com/vitejs/vite/commit/5d3e3c2ae5a2174941fd09fd7842794a287c3ab7))
- **optimizer:** improve dependency optimization error messages with esbuild formatMessages ([#​20525](https://github.com/vitejs/vite/issues/20525)) ([d17cfed](https://github.com/vitejs/vite/commit/d17cfeda0741e4476570700a00b7b37917c97700))
- **ssr:** add `import.meta.main` support for Node.js module runner ([#​20517](https://github.com/vitejs/vite/issues/20517)) ([794a8f2](https://github.com/vitejs/vite/commit/794a8f230218a3b1e148defc5a2d7a67409177ff))
- add `future: 'warn'` ([#​20473](https://github.com/vitejs/vite/issues/20473)) ([e6aaf17](https://github.com/vitejs/vite/commit/e6aaf17ca21544572941957ce71bd8dbdc94e402))
- add `removeServerPluginContainer` future deprecation ([#​20437](https://github.com/vitejs/vite/issues/20437)) ([c1279e7](https://github.com/vitejs/vite/commit/c1279e75401ac6ea1d0678da88414a76ff36b6fe))
- add `removeServerReloadModule` future deprecation ([#​20436](https://github.com/vitejs/vite/issues/20436)) ([6970d17](https://github.com/vitejs/vite/commit/6970d1740cebd56af696abf60f30adb0c060f578))
- add `server.warmupRequest` to future deprecation ([#​20431](https://github.com/vitejs/vite/issues/20431)) ([8ad388a](https://github.com/vitejs/vite/commit/8ad388aeab0dc79e4bc14859b91174427805a46b))
- add `ssrFixStacktrace` / `ssrRewriteStacktrace` to `removeSsrLoadModule` future deprecation ([#​20435](https://github.com/vitejs/vite/issues/20435)) ([8c8f587](https://github.com/vitejs/vite/commit/8c8f5879ead251705c2c363f5b8b94f618fbf374))
- **client:** ping from SharedWorker ([#​19057](https://github.com/vitejs/vite/issues/19057)) ([5c97c22](https://github.com/vitejs/vite/commit/5c97c22548476e5f80856ece1d80b9234a7e6ecb))
- **dev:** add `this.fs` support ([#​20301](https://github.com/vitejs/vite/issues/20301)) ([0fe3f2f](https://github.com/vitejs/vite/commit/0fe3f2f7c325c5990f1059c28b66b24e1b8fd5d3))
- export `defaultExternalConditions` ([#​20279](https://github.com/vitejs/vite/issues/20279)) ([344d302](https://github.com/vitejs/vite/commit/344d30243b107852b133175e947a0410ea703f00))
- implement `removePluginHookSsrArgument` future deprecation ([#​20433](https://github.com/vitejs/vite/issues/20433)) ([95927d9](https://github.com/vitejs/vite/commit/95927d9c0ba1cb0b3bd8c900f039c099f8e29f90))
- implement `removeServerHot` future deprecation ([#​20434](https://github.com/vitejs/vite/issues/20434)) ([259f45d](https://github.com/vitejs/vite/commit/259f45d0698a184d6ecc352b610001fa1acdcee1))
- resolve server URLs before calling other listeners ([#​19981](https://github.com/vitejs/vite/issues/19981)) ([45f6443](https://github.com/vitejs/vite/commit/45f6443a935258d8eee62874f0695b8c1c60a481))
- **ssr:** resolve externalized packages with `resolve.externalConditions` and add `module-sync` to default external condition ([#​20409](https://github.com/vitejs/vite/issues/20409)) ([c669c52](https://github.com/vitejs/vite/commit/c669c524e6008a4902169f4b2f865e892297acf3))
- **ssr:** support `import.meta.resolve` in module runner ([#​20260](https://github.com/vitejs/vite/issues/20260)) ([62835f7](https://github.com/vitejs/vite/commit/62835f7c06d37802f0bc2abbf58bbaeaa8c73ce5))
##### Bug Fixes
- **css:** avoid warnings for `image-set` containing `__VITE_ASSET__` ([#​20520](https://github.com/vitejs/vite/issues/20520)) ([f1a2635](https://github.com/vitejs/vite/commit/f1a2635e6977a3eda681bec036f64f07686dad0d))
- **css:** empty CSS entry points should generate CSS files, not JS files ([#​20518](https://github.com/vitejs/vite/issues/20518)) ([bac9f3e](https://github.com/vitejs/vite/commit/bac9f3ecf84ae5c5add6ef224ae057508247f89e))
- **dev:** denied request stalled when requested concurrently ([#​20503](https://github.com/vitejs/vite/issues/20503)) ([64a52e7](https://github.com/vitejs/vite/commit/64a52e70d9250b16aa81ce2df27c23fe56907257))
- **manifest:** initialize `entryCssAssetFileNames` as an empty Set ([#​20542](https://github.com/vitejs/vite/issues/20542)) ([6a46cda](https://github.com/vitejs/vite/commit/6a46cdac5dece70296d1179640958deeeb2e6c19))
- skip prepareOutDirPlugin in workers ([#​20556](https://github.com/vitejs/vite/issues/20556)) ([97d5111](https://github.com/vitejs/vite/commit/97d5111645a395dae48b16b110bc76c1ee8956c8))
- **asset:** only watch existing files for `new URL(, import.meta.url)` ([#​20507](https://github.com/vitejs/vite/issues/20507)) ([1b211fd](https://github.com/vitejs/vite/commit/1b211fd1beccd0fc13bec700815abaa9f54147e8))
- **client:** keep ping on WS constructor error ([#​20512](https://github.com/vitejs/vite/issues/20512)) ([3676da5](https://github.com/vitejs/vite/commit/3676da5bc5b2b69b28619b8521fca94d30468fe5))
- **deps:** update all non-major dependencies ([#​20537](https://github.com/vitejs/vite/issues/20537)) ([fc9a9d3](https://github.com/vitejs/vite/commit/fc9a9d3f1493caa3d614f64e0a61fd5684f0928b))
- don't resolve as relative for specifiers starting with a dot ([#​20528](https://github.com/vitejs/vite/issues/20528)) ([c5a10ec](https://github.com/vitejs/vite/commit/c5a10ec004130bec17cf42760b76d1d404008fa3))
- **html:** allow control character in input stream ([#​20483](https://github.com/vitejs/vite/issues/20483)) ([c12a4a7](https://github.com/vitejs/vite/commit/c12a4a76a299237a0a13b885c72fdda6e4a3c9b7))
- merge old and new `noExternal: true` correctly ([#​20502](https://github.com/vitejs/vite/issues/20502)) ([9ebe4a5](https://github.com/vitejs/vite/commit/9ebe4a514a2e48e3fe194f16b0556a45ff38077a))
- **deps:** update all non-major dependencies ([#​20489](https://github.com/vitejs/vite/issues/20489)) ([f6aa04a](https://github.com/vitejs/vite/commit/f6aa04a52d486c8881f666c450caa3dab3c6bba1))
- **dev:** denied requests overly ([#​20410](https://github.com/vitejs/vite/issues/20410)) ([4be5270](https://github.com/vitejs/vite/commit/4be5270b27f7e6323f1771974b4b3520d86600e4))
- **hmr:** register css deps as `type: asset` ([#​20391](https://github.com/vitejs/vite/issues/20391)) ([7eac8dd](https://github.com/vitejs/vite/commit/7eac8ddb65033b8c001d6c6bc46aaeeefb79680a))
- **optimizer:** discover correct jsx runtime during scan ([#​20495](https://github.com/vitejs/vite/issues/20495)) ([10d48bb](https://github.com/vitejs/vite/commit/10d48bb2e30824d217e415a58cea9e69c2820c2a))
- **preview:** set correct host for `resolvedUrls` ([#​20496](https://github.com/vitejs/vite/issues/20496)) ([62b3e0d](https://github.com/vitejs/vite/commit/62b3e0d95c143e2f8b4e88d99c381d23663025ee))
- **worker:** resolve WebKit compat with inline workers by deferring blob URL revocation ([#​20460](https://github.com/vitejs/vite/issues/20460)) ([8033e5b](https://github.com/vitejs/vite/commit/8033e5bf8d3ff43995d0620490ed8739c59171dd))
##### Performance Improvements
- **client:** reduce reload debounce ([#​20429](https://github.com/vitejs/vite/issues/20429)) ([22ad43b](https://github.com/vitejs/vite/commit/22ad43b4bf2435efe78a65b84e8469b23521900a))
##### Miscellaneous Chores
- **deps:** update rolldown-related dependencies ([#​20536](https://github.com/vitejs/vite/issues/20536)) ([8be2787](https://github.com/vitejs/vite/commit/8be278748a92b128c49a24619d8d537dd2b08ceb))
- **deps:** update dependency parse5 to v8 ([#​20490](https://github.com/vitejs/vite/issues/20490)) ([744582d](https://github.com/vitejs/vite/commit/744582d0187c50045fb6cf229e3fab13093af08e))
- format ([f20addc](https://github.com/vitejs/vite/commit/f20addc5363058f5fd797e5bc71fab3877ed0a76))
- stablize `cssScopeTo` ([#​19592](https://github.com/vitejs/vite/issues/19592)) ([ced1343](https://github.com/vitejs/vite/commit/ced13433fb71e2101850a4da1b0ef70cbc38b804))
##### Code Refactoring
- use hook filters in the worker plugin ([#​20527](https://github.com/vitejs/vite/issues/20527)) ([958cdf2](https://github.com/vitejs/vite/commit/958cdf24f882be6953ca20912dd30c84213b069b))
- extract prepareOutDir as a plugin ([#​20373](https://github.com/vitejs/vite/issues/20373)) ([2c4af1f](https://github.com/vitejs/vite/commit/2c4af1f90b3ac98df6f4585a329528e6bd850462))
- extract resolve rollup options ([#​20375](https://github.com/vitejs/vite/issues/20375)) ([61a9778](https://github.com/vitejs/vite/commit/61a97780e6c54adb87345cb8c1f5f0d8e9ca5c05))
- rewrite openchrome.applescript to JXA ([#​20424](https://github.com/vitejs/vite/issues/20424)) ([7979f9d](https://github.com/vitejs/vite/commit/7979f9da555aa16bd221b32ea78ce8cb5292fac4))
- use `http-proxy-3` ([#​20402](https://github.com/vitejs/vite/issues/20402)) ([26d9872](https://github.com/vitejs/vite/commit/26d987232aad389733a7635b92122bb1d78dfcad))
- use hook filters in internal plugins ([#​20358](https://github.com/vitejs/vite/issues/20358)) ([f19c4d7](https://github.com/vitejs/vite/commit/f19c4d72de142814994e30120aa4ad57552cb874))
- use hook filters in internal resolve plugin ([#​20480](https://github.com/vitejs/vite/issues/20480)) ([acd2a13](https://github.com/vitejs/vite/commit/acd2a13c2d80e8c5c721bcf9738dfc03346cbfe1))
##### Tests
- detect ts support via `process.features` ([#​20544](https://github.com/vitejs/vite/issues/20544)) ([856d3f0](https://github.com/vitejs/vite/commit/856d3f06e6889979f630c8453fa385f01d8adaba))
- fix unimportant errors in test-unit ([#​20545](https://github.com/vitejs/vite/issues/20545)) ([1f23554](https://github.com/vitejs/vite/commit/1f235545b14a51d41b19a49da4a7e3a8e8eb5d10))
##### Beta Changelogs
##### [7.1.0-beta.1](https://github.com/vitejs/vite/compare/v7.1.0-beta.0...v7.1.0-beta.1) (2025-08-05)
See [7.1.0-beta.1 changelog](https://github.com/vitejs/vite/blob/v7.1.0-beta.1/packages/vite/CHANGELOG.md)
##### [7.1.0-beta.0](https://github.com/vitejs/vite/compare/v7.0.6...v7.1.0-beta.0) (2025-07-30)
See [7.1.0-beta.0 changelog](https://github.com/vitejs/vite/blob/v7.1.0-beta.0/packages/vite/CHANGELOG.md)
### [`v7.0.8`](https://github.com/vitejs/vite/releases/tag/v7.0.8)
[Compare Source](https://github.com/vitejs/vite/compare/v7.0.7...v7.0.8)
Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v7.0.8/packages/vite/CHANGELOG.md) for details.
### [`v7.0.7`](https://github.com/vitejs/vite/releases/tag/v7.0.7)
[Compare Source](https://github.com/vitejs/vite/compare/v7.0.6...v7.0.7)
Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v7.0.7/packages/vite/CHANGELOG.md) for details.
### [`v7.0.6`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#710-2025-08-07)
[Compare Source](https://github.com/vitejs/vite/compare/v7.0.5...v7.0.6)
##### Features
- support files with more than 1000 lines by `generateCodeFrame` ([#​20508](https://github.com/vitejs/vite/issues/20508)) ([e7d0b2a](https://github.com/vitejs/vite/commit/e7d0b2afa56840dabbbad10015dc04083caaf248))
- add `import.meta.main` support in config (bundle config loader) ([#​20516](https://github.com/vitejs/vite/issues/20516)) ([5d3e3c2](https://github.com/vitejs/vite/commit/5d3e3c2ae5a2174941fd09fd7842794a287c3ab7))
- **optimizer:** improve dependency optimization error messages with esbuild formatMessages ([#​20525](https://github.com/vitejs/vite/issues/20525)) ([d17cfed](https://github.com/vitejs/vite/commit/d17cfeda0741e4476570700a00b7b37917c97700))
- **ssr:** add `import.meta.main` support for Node.js module runner ([#​20517](https://github.com/vitejs/vite/issues/20517)) ([794a8f2](https://github.com/vitejs/vite/commit/794a8f230218a3b1e148defc5a2d7a67409177ff))
- add `future: 'warn'` ([#​20473](https://github.com/vitejs/vite/issues/20473)) ([e6aaf17](https://github.com/vitejs/vite/commit/e6aaf17ca21544572941957ce71bd8dbdc94e402))
- add `removeServerPluginContainer` future deprecation ([#​20437](https://github.com/vitejs/vite/issues/20437)) ([c1279e7](https://github.com/vitejs/vite/commit/c1279e75401ac6ea1d0678da88414a76ff36b6fe))
- add `removeServerReloadModule` future deprecation ([#​20436](https://github.com/vitejs/vite/issues/20436)) ([6970d17](https://github.com/vitejs/vite/commit/6970d1740cebd56af696abf60f30adb0c060f578))
- add `server.warmupRequest` to future deprecation ([#​20431](https://github.com/vitejs/vite/issues/20431)) ([8ad388a](https://github.com/vitejs/vite/commit/8ad388aeab0dc79e4bc14859b91174427805a46b))
- add `ssrFixStacktrace` / `ssrRewriteStacktrace` to `removeSsrLoadModule` future deprecation ([#​20435](https://github.com/vitejs/vite/issues/20435)) ([8c8f587](https://github.com/vitejs/vite/commit/8c8f5879ead251705c2c363f5b8b94f618fbf374))
- **client:** ping from SharedWorker ([#​19057](https://github.com/vitejs/vite/issues/19057)) ([5c97c22](https://github.com/vitejs/vite/commit/5c97c22548476e5f80856ece1d80b9234a7e6ecb))
- **dev:** add `this.fs` support ([#​20301](https://github.com/vitejs/vite/issues/20301)) ([0fe3f2f](https://github.com/vitejs/vite/commit/0fe3f2f7c325c5990f1059c28b66b24e1b8fd5d3))
- export `defaultExternalConditions` ([#​20279](https://github.com/vitejs/vite/issues/20279)) ([344d302](https://github.com/vitejs/vite/commit/344d30243b107852b133175e947a0410ea703f00))
- implement `removePluginHookSsrArgument` future deprecation ([#​20433](https://github.com/vitejs/vite/issues/20433)) ([95927d9](https://github.com/vitejs/vite/commit/95927d9c0ba1cb0b3bd8c900f039c099f8e29f90))
- implement `removeServerHot` future deprecation ([#​20434](https://github.com/vitejs/vite/issues/20434)) ([259f45d](https://github.com/vitejs/vite/commit/259f45d0698a184d6ecc352b610001fa1acdcee1))
- resolve server URLs before calling other listeners ([#​19981](https://github.com/vitejs/vite/issues/19981)) ([45f6443](https://github.com/vitejs/vite/commit/45f6443a935258d8eee62874f0695b8c1c60a481))
- **ssr:** resolve externalized packages with `resolve.externalConditions` and add `module-sync` to default external condition ([#​20409](https://github.com/vitejs/vite/issues/20409)) ([c669c52](https://github.com/vitejs/vite/commit/c669c524e6008a4902169f4b2f865e892297acf3))
- **ssr:** support `import.meta.resolve` in module runner ([#​20260](https://github.com/vitejs/vite/issues/20260)) ([62835f7](https://github.com/vitejs/vite/commit/62835f7c06d37802f0bc2abbf58bbaeaa8c73ce5))
##### Bug Fixes
- **css:** avoid warnings for `image-set` containing `__VITE_ASSET__` ([#​20520](https://github.com/vitejs/vite/issues/20520)) ([f1a2635](https://github.com/vitejs/vite/commit/f1a2635e6977a3eda681bec036f64f07686dad0d))
- **css:** empty CSS entry points should generate CSS files, not JS files ([#​20518](https://github.com/vitejs/vite/issues/20518)) ([bac9f3e](https://github.com/vitejs/vite/commit/bac9f3ecf84ae5c5add6ef224ae057508247f89e))
- **dev:** denied request stalled when requested concurrently ([#​20503](https://github.com/vitejs/vite/issues/20503)) ([64a52e7](https://github.com/vitejs/vite/commit/64a52e70d9250b16aa81ce2df27c23fe56907257))
- **manifest:** initialize `entryCssAssetFileNames` as an empty Set ([#​20542](https://github.com/vitejs/vite/issues/20542)) ([6a46cda](https://github.com/vitejs/vite/commit/6a46cdac5dece70296d1179640958deeeb2e6c19))
- skip prepareOutDirPlugin in workers ([#​20556](https://github.com/vitejs/vite/issues/20556)) ([97d5111](https://github.com/vitejs/vite/commit/97d5111645a395dae48b16b110bc76c1ee8956c8))
- **asset:** only watch existing files for `new URL(, import.meta.url)` ([#​20507](https://github.com/vitejs/vite/issues/20507)) ([1b211fd](https://github.com/vitejs/vite/commit/1b211fd1beccd0fc13bec700815abaa9f54147e8))
- **client:** keep ping on WS constructor error ([#​20512](https://github.com/vitejs/vite/issues/20512)) ([3676da5](https://github.com/vitejs/vite/commit/3676da5bc5b2b69b28619b8521fca94d30468fe5))
- **deps:** update all non-major dependencies ([#​20537](https://github.com/vitejs/vite/issues/20537)) ([fc9a9d3](https://github.com/vitejs/vite/commit/fc9a9d3f1493caa3d614f64e0a61fd5684f0928b))
- don't resolve as relative for specifiers starting with a dot ([#​20528](https://github.com/vitejs/vite/issues/20528)) ([c5a10ec](https://github.com/vitejs/vite/commit/c5a10ec004130bec17cf42760b76d1d404008fa3))
- **html:** allow control character in input stream ([#​20483](https://github.com/vitejs/vite/issues/20483)) ([c12a4a7](https://github.com/vitejs/vite/commit/c12a4a76a299237a0a13b885c72fdda6e4a3c9b7))
- merge old and new `noExternal: true` correctly ([#​20502](https://github.com/vitejs/vite/issues/20502)) ([9ebe4a5](https://github.com/vitejs/vite/commit/9ebe4a514a2e48e3fe194f16b0556a45ff38077a))
- **deps:** update all non-major dependencies ([#​20489](https://github.com/vitejs/vite/issues/20489)) ([f6aa04a](https://github.com/vitejs/vite/commit/f6aa04a52d486c8881f666c450caa3dab3c6bba1))
- **dev:** denied requests overly ([#​20410](https://github.com/vitejs/vite/issues/20410)) ([4be5270](https://github.com/vitejs/vite/commit/4be5270b27f7e6323f1771974b4b3520d86600e4))
- **hmr:** register css deps as `type: asset` ([#​20391](https://github.com/vitejs/vite/issues/20391)) ([7eac8dd](https://github.com/vitejs/vite/commit/7eac8ddb65033b8c001d6c6bc46aaeeefb79680a))
- **optimizer:** discover correct jsx runtime during scan ([#​20495](https://github.com/vitejs/vite/issues/20495)) ([10d48bb](https://github.com/vitejs/vite/commit/10d48bb2e30824d217e415a58cea9e69c2820c2a))
- **preview:** set correct host for `resolvedUrls` ([#​20496](https://github.com/vitejs/vite/issues/20496)) ([62b3e0d](https://github.com/vitejs/vite/commit/62b3e0d95c143e2f8b4e88d99c381d23663025ee))
- **worker:** resolve WebKit compat with inline workers by deferring blob URL revocation ([#​20460](https://github.com/vitejs/vite/issues/20460)) ([8033e5b](https://github.com/vitejs/vite/commit/8033e5bf8d3ff43995d0620490ed8739c59171dd))
##### Performance Improvements
- **client:** reduce reload debounce ([#​20429](https://github.com/vitejs/vite/issues/20429)) ([22ad43b](https://github.com/vitejs/vite/commit/22ad43b4bf2435efe78a65b84e8469b23521900a))
##### Miscellaneous Chores
- **deps:** update rolldown-related dependencies ([#​20536](https://github.com/vitejs/vite/issues/20536)) ([8be2787](https://github.com/vitejs/vite/commit/8be278748a92b128c49a24619d8d537dd2b08ceb))
- **deps:** update dependency parse5 to v8 ([#​20490](https://github.com/vitejs/vite/issues/20490)) ([744582d](https://github.com/vitejs/vite/commit/744582d0187c50045fb6cf229e3fab13093af08e))
- format ([f20addc](https://github.com/vitejs/vite/commit/f20addc5363058f5fd797e5bc71fab3877ed0a76))
- stablize `cssScopeTo` ([#​19592](https://github.com/vitejs/vite/issues/19592)) ([ced1343](https://github.com/vitejs/vite/commit/ced13433fb71e2101850a4da1b0ef70cbc38b804))
##### Code Refactoring
- use hook filters in the worker plugin ([#​20527](https://github.com/vitejs/vite/issues/20527)) ([958cdf2](https://github.com/vitejs/vite/commit/958cdf24f882be6953ca20912dd30c84213b069b))
- extract prepareOutDir as a plugin ([#​20373](https://github.com/vitejs/vite/issues/20373)) ([2c4af1f](https://github.com/vitejs/vite/commit/2c4af1f90b3ac98df6f4585a329528e6bd850462))
- extract resolve rollup options ([#​20375](https://github.com/vitejs/vite/issues/20375)) ([61a9778](https://github.com/vitejs/vite/commit/61a97780e6c54adb87345cb8c1f5f0d8e9ca5c05))
- rewrite openchrome.applescript to JXA ([#​20424](https://github.com/vitejs/vite/issues/20424)) ([7979f9d](https://github.com/vitejs/vite/commit/7979f9da555aa16bd221b32ea78ce8cb5292fac4))
- use `http-proxy-3` ([#​20402](https://github.com/vitejs/vite/issues/20402)) ([26d9872](https://github.com/vitejs/vite/commit/26d987232aad389733a7635b92122bb1d78dfcad))
- use hook filters in internal plugins ([#​20358](https://github.com/vitejs/vite/issues/20358)) ([f19c4d7](https://github.com/vitejs/vite/commit/f19c4d72de142814994e30120aa4ad57552cb874))
- use hook filters in internal resolve plugin ([#​20480](https://github.com/vitejs/vite/issues/20480)) ([acd2a13](https://github.com/vitejs/vite/commit/acd2a13c2d80e8c5c721bcf9738dfc03346cbfe1))
##### Tests
- detect ts support via `process.features` ([#​20544](https://github.com/vitejs/vite/issues/20544)) ([856d3f0](https://github.com/vitejs/vite/commit/856d3f06e6889979f630c8453fa385f01d8adaba))
- fix unimportant errors in test-unit ([#​20545](https://github.com/vitejs/vite/issues/20545)) ([1f23554](https://github.com/vitejs/vite/commit/1f235545b14a51d41b19a49da4a7e3a8e8eb5d10))
##### Beta Changelogs
##### [7.1.0-beta.1](https://github.com/vitejs/vite/compare/v7.1.0-beta.0...v7.1.0-beta.1) (2025-08-05)
See [7.1.0-beta.1 changelog](https://github.com/vitejs/vite/blob/v7.1.0-beta.1/packages/vite/CHANGELOG.md)
##### [7.1.0-beta.0](https://github.com/vitejs/vite/compare/v7.0.6...v7.1.0-beta.0) (2025-07-30)
See [7.1.0-beta.0 changelog](https://github.com/vitejs/vite/blob/v7.1.0-beta.0/packages/vite/CHANGELOG.md)
### [`v7.0.5`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-705-2025-07-17-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.0.4...v7.0.5)
##### Bug Fixes
- **deps:** update all non-major dependencies ([#​20406](https://github.com/vitejs/vite/issues/20406)) ([1a1cc8a](https://github.com/vitejs/vite/commit/1a1cc8a435a21996255b3e5cc75ed4680de2a7f3))
- remove special handling for `Accept: text/html` ([#​20376](https://github.com/vitejs/vite/issues/20376)) ([c9614b9](https://github.com/vitejs/vite/commit/c9614b9c378be4a32e84f37be71a8becce52af7b))
- watch assets referenced by `new URL(, import.meta.url)` ([#​20382](https://github.com/vitejs/vite/issues/20382)) ([6bc8bf6](https://github.com/vitejs/vite/commit/6bc8bf634d4a2c9915da9813963dd80a4186daeb))
##### Miscellaneous Chores
- **deps:** update dependency rolldown to ^1.0.0-beta.27 ([#​20405](https://github.com/vitejs/vite/issues/20405)) ([1165667](https://github.com/vitejs/vite/commit/1165667b271fb1fb76584278e72a85d564c9bb09))
##### Code Refactoring
- use `foo.endsWith("bar")` instead of `/bar$/.test(foo)` ([#​20413](https://github.com/vitejs/vite/issues/20413)) ([862e192](https://github.com/vitejs/vite/commit/862e192d21f66039635a998724bdc6b94fd293a0))
### [`v7.0.4`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-704-2025-07-10-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.0.3...v7.0.4)
##### Bug Fixes
- allow resolving bare specifiers to relative paths for entries ([#​20379](https://github.com/vitejs/vite/issues/20379)) ([324669c](https://github.com/vitejs/vite/commit/324669c2d84966a822b1b2c134c9830a90bed271))
##### Build System
- remove `@oxc-project/runtime` devDep ([#​20389](https://github.com/vitejs/vite/issues/20389)) ([5e29602](https://github.com/vitejs/vite/commit/5e29602f6fe4bf28f6e7c869a214dee6957f855c))
### [`v7.0.3`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-703-2025-07-08-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.0.2...v7.0.3)
##### Bug Fixes
- **client:** protect against window being defined but addEv undefined ([#​20359](https://github.com/vitejs/vite/issues/20359)) ([31d1467](https://github.com/vitejs/vite/commit/31d1467cf0da1e1dca623e6df0d345b30fae0c3d))
- **define:** replace optional values ([#​20338](https://github.com/vitejs/vite/issues/20338)) ([9465ae1](https://github.com/vitejs/vite/commit/9465ae1378b456e08659a22286bee6bce8edeedc))
- **deps:** update all non-major dependencies ([#​20366](https://github.com/vitejs/vite/issues/20366)) ([43ac73d](https://github.com/vitejs/vite/commit/43ac73da27b3907c701e95e6a7d28fde659729ec))
##### Miscellaneous Chores
- **deps:** update dependency dotenv to v17 ([#​20325](https://github.com/vitejs/vite/issues/20325)) ([45040d4](https://github.com/vitejs/vite/commit/45040d48076302eeb101f8d07bbcd04758fde8a4))
- **deps:** update dependency rolldown to ^1.0.0-beta.24 ([#​20365](https://github.com/vitejs/vite/issues/20365)) ([5ab25e7](https://github.com/vitejs/vite/commit/5ab25e73a2ea2a2e2c0469350288a183dfb57030))
- use `n/prefer-node-protocol` rule ([#​20368](https://github.com/vitejs/vite/issues/20368)) ([38bb268](https://github.com/vitejs/vite/commit/38bb268cde15541321f36016e77d61eecb707298))
##### Code Refactoring
- minor changes to reduce diff between normal Vite and rolldown-vite ([#​20354](https://github.com/vitejs/vite/issues/20354)) ([2e8050e](https://github.com/vitejs/vite/commit/2e8050e4cd8835673baf07375b7db35128144222))
### [`v7.0.2`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-702-2025-07-04-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.0.1...v7.0.2)
##### Bug Fixes
- **css:** resolve relative paths in sass, revert [#​20300](https://github.com/vitejs/vite/issues/20300) ([#​20349](https://github.com/vitejs/vite/issues/20349)) ([db8bd41](https://github.com/vitejs/vite/commit/db8bd412a8b783fe8e9f82d1a822b0534abbf5a3))
### [`v7.0.1`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-701-2025-07-03-small)
[Compare Source](https://github.com/vitejs/vite/compare/v7.0.0...v7.0.1)
##### Bug Fixes
- **css:** skip resolving resolved paths in sass ([#​20300](https://github.com/vitejs/vite/issues/20300)) ([ac528a4](https://github.com/vitejs/vite/commit/ac528a44c384fefb6f10c3f531df93b5ac39324c))
- **deps:** update all non-major dependencies ([#​20324](https://github.com/vitejs/vite/issues/20324)) ([3e81af3](https://github.com/vitejs/vite/commit/3e81af38a80c7617aba6bf3300d8b4267570f9cf))
- **types:** add a global interface for Worker ([#​20243](https://github.com/vitejs/vite/issues/20243)) ([37bdfc1](https://github.com/vitejs/vite/commit/37bdfc18f4c5bed053a38c5d717df33036acdd62))
##### Miscellaneous Chores
- **deps:** update rolldown-related dependencies ([#​20323](https://github.com/vitejs/vite/issues/20323)) ([30d2f1b](https://github.com/vitejs/vite/commit/30d2f1b38c72387ffdca3ee4746730959a020b59))
- fix typos and grammatical errors across documentation and comments ([#​20337](https://github.com/vitejs/vite/issues/20337)) ([c1c951d](https://github.com/vitejs/vite/commit/c1c951dcc32ec9f133b03ebbceddd749fc14f1e9))
- group commits by category in changelog ([#​20310](https://github.com/vitejs/vite/issues/20310)) ([41e83f6](https://github.com/vitejs/vite/commit/41e83f62b1adb65f5af4c1ec006de1c845437edc))
- rearrange 7.0 changelog ([#​20280](https://github.com/vitejs/vite/issues/20280)) ([eafd28a](https://github.com/vitejs/vite/commit/eafd28ac88d5908cbc3e0a047ed7a12094386436))
### [`v7.0.0`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#700-2025-06-24)
[Compare Source](https://github.com/vitejs/vite/compare/v6.4.1...v7.0.0)

Today, we're excited to announce the release of the next Vite major:
- **[Vite 7.0 announcement blog post](https://vite.dev/blog/announcing-vite7.html)**
- [Docs](https://vite.dev/) (translations: [简体中文](https://cn.vite.dev/), [日本語](https://ja.vite.dev/), [Español](https://es.vite.dev/), [Português](https://pt.vite.dev/), [한국어](https://ko.vite.dev/), [Deutsch](https://de.vite.dev/), [فارسی](https://fa.vite.dev/))
- [Migration Guide](https://vite.dev/guide/migration.html)
##### ⚠ BREAKING CHANGES
- **ssr:** don't access `Object` variable in ssr transformed code ([#​19996](https://github.com/vitejs/vite/issues/19996))
- remove `experimental.skipSsrTransform` option ([#​20038](https://github.com/vitejs/vite/issues/20038))
- remove `HotBroadcaster` ([#​19988](https://github.com/vitejs/vite/issues/19988))
- **css:** always use sass compiler API ([#​19978](https://github.com/vitejs/vite/issues/19978))
- bump `build.target` and name it `baseline-widely-available` ([#​20007](https://github.com/vitejs/vite/issues/20007))
- bump required node version to 20.19+, 22.12+ and remove cjs build ([#​20032](https://github.com/vitejs/vite/issues/20032))
- **css:** remove sass legacy API support ([#​19977](https://github.com/vitejs/vite/issues/19977))
- remove deprecated `HotBroadcaster` related types ([#​19987](https://github.com/vitejs/vite/issues/19987))
- remove deprecated no-op type only properties ([#​19985](https://github.com/vitejs/vite/issues/19985))
- remove node 18 support ([#​19972](https://github.com/vitejs/vite/issues/19972))
- remove deprecated hook-level `enforce`/`transform` from `transformIndexHtml` hook ([#​19349](https://github.com/vitejs/vite/issues/19349))
- remove deprecated splitVendorChunkPlugin ([#​19255](https://github.com/vitejs/vite/issues/19255))
##### Features
- **types:** use terser types from terser package ([#​20274](https://github.com/vitejs/vite/issues/20274)) ([a5799fa](https://github.com/vitejs/vite/commit/a5799fa74c6190ecbb2da3d280136ff32463afc6))
- apply some middlewares before `configurePreviewServer` hook ([#​20224](https://github.com/vitejs/vite/issues/20224)) ([b989c42](https://github.com/vitejs/vite/commit/b989c42cf84378e6cb93970de739941f0d56d6f6))
- apply some middlewares before `configureServer` hook ([#​20222](https://github.com/vitejs/vite/issues/20222)) ([f5cc4c0](https://github.com/vitejs/vite/commit/f5cc4c0ded337670b439e51bc95f173e2b5cf9ad))
- add base option to import.meta.glob ([#​20163](https://github.com/vitejs/vite/issues/20163)) ([253d6c6](https://github.com/vitejs/vite/commit/253d6c6df2ebe3c4a88dabb6cec000128681561f))
- add `this.meta.viteVersion` ([#​20088](https://github.com/vitejs/vite/issues/20088)) ([f55bf41](https://github.com/vitejs/vite/commit/f55bf41e91f8dfe829a46e58f0035b19c8ab6a25))
- allow passing down resolved config to vite's `createServer` ([#​19894](https://github.com/vitejs/vite/issues/19894)) ([c1ae9bd](https://github.com/vitejs/vite/commit/c1ae9bd4a0542b4703ae7766ad61d072e8b833bd))
- buildApp hook ([#​19971](https://github.com/vitejs/vite/issues/19971)) ([5da659d](https://github.com/vitejs/vite/commit/5da659de902f0a2d6d8beefbf269128383b63887))
- **build:** provide names for asset entrypoints ([#​19912](https://github.com/vitejs/vite/issues/19912)) ([c4e01dc](https://github.com/vitejs/vite/commit/c4e01dc5ab0f1708383c39d28ce62e12b8f374fc))
- bump `build.target` and name it `baseline-widely-available` ([#​20007](https://github.com/vitejs/vite/issues/20007)) ([4a8aa82](https://github.com/vitejs/vite/commit/4a8aa82556eb2b9e54673a6aac77873e0eb27fa9))
- **client:** support opening fileURL in editor ([#​20040](https://github.com/vitejs/vite/issues/20040)) ([1bde4d2](https://github.com/vitejs/vite/commit/1bde4d25243cd9beaadb01413e896fef562626ef))
- make PluginContext available for Vite-specific hooks ([#​19936](https://github.com/vitejs/vite/issues/19936)) ([7063839](https://github.com/vitejs/vite/commit/7063839d47dfd4ac6be1247ba68e414ffe287b00))
- resolve environments plugins at config time ([#​20120](https://github.com/vitejs/vite/issues/20120)) ([f6a28d5](https://github.com/vitejs/vite/commit/f6a28d5f792ba5cc4dc236e3e6edd05199cabcc8))
- stabilize `css.preprocessorMaxWorkers` and default to `true` ([#​19992](https://github.com/vitejs/vite/issues/19992)) ([70aee13](https://github.com/vitejs/vite/commit/70aee139ea802478bad56e5e441f187140bcf0cc))
- stabilize `optimizeDeps.noDiscovery` ([#​19984](https://github.com/vitejs/vite/issues/19984)) ([6d2dcb4](https://github.com/vitejs/vite/commit/6d2dcb494db9f40565f11b50bdbb8c1b7245697d))
##### Bug Fixes
- **deps:** update all non-major dependencies ([#​20271](https://github.com/vitejs/vite/issues/20271)) ([6b64d63](https://github.com/vitejs/vite/commit/6b64d63d700154de2c00270300b671cef8863708))
- keep `import.meta.url` in bundled Vite ([#​20235](https://github.com/vitejs/vite/issues/20235)) ([3bf3a8a](https://github.com/vitejs/vite/commit/3bf3a8ab00e5a0dfab0bb5741cb871ea30b72651))
- **module-runner:** export `ssrExportNameKey` ([#​20266](https://github.com/vitejs/vite/issues/20266)) ([ac302a7](https://github.com/vitejs/vite/commit/ac302a729062dbfc67f762b3c4af46b7893c214f))
- **module-runner:** expose `normalizeModuleId` ([#​20277](https://github.com/vitejs/vite/issues/20277)) ([9b98dcb](https://github.com/vitejs/vite/commit/9b98dcbf75546240e1609185828e18a77bac8c8d))
- **deps:** update all non-major dependencies ([#​20181](https://github.com/vitejs/vite/issues/20181)) ([d91d4f7](https://github.com/vitejs/vite/commit/d91d4f7ad55edbcb4a51fc23376cbff89f776d30))
- **deps:** update all non-major dependencies ([#​20212](https://github.com/vitejs/vite/issues/20212)) ([a80339b](https://github.com/vitejs/vite/commit/a80339b1798607dd7389f42964272181cf9eb453))
- align dynamic import detection ([#​20115](https://github.com/vitejs/vite/issues/20115)) ([1ea2222](https://github.com/vitejs/vite/commit/1ea2222302f128c4000289683480d8311ea34223))
- applyToEnvironment after configResolved ([#​20170](https://github.com/vitejs/vite/issues/20170)) ([a330b80](https://github.com/vitejs/vite/commit/a330b805b0733fadd1f7d586218c2aafcbb41a7f))
- **deps:** update all non-major dependencies ([#​20141](https://github.com/vitejs/vite/issues/20141)) ([89ca65b](https://github.com/vitejs/vite/commit/89ca65ba1d849046dccdea52e9eca980f331be26))
- handle dynamic import with `.then(m => m.a)` ([#​20117](https://github.com/vitejs/vite/issues/20117)) ([7b7410a](https://github.com/vitejs/vite/commit/7b7410abab7c95880d943e46bd1a16dcb1a893fc))
- **hmr:** use monotonicDateNow for timestamp ([#​20158](https://github.com/vitejs/vite/issues/20158)) ([8d26785](https://github.com/vitejs/vite/commit/8d26785b8c3f5295ca0c1519dda1ddae9096fc73))
- **optimizer:** align relative `build.rollupOptions.input` resolution with rollup ([#​20080](https://github.com/vitejs/vite/issues/20080)) ([9759c29](https://github.com/vitejs/vite/commit/9759c29a8985da1a51de452d741850f0bf2ef7ef))
- **ssr:** don't access `Object` variable in ssr transformed code ([#​19996](https://github.com/vitejs/vite/issues/19996)) ([fceff60](https://github.com/vitejs/vite/commit/fceff60dc81730f7768b57f14e7a112facff387d))
- **types:** prefer sass-embedded types over sass types for `preprocessorOptions.sass` (fix [#​20150](https://github.com/vitejs/vite/issues/20150)) ([#​20166](https://github.com/vitejs/vite/issues/20166)) ([7db56be](https://github.com/vitejs/vite/commit/7db56be237dd1e1e875518475421d5c90cf950da))
- virtual svg module ([#​20144](https://github.com/vitejs/vite/issues/20144)) ([7dfcb31](https://github.com/vitejs/vite/commit/7dfcb316ee64aca0a98a1d2905deb1dfd113ae6d))
- **client:** render the last part of the stacktrace ([#​20039](https://github.com/vitejs/vite/issues/20039)) ([c7c1743](https://github.com/vitejs/vite/commit/c7c17434968848f1471179c10a5fc9d2804add8b))
- **cli:** make `cleanGlobalCLIOptions()` clean `--force` ([#​19999](https://github.com/vitejs/vite/issues/19999)) ([d4a171a](https://github.com/vitejs/vite/commit/d4a171afd387000789172a94c94a1c33c0856f85))
- **css:** remove alias exclude logic from rebaseUrl ([#​20100](https://github.com/vitejs/vite/issues/20100)) ([44c6d01](https://github.com/vitejs/vite/commit/44c6d0111f95c8aa44d6a09a768e8cf02232ed29))
- **css:** sass rebase url in relative imported modules ([#​20067](https://github.com/vitejs/vite/issues/20067)) ([261fad9](https://github.com/vitejs/vite/commit/261fad9b8e6380c84b8692b3fbe18d6f37d367bd))
- **css:** should not wrap with double quote when the url rebase feature bailed out ([#​20068](https://github.com/vitejs/vite/issues/20068)) ([a33d0c7](https://github.com/vitejs/vite/commit/a33d0c7d65d9fff9acd5de0cf3c4d371297b3990))
- **deps:** update all non-major dependencies ([#​19953](https://github.com/vitejs/vite/issues/19953)) ([ac8e1fb](https://github.com/vitejs/vite/commit/ac8e1fb289a06fc0671dab1f4ef68e508e34360e))
- **deps:** update all non-major dependencies ([#​20061](https://github.com/vitejs/vite/issues/20061)) ([7b58856](https://github.com/vitejs/vite/commit/7b588563636a6f735a6e25832f33fc08572b25d9))
- importing an optional peer dep should throw an runtime error ([#​20029](https://github.com/vitejs/vite/issues/20029)) ([d0221cd](https://github.com/vitejs/vite/commit/d0221cd7383c18d67a5ef594da52e6aa5fc4d87b))
- merge `environments.*.resolve.noExternal` properly ([#​20077](https://github.com/vitejs/vite/issues/20077)) ([daf4a25](https://github.com/vitejs/vite/commit/daf4a25a1c0a37c992606e6ae159e13190c2e101))
- merge `server.allowedHosts: true` correctly ([#​20138](https://github.com/vitejs/vite/issues/20138)) ([2ade756](https://github.com/vitejs/vite/commit/2ade756c9549a52d804797d45da37c8429a51fd3))
- **optimizer:** non object module.exports for Node builtin modules in CJS external facade ([#​20048](https://github.com/vitejs/vite/issues/20048)) ([00ac6e4](https://github.com/vitejs/vite/commit/00ac6e410eeb15719fe020fd497f0336e7fd1aa8))
- **optimizer:** show error when `computeEntries` failed ([#​20079](https://github.com/vitejs/vite/issues/20079)) ([b742b46](https://github.com/vitejs/vite/commit/b742b46f8308a71c1d2aa426eade0c50cbf1480f))
- treat all `optimizeDeps.entries` values as globs ([#​20045](https://github.com/vitejs/vite/issues/20045)) ([1422395](https://github.com/vitejs/vite/commit/142239588d6752c5b91d435aee9b4a6c00b7f924))
- **types:** expose additional PluginContext types ([#​20129](https://github.com/vitejs/vite/issues/20129)) ([b6df9aa](https://github.com/vitejs/vite/commit/b6df9aac3320cd953f6d45ad9245a7b564f67cc1))
##### Performance Improvements
- **utils:** improve performance of `numberToPos` ([#​20244](https://github.com/vitejs/vite/issues/20244)) ([3f46901](https://github.com/vitejs/vite/commit/3f469012ad38e3cb330adc74a8b3ec88561c822e))
##### Documentation
- tiny typo ([#​20110](https://github.com/vitejs/vite/issues/20110)) ([d20fc2c](https://github.com/vitejs/vite/commit/d20fc2cdc9700513425b18b625e01224f61e4eab))
##### Miscellaneous Chores
- "indentity" → "identity" in test description ([#​20225](https://github.com/vitejs/vite/issues/20225)) ([ea9aed7](https://github.com/vitejs/vite/commit/ea9aed7ebcb7f4be542bd2a384cbcb5a1e7b31bd))
- **deps:** update rolldown-related dependencies ([#​20270](https://github.com/vitejs/vite/issues/20270)) ([f7377c3](https://github.com/vitejs/vite/commit/f7377c3eae6323bd3237ff5de5ae55c879fe7325))
- typos in comments ([#​20259](https://github.com/vitejs/vite/issues/20259)) ([b135918](https://github.com/vitejs/vite/commit/b135918b91e8381c50bd2d076d40e9a65fe68bfe))
- **deps:** update rolldown-related dependencies ([#​20182](https://github.com/vitejs/vite/issues/20182)) ([6172f41](https://github.com/vitejs/vite/commit/6172f410b44cbae8d052997bb1819a6197a4d397))
- **deps:** update rolldown-related dependencies ([#​20211](https://github.com/vitejs/vite/issues/20211)) ([b13b7f5](https://github.com/vitejs/vite/commit/b13b7f5e21fe05c3214766b3de584a026fbfe144))
- add a way to disable source maps when developing Vite ([#​20168](https://github.com/vitejs/vite/issues/20168)) ([3a30c0a](https://github.com/vitejs/vite/commit/3a30c0a084a1b92a6265f8900df89e5102418e5e))
- **deps:** update rolldown-related dependencies ([#​20140](https://github.com/vitejs/vite/issues/20140)) ([0387447](https://github.com/vitejs/vite/commit/03874471e3de14e7d2f474ecb354499e7f5eb418))
- fix…
Description
Implement a
buildApphook, with a similar API to @dario-piotrowicz' proposal:I didn't end up going forward with the builder.build(environment) returning a promise proposal because we have a current use case for building environments multiple times with RSC right now (that hopefully won't be needed in the future).
Instead of a
builtEnvironmentsarray, this PR implements the same idea with aenvironment.isBuiltflag. We may end up adding more state later and I think we shouldn't create arrays for each of them. It feels a bit strange to have this state in theBuildEnvironmentat first, but we have a lot of state in dev environments already.Note: I ended up not removing
config.builder.buildAppbecause it is easy to keep working and I think it would help with the current explorations to avoid the breaking change. We can still decide to do a clean move to a hook only world in Vite 7 or delay that to Vite 8 (if the hook proves to be the final shape of the API, what I'm leaning towards). We can deprecateconfig.builder.buildAppat one point during Vite 7 then.