Skip to content

fix(css): avoid duplicate style for server rendered stylesheet link and client inline style during dev#20767

Merged
hi-ogawa merged 10 commits into
vitejs:mainfrom
hi-ogawa:09-14-fix_css_avoid_duplicate_style_for_server_rendered_stylesheet_link
Oct 8, 2025
Merged

fix(css): avoid duplicate style for server rendered stylesheet link and client inline style during dev#20767
hi-ogawa merged 10 commits into
vitejs:mainfrom
hi-ogawa:09-14-fix_css_avoid_duplicate_style_for_server_rendered_stylesheet_link

Conversation

@hi-ogawa

@hi-ogawa hi-ogawa commented Sep 14, 2025

Copy link
Copy Markdown
Contributor

Description

Currently Vite reuses server rendered <style data-vite-dev-id="..."> when the same css is imported on client. This PR adds the same logic for <link data-vite-dev-id="...">.

I haven't thought through the whole scenario, but this seems reasonable to have since Vite handles link stylesheet with special behavior such as:

  • for dev, <link rel="stylesheet" /> supports HMR by rewriting href="...?t=..."

// css-update
// this is only sent when a css file referenced with <link> is updated

  • for build, client preload checks existing links and skips re-inserting

// check if the file is already preloaded by SSR markup

additional context

As far as I know, only Astro makes use of <style data-vite-dev-id="..."> for SSR to avoids duplicate css when the module on client imports the same css. Frameworks not using this trick but still injecting css from SSR to avoid FOUC have duplicate CSS on browser momentarily and then remove the server rendered <style> on hydration (Sveltekit, Nuxt, React router work like this). This behavior seems mostly harmless, but there's one issue about potential font glitch (cf. unjs/fontaine#665).

I'm trying to see if the same idea can be implemented for <link data-vite-dev-id="...">. The advantage of link over style is following:

  • to generate <style> during SSR, it requires ssrLoadModule("...css?inline") to get the css content whereas <link> requires only module url.
  • rendering entire inline css <style> can SSR output.
  • on production, style is <link> by default (unless framework has some logic to inline them).

Btw, I'm currently using custom plugin to transform @vite/client to have this patch in hi-ogawa/vite-plugins#1168.


One more thought: it would be simpler if updateStyle/removeStyle handles href url directly instead of extra data-vite-dev-id. I haven't tried this yet though.

@hi-ogawa hi-ogawa changed the title fix(css): avoid duplicate style for server rendered stylesheet link fix(css): avoid duplicate style for server rendered stylesheet link and client inline style Sep 14, 2025
@hi-ogawa hi-ogawa changed the title fix(css): avoid duplicate style for server rendered stylesheet link and client inline style fix(css): avoid duplicate style for server rendered stylesheet link and client inline style during dev Sep 14, 2025
@pkg-pr-new

pkg-pr-new Bot commented Sep 17, 2025

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/vite@20767

commit: 07abca2

@hi-ogawa hi-ogawa marked this pull request as ready for review October 2, 2025 08:24
@hi-ogawa hi-ogawa requested review from bluwy and sapphi-red October 3, 2025 05:16
@sapphi-red

Copy link
Copy Markdown
Member

This means there'll be two requests for each CSS imports (one for <link> and one for the JS script that injects <style> when <link> doesn't exist). I wonder if that affects performance when the application is large.

@hi-ogawa

hi-ogawa commented Oct 6, 2025

Copy link
Copy Markdown
Contributor Author

Right, obviously it's not perfect either, but I think it's worth the try. I don't think this change itself has downside.
For ?assets import, we can mostly switch internal implementation and probably experiment with the difference and see trade off too.

@sapphi-red sapphi-red left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The life cycle feels strange to me, but I think that shouldn't be a blocker for this PR.
If <link> works better than <style>, we can migrate to it, rewriting import './foo.css' to client.injectStyle('./foo.css') which will inject a link tag.

@hi-ogawa

hi-ogawa commented Oct 8, 2025

Copy link
Copy Markdown
Contributor Author

The life cycle feels strange to me, but I think that shouldn't be a blocker for this PR. If <link> works better than <style>, we can migrate to it, rewriting import './foo.css' to client.injectStyle('./foo.css') which will inject a link tag.

Will think about it. There's something tricky with css module though (and likely other build-time css-in-js like solution which generates css). Js needs to know class name mapping, so import styles from "./foo.module.css" needs to be a separate request.

<link> centric approach is mostly verified to work on @vitejs/plugin-rsc including css module, hmr, etc. So, I'm somewhat optimistic.

@hi-ogawa hi-ogawa merged commit 3a92bc7 into vitejs:main Oct 8, 2025
16 checks passed
renovate Bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Oct 15, 2025
| datasource | package | from  | to     |
| ---------- | ------- | ----- | ------ |
| npm        | vite    | 7.1.9 | 7.1.10 |


## [v7.1.10](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-7110-2025-10-14-small)

##### Bug Fixes

- **css:** avoid duplicate style for server rendered stylesheet link and client inline style during dev ([#20767](vitejs/vite#20767)) ([3a92bc7](vitejs/vite@3a92bc7))
- **css:** respect emitAssets when cssCodeSplit=false ([#20883](vitejs/vite#20883)) ([d3e7eee](vitejs/vite@d3e7eee))
- **deps:** update all non-major dependencies ([879de86](vitejs/vite@879de86))
- **deps:** update all non-major dependencies ([#20894](vitejs/vite#20894)) ([3213f90](vitejs/vite@3213f90))
- **dev:** allow aliases starting with `//` ([#20760](vitejs/vite#20760)) ([b95fa2a](vitejs/vite@b95fa2a))
- **dev:** remove timestamp query consistently ([#20887](vitejs/vite#20887)) ([6537d15](vitejs/vite@6537d15))
- **esbuild:** inject esbuild helpers correctly for esbuild 0.25.9+ ([#20906](vitejs/vite#20906)) ([446eb38](vitejs/vite@446eb38))
- normalize path before calling `fileToBuiltUrl` ([#20898](vitejs/vite#20898)) ([73b6d24](vitejs/vite@73b6d24))
- preserve original sourcemap file field when combining sourcemaps ([#20926](vitejs/vite#20926)) ([c714776](vitejs/vite@c714776))

##### Documentation

- correct `WebSocket` spelling ([#20890](vitejs/vite#20890)) ([29e98dc](vitejs/vite@29e98dc))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#20923](vitejs/vite#20923)) ([a5e3b06](vitejs/vite@a5e3b06))
736-c41-2c1-e464fc974 added a commit to Swiss-Armed-Forces/Loom that referenced this pull request Feb 21, 2026
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) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/vitejs/vite/badge)](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` ([#&#8203;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 ([#&#8203;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 ([#&#8203;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 ([#&#8203;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 ([#&#8203;21103](https://github.com/vitejs/vite/issues/21103)) ([5909efd](https://github.com/vitejs/vite/commit/5909efd8fbfd1bf1eab65427aea0613124b2797a))
- **deps:** update all non-major dependencies ([#&#8203;21096](https://github.com/vitejs/vite/issues/21096)) ([6a34ac3](https://github.com/vitejs/vite/commit/6a34ac3422686e7cf7cc9a25d299cb8e5a8d92a0))
- **deps:** update all non-major dependencies ([#&#8203;21128](https://github.com/vitejs/vite/issues/21128)) ([4f8171e](https://github.com/vitejs/vite/commit/4f8171eb3046bd70c83964689897dab4c6b58bc0))

##### Performance Improvements

- **deps:** replace debug with obug ([#&#8203;21107](https://github.com/vitejs/vite/issues/21107)) ([acfe939](https://github.com/vitejs/vite/commit/acfe939e1f7c303c34b0b39b883cc302da767fa2))

##### Miscellaneous Chores

- **deps:** update dependency [@&#8203;rollup/plugin-commonjs](https://github.com/rollup/plugin-commonjs) to v29 ([#&#8203;21099](https://github.com/vitejs/vite/issues/21099)) ([02ceaec](https://github.com/vitejs/vite/commit/02ceaec45e17bef19159188a28d9196fed1761be))
- **deps:** update rolldown-related dependencies ([#&#8203;21095](https://github.com/vitejs/vite/issues/21095)) ([39a0a15](https://github.com/vitejs/vite/commit/39a0a15fd24ed37257c48b795097a3794e54d255))
- **deps:** update rolldown-related dependencies ([#&#8203;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 ([#&#8203;21019](https://github.com/vitejs/vite/issues/21019))" ([#&#8203;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 ([#&#8203;21193](https://github.com/vitejs/vite/issues/21193))
- the epic `rolldown-vite` merge ([#&#8203;21189](https://github.com/vitejs/vite/issues/21189))

##### Features

- update default browser target ([#&#8203;21193](https://github.com/vitejs/vite/issues/21193)) ([8c3dd06](https://github.com/vitejs/vite/commit/8c3dd06bd9903bf0e6bc51f3554eea8cb6b26903))
- the epic `rolldown-vite` merge ([#&#8203;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 ([#&#8203;21002](https://github.com/vitejs/vite/issues/21002)) ([b1fd616](https://github.com/vitejs/vite/commit/b1fd6161886caeb31ac646d6544116d37efe46d0))
- **module-runner:** make `getBuiltins` response JSON serializable ([#&#8203;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 ([#&#8203;21040](https://github.com/vitejs/vite/issues/21040)) ([2833c55](https://github.com/vitejs/vite/commit/2833c5576a87be2db450c195ccf64dfc8925a15b))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#&#8203;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 ([#&#8203;20968](https://github.com/vitejs/vite/issues/20968)) ([f479cc5](https://github.com/vitejs/vite/commit/f479cc57c425ed41ceb434fecebd63931b1ed4ed))

##### Miscellaneous Chores

- **deps:** update all non-major dependencies ([#&#8203;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 ([#&#8203;20921](https://github.com/vitejs/vite/issues/20921)) ([d0094af](https://github.com/vitejs/vite/commit/d0094af639d9ebbb51d4e00910b74f23eb8fe131))

##### Build System

- remove cjs reference in files field ([#&#8203;20945](https://github.com/vitejs/vite/issues/20945)) ([ef411ce](https://github.com/vitejs/vite/commit/ef411cee2696af3ba791879fdae9aad165f178b2))
- remove hash from built filenames ([#&#8203;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 ([#&#8203;20767](https://github.com/vitejs/vite/issues/20767)) ([3a92bc7](https://github.com/vitejs/vite/commit/3a92bc79b306a01b8aaf37f80b2239eaf6e488e7))
- **css:** respect emitAssets when cssCodeSplit=false ([#&#8203;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 ([#&#8203;20894](https://github.com/vitejs/vite/issues/20894)) ([3213f90](https://github.com/vitejs/vite/commit/3213f90ff0d8f274bcec65f40aac6dfcff1ac244))
- **dev:** allow aliases starting with `//` ([#&#8203;20760](https://github.com/vitejs/vite/issues/20760)) ([b95fa2a](https://github.com/vitejs/vite/commit/b95fa2aa7564eda4c9f05ee7616a2dbada35e463))
- **dev:** remove timestamp query consistently ([#&#8203;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+ ([#&#8203;20906](https://github.com/vitejs/vite/issues/20906)) ([446eb38](https://github.com/vitejs/vite/commit/446eb386329ef682d614c77958a542f2dc222880))
- normalize path before calling `fileToBuiltUrl` ([#&#8203;20898](https://github.com/vitejs/vite/issues/20898)) ([73b6d24](https://github.com/vitejs/vite/commit/73b6d243e0398ee5d8d44c7d24162f4a0f4b1cf1))
- preserve original sourcemap file field when combining sourcemaps ([#&#8203;20926](https://github.com/vitejs/vite/issues/20926)) ([c714776](https://github.com/vitejs/vite/commit/c714776aa1dcc24299a81c1495cbcbb1b1ef1dd3))

##### Documentation

- correct `WebSocket` spelling ([#&#8203;20890](https://github.com/vitejs/vite/issues/20890)) ([29e98dc](https://github.com/vitejs/vite/commit/29e98dc3efe35efbd978523367c05db7d2e7a278))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#&#8203;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 ([#&#8203;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 ([#&#8203;20847](https://github.com/vitejs/vite/issues/20847)) ([24a61a3](https://github.com/vitejs/vite/commit/24a61a3f5404279e91f7ceebf7449a5e874f9d56))
- **deps:** update all non-major dependencies ([#&#8203;20855](https://github.com/vitejs/vite/issues/20855)) ([788a183](https://github.com/vitejs/vite/commit/788a183afce57de13f5656f0cf42cdf6fdc3ebaa))
- **deps:** update artichokie to 0.4.2 ([#&#8203;20864](https://github.com/vitejs/vite/issues/20864)) ([e670799](https://github.com/vitejs/vite/commit/e670799e123dca78e1a63aeb06dbadade3d5ab51))
- **dev:** skip JS responses for document requests ([#&#8203;20866](https://github.com/vitejs/vite/issues/20866)) ([6bc6c4d](https://github.com/vitejs/vite/commit/6bc6c4dbc23501577d3919dc841454eb2eb14a54))
- **glob:** fix HMR for array patterns with exclusions ([#&#8203;20872](https://github.com/vitejs/vite/issues/20872)) ([63e040f](https://github.com/vitejs/vite/commit/63e040f1ca6b635a007eb40aa7c8b891e8cc5799))
- keep ids for virtual modules as-is ([#&#8203;20808](https://github.com/vitejs/vite/issues/20808)) ([d4eca98](https://github.com/vitejs/vite/commit/d4eca986d679c77bd449db20fd99d8255985b550))
- **server:** drain stdin when not interactive ([#&#8203;20837](https://github.com/vitejs/vite/issues/20837)) ([bb950e9](https://github.com/vitejs/vite/commit/bb950e92b372f9a52245e9542cf9d9700d23ef8c))
- **server:** improve malformed URL handling in middlewares ([#&#8203;20830](https://github.com/vitejs/vite/issues/20830)) ([d65a983](https://github.com/vitejs/vite/commit/d65a9831c984e562c5bf2b5f427de16f6e1bd931))

##### Documentation

- **create-vite:** provide deno example ([#&#8203;20747](https://github.com/vitejs/vite/issues/20747)) ([fdb758a](https://github.com/vitejs/vite/commit/fdb758a51796b1ab605437b2eee778a84e87e169))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#&#8203;20810](https://github.com/vitejs/vite/issues/20810)) ([ea68a88](https://github.com/vitejs/vite/commit/ea68a8868c7ee249213057f8a81c3f92a9839dde))
- **deps:** update rolldown-related dependencies ([#&#8203;20854](https://github.com/vitejs/vite/issues/20854)) ([4dd06fd](https://github.com/vitejs/vite/commit/4dd06fdc8d643059c2abf88188eae7c4877aab6e))
- update url of `create-react-app` license ([#&#8203;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` ([#&#8203;20787](https://github.com/vitejs/vite/issues/20787)) ([4c4583c](https://github.com/vitejs/vite/commit/4c4583ce7a13306e0853901570c5d95517fe81da))
- **client:** use CSP nonce when rendering error overlay ([#&#8203;20791](https://github.com/vitejs/vite/issues/20791)) ([9bc9d12](https://github.com/vitejs/vite/commit/9bc9d1258f550e9d8f5e530cd27aecb1bee32bdb))
- **deps:** update all non-major dependencies ([#&#8203;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 ([#&#8203;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 ([#&#8203;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 ([#&#8203;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 ([#&#8203;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 ([#&#8203;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 ([#&#8203;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` ([#&#8203;20755](https://github.com/vitejs/vite/issues/20755)) ([cc54e29](https://github.com/vitejs/vite/commit/cc54e294746d3eac868de96f85d98dd0fa0cda11))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#&#8203;20675](https://github.com/vitejs/vite/issues/20675)) ([a67bb5f](https://github.com/vitejs/vite/commit/a67bb5fbec5f3e42151dc7e3166858d0d33533de))
- **deps:** update rolldown-related dependencies ([#&#8203;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 ([#&#8203;20736](https://github.com/vitejs/vite/issues/20736)) ([14015d7](https://github.com/vitejs/vite/commit/14015d794f69accba68798bd0e15135bc51c9c1e))
- **deps:** update all non-major dependencies ([#&#8203;20732](https://github.com/vitejs/vite/issues/20732)) ([122bfba](https://github.com/vitejs/vite/commit/122bfbabeb1f095ce7cabd30893e5531e9a007c4))
- upgrade sirv to 3.0.2 ([#&#8203;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 ([#&#8203;20697](https://github.com/vitejs/vite/issues/20697)) ([79d10ed](https://github.com/vitejs/vite/commit/79d10ed6341ba7a751d007b7ad113a9b8be9c853))
- **deps:** update all non-major dependencies ([#&#8203;20676](https://github.com/vitejs/vite/issues/20676)) ([5a274b2](https://github.com/vitejs/vite/commit/5a274b29df83744cf0ce4dafd94029d2a9e01135))
- **deps:** update all non-major dependencies ([#&#8203;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 ([#&#8203;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 ([#&#8203;20710](https://github.com/vitejs/vite/issues/20710)) ([537fcf9](https://github.com/vitejs/vite/commit/537fcf91862a1bf51e70ce6fe9b414319dd3a675))

##### Code Refactoring

- remove unnecessary `minify` parameter from `finalizeCss` ([#&#8203;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 ([#&#8203;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 ([#&#8203;20642](https://github.com/vitejs/vite/issues/20642)) ([a9ba017](https://github.com/vitejs/vite/commit/a9ba0174a58b949373d6b4240bc69180dff0b780))
- support long lines in `generateCodeFrame` ([#&#8203;20640](https://github.com/vitejs/vite/issues/20640)) ([1559577](https://github.com/vitejs/vite/commit/15595773170c2a07f2efdccee05964fb87c19ae6))

##### Bug Fixes

- **deps:** update all non-major dependencies ([#&#8203;20634](https://github.com/vitejs/vite/issues/20634)) ([4851cab](https://github.com/vitejs/vite/commit/4851cab3ba818b5f0f82eef3796b61d4b12768f1))
- **optimizer:** incorrect incompatible error ([#&#8203;20439](https://github.com/vitejs/vite/issues/20439)) ([446fe83](https://github.com/vitejs/vite/commit/446fe83033686dd38d13b786a217b8277b5c5f09))
- support multiline new URL(..., import.meta.url) expressions ([#&#8203;20644](https://github.com/vitejs/vite/issues/20644)) ([9ccf142](https://github.com/vitejs/vite/commit/9ccf142764d48292aa33e5ca6f020a7d55b97f61))

##### Performance Improvements

- **cli:** dynamically import `resolveConfig` ([#&#8203;20646](https://github.com/vitejs/vite/issues/20646)) ([f691f57](https://github.com/vitejs/vite/commit/f691f57e46118328e00174160ceab2101b7256ca))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#&#8203;20633](https://github.com/vitejs/vite/issues/20633)) ([98b92e8](https://github.com/vitejs/vite/commit/98b92e8c4b10ae87c48292a8ac09b01ca81a02cf))

##### Code Refactoring

- replace startsWith with strict equality ([#&#8203;20603](https://github.com/vitejs/vite/issues/20603)) ([42816de](https://github.com/vitejs/vite/commit/42816dee0e177dded1c9de4d9099089ec4acef96))
- use `import` in worker threads ([#&#8203;20641](https://github.com/vitejs/vite/issues/20641)) ([530687a](https://github.com/vitejs/vite/commit/530687a344c51daf3115d1c134586bbde58356e0))

##### Tests

- remove `checkNodeVersion` test ([#&#8203;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 ([#&#8203;20595](https://github.com/vitejs/vite/issues/20595)) ([7cdef61](https://github.com/vitejs/vite/commit/7cdef612a65da5363905723f77516b6745ac9a94))
- **config:** make debugger work with bundle loader ([#&#8203;20573](https://github.com/vitejs/vite/issues/20573)) ([c583927](https://github.com/vitejs/vite/commit/c583927bee657f15f63fdf80468fbe6a74eacdec))
- **deps:** update all non-major dependencies ([#&#8203;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 ([#&#8203;20558](https://github.com/vitejs/vite/issues/20558)) ([ab33803](https://github.com/vitejs/vite/commit/ab33803f2c831a82ddee637ad62e0c4ceeb663f1))
- **hmr:** watch non-inlined assets referenced by CSS ([#&#8203;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 ([#&#8203;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` ([#&#8203;20577](https://github.com/vitejs/vite/issues/20577)) ([0a6048a](https://github.com/vitejs/vite/commit/0a6048aba4523f451edf29ae4037d252cc963815))
- **deps:** update rolldown-related dependencies ([#&#8203;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 ([#&#8203;20968](https://github.com/vitejs/vite/issues/20968)) ([f479cc5](https://github.com/vitejs/vite/commit/f479cc57c425ed41ceb434fecebd63931b1ed4ed))

##### Miscellaneous Chores

- **deps:** update all non-major dependencies ([#&#8203;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 ([#&#8203;20921](https://github.com/vitejs/vite/issues/20921)) ([d0094af](https://github.com/vitejs/vite/commit/d0094af639d9ebbb51d4e00910b74f23eb8fe131))

##### Build System

- remove cjs reference in files field ([#&#8203;20945](https://github.com/vitejs/vite/issues/20945)) ([ef411ce](https://github.com/vitejs/vite/commit/ef411cee2696af3ba791879fdae9aad165f178b2))
- remove hash from built filenames ([#&#8203;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` ([#&#8203;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) ([#&#8203;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 ([#&#8203;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 ([#&#8203;20517](https://github.com/vitejs/vite/issues/20517)) ([794a8f2](https://github.com/vitejs/vite/commit/794a8f230218a3b1e148defc5a2d7a67409177ff))
- add `future: 'warn'` ([#&#8203;20473](https://github.com/vitejs/vite/issues/20473)) ([e6aaf17](https://github.com/vitejs/vite/commit/e6aaf17ca21544572941957ce71bd8dbdc94e402))
- add `removeServerPluginContainer` future deprecation ([#&#8203;20437](https://github.com/vitejs/vite/issues/20437)) ([c1279e7](https://github.com/vitejs/vite/commit/c1279e75401ac6ea1d0678da88414a76ff36b6fe))
- add `removeServerReloadModule` future deprecation ([#&#8203;20436](https://github.com/vitejs/vite/issues/20436)) ([6970d17](https://github.com/vitejs/vite/commit/6970d1740cebd56af696abf60f30adb0c060f578))
- add `server.warmupRequest` to future deprecation ([#&#8203;20431](https://github.com/vitejs/vite/issues/20431)) ([8ad388a](https://github.com/vitejs/vite/commit/8ad388aeab0dc79e4bc14859b91174427805a46b))
- add `ssrFixStacktrace` / `ssrRewriteStacktrace` to `removeSsrLoadModule` future deprecation ([#&#8203;20435](https://github.com/vitejs/vite/issues/20435)) ([8c8f587](https://github.com/vitejs/vite/commit/8c8f5879ead251705c2c363f5b8b94f618fbf374))
- **client:** ping from SharedWorker ([#&#8203;19057](https://github.com/vitejs/vite/issues/19057)) ([5c97c22](https://github.com/vitejs/vite/commit/5c97c22548476e5f80856ece1d80b9234a7e6ecb))
- **dev:** add `this.fs` support ([#&#8203;20301](https://github.com/vitejs/vite/issues/20301)) ([0fe3f2f](https://github.com/vitejs/vite/commit/0fe3f2f7c325c5990f1059c28b66b24e1b8fd5d3))
- export `defaultExternalConditions` ([#&#8203;20279](https://github.com/vitejs/vite/issues/20279)) ([344d302](https://github.com/vitejs/vite/commit/344d30243b107852b133175e947a0410ea703f00))
- implement `removePluginHookSsrArgument` future deprecation ([#&#8203;20433](https://github.com/vitejs/vite/issues/20433)) ([95927d9](https://github.com/vitejs/vite/commit/95927d9c0ba1cb0b3bd8c900f039c099f8e29f90))
- implement `removeServerHot` future deprecation ([#&#8203;20434](https://github.com/vitejs/vite/issues/20434)) ([259f45d](https://github.com/vitejs/vite/commit/259f45d0698a184d6ecc352b610001fa1acdcee1))
- resolve server URLs before calling other listeners ([#&#8203;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 ([#&#8203;20409](https://github.com/vitejs/vite/issues/20409)) ([c669c52](https://github.com/vitejs/vite/commit/c669c524e6008a4902169f4b2f865e892297acf3))
- **ssr:** support `import.meta.resolve` in module runner ([#&#8203;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__` ([#&#8203;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 ([#&#8203;20518](https://github.com/vitejs/vite/issues/20518)) ([bac9f3e](https://github.com/vitejs/vite/commit/bac9f3ecf84ae5c5add6ef224ae057508247f89e))
- **dev:** denied request stalled when requested concurrently ([#&#8203;20503](https://github.com/vitejs/vite/issues/20503)) ([64a52e7](https://github.com/vitejs/vite/commit/64a52e70d9250b16aa81ce2df27c23fe56907257))
- **manifest:** initialize `entryCssAssetFileNames` as an empty Set ([#&#8203;20542](https://github.com/vitejs/vite/issues/20542)) ([6a46cda](https://github.com/vitejs/vite/commit/6a46cdac5dece70296d1179640958deeeb2e6c19))
- skip prepareOutDirPlugin in workers ([#&#8203;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)` ([#&#8203;20507](https://github.com/vitejs/vite/issues/20507)) ([1b211fd](https://github.com/vitejs/vite/commit/1b211fd1beccd0fc13bec700815abaa9f54147e8))
- **client:** keep ping on WS constructor error ([#&#8203;20512](https://github.com/vitejs/vite/issues/20512)) ([3676da5](https://github.com/vitejs/vite/commit/3676da5bc5b2b69b28619b8521fca94d30468fe5))
- **deps:** update all non-major dependencies ([#&#8203;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 ([#&#8203;20528](https://github.com/vitejs/vite/issues/20528)) ([c5a10ec](https://github.com/vitejs/vite/commit/c5a10ec004130bec17cf42760b76d1d404008fa3))
- **html:** allow control character in input stream ([#&#8203;20483](https://github.com/vitejs/vite/issues/20483)) ([c12a4a7](https://github.com/vitejs/vite/commit/c12a4a76a299237a0a13b885c72fdda6e4a3c9b7))
- merge old and new `noExternal: true` correctly ([#&#8203;20502](https://github.com/vitejs/vite/issues/20502)) ([9ebe4a5](https://github.com/vitejs/vite/commit/9ebe4a514a2e48e3fe194f16b0556a45ff38077a))
- **deps:** update all non-major dependencies ([#&#8203;20489](https://github.com/vitejs/vite/issues/20489)) ([f6aa04a](https://github.com/vitejs/vite/commit/f6aa04a52d486c8881f666c450caa3dab3c6bba1))
- **dev:** denied requests overly ([#&#8203;20410](https://github.com/vitejs/vite/issues/20410)) ([4be5270](https://github.com/vitejs/vite/commit/4be5270b27f7e6323f1771974b4b3520d86600e4))
- **hmr:** register css deps as `type: asset` ([#&#8203;20391](https://github.com/vitejs/vite/issues/20391)) ([7eac8dd](https://github.com/vitejs/vite/commit/7eac8ddb65033b8c001d6c6bc46aaeeefb79680a))
- **optimizer:** discover correct jsx runtime during scan ([#&#8203;20495](https://github.com/vitejs/vite/issues/20495)) ([10d48bb](https://github.com/vitejs/vite/commit/10d48bb2e30824d217e415a58cea9e69c2820c2a))
- **preview:** set correct host for `resolvedUrls` ([#&#8203;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 ([#&#8203;20460](https://github.com/vitejs/vite/issues/20460)) ([8033e5b](https://github.com/vitejs/vite/commit/8033e5bf8d3ff43995d0620490ed8739c59171dd))

##### Performance Improvements

- **client:** reduce reload debounce ([#&#8203;20429](https://github.com/vitejs/vite/issues/20429)) ([22ad43b](https://github.com/vitejs/vite/commit/22ad43b4bf2435efe78a65b84e8469b23521900a))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#&#8203;20536](https://github.com/vitejs/vite/issues/20536)) ([8be2787](https://github.com/vitejs/vite/commit/8be278748a92b128c49a24619d8d537dd2b08ceb))
- **deps:** update dependency parse5 to v8 ([#&#8203;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` ([#&#8203;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 ([#&#8203;20527](https://github.com/vitejs/vite/issues/20527)) ([958cdf2](https://github.com/vitejs/vite/commit/958cdf24f882be6953ca20912dd30c84213b069b))
- extract prepareOutDir as a plugin ([#&#8203;20373](https://github.com/vitejs/vite/issues/20373)) ([2c4af1f](https://github.com/vitejs/vite/commit/2c4af1f90b3ac98df6f4585a329528e6bd850462))
- extract resolve rollup options ([#&#8203;20375](https://github.com/vitejs/vite/issues/20375)) ([61a9778](https://github.com/vitejs/vite/commit/61a97780e6c54adb87345cb8c1f5f0d8e9ca5c05))
- rewrite openchrome.applescript to JXA ([#&#8203;20424](https://github.com/vitejs/vite/issues/20424)) ([7979f9d](https://github.com/vitejs/vite/commit/7979f9da555aa16bd221b32ea78ce8cb5292fac4))
- use `http-proxy-3` ([#&#8203;20402](https://github.com/vitejs/vite/issues/20402)) ([26d9872](https://github.com/vitejs/vite/commit/26d987232aad389733a7635b92122bb1d78dfcad))
- use hook filters in internal plugins ([#&#8203;20358](https://github.com/vitejs/vite/issues/20358)) ([f19c4d7](https://github.com/vitejs/vite/commit/f19c4d72de142814994e30120aa4ad57552cb874))
- use hook filters in internal resolve plugin ([#&#8203;20480](https://github.com/vitejs/vite/issues/20480)) ([acd2a13](https://github.com/vitejs/vite/commit/acd2a13c2d80e8c5c721bcf9738dfc03346cbfe1))

##### Tests

- detect ts support via `process.features` ([#&#8203;20544](https://github.com/vitejs/vite/issues/20544)) ([856d3f0](https://github.com/vitejs/vite/commit/856d3f06e6889979f630c8453fa385f01d8adaba))
- fix unimportant errors in test-unit ([#&#8203;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` ([#&#8203;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) ([#&#8203;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 ([#&#8203;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 ([#&#8203;20517](https://github.com/vitejs/vite/issues/20517)) ([794a8f2](https://github.com/vitejs/vite/commit/794a8f230218a3b1e148defc5a2d7a67409177ff))
- add `future: 'warn'` ([#&#8203;20473](https://github.com/vitejs/vite/issues/20473)) ([e6aaf17](https://github.com/vitejs/vite/commit/e6aaf17ca21544572941957ce71bd8dbdc94e402))
- add `removeServerPluginContainer` future deprecation ([#&#8203;20437](https://github.com/vitejs/vite/issues/20437)) ([c1279e7](https://github.com/vitejs/vite/commit/c1279e75401ac6ea1d0678da88414a76ff36b6fe))
- add `removeServerReloadModule` future deprecation ([#&#8203;20436](https://github.com/vitejs/vite/issues/20436)) ([6970d17](https://github.com/vitejs/vite/commit/6970d1740cebd56af696abf60f30adb0c060f578))
- add `server.warmupRequest` to future deprecation ([#&#8203;20431](https://github.com/vitejs/vite/issues/20431)) ([8ad388a](https://github.com/vitejs/vite/commit/8ad388aeab0dc79e4bc14859b91174427805a46b))
- add `ssrFixStacktrace` / `ssrRewriteStacktrace` to `removeSsrLoadModule` future deprecation ([#&#8203;20435](https://github.com/vitejs/vite/issues/20435)) ([8c8f587](https://github.com/vitejs/vite/commit/8c8f5879ead251705c2c363f5b8b94f618fbf374))
- **client:** ping from SharedWorker ([#&#8203;19057](https://github.com/vitejs/vite/issues/19057)) ([5c97c22](https://github.com/vitejs/vite/commit/5c97c22548476e5f80856ece1d80b9234a7e6ecb))
- **dev:** add `this.fs` support ([#&#8203;20301](https://github.com/vitejs/vite/issues/20301)) ([0fe3f2f](https://github.com/vitejs/vite/commit/0fe3f2f7c325c5990f1059c28b66b24e1b8fd5d3))
- export `defaultExternalConditions` ([#&#8203;20279](https://github.com/vitejs/vite/issues/20279)) ([344d302](https://github.com/vitejs/vite/commit/344d30243b107852b133175e947a0410ea703f00))
- implement `removePluginHookSsrArgument` future deprecation ([#&#8203;20433](https://github.com/vitejs/vite/issues/20433)) ([95927d9](https://github.com/vitejs/vite/commit/95927d9c0ba1cb0b3bd8c900f039c099f8e29f90))
- implement `removeServerHot` future deprecation ([#&#8203;20434](https://github.com/vitejs/vite/issues/20434)) ([259f45d](https://github.com/vitejs/vite/commit/259f45d0698a184d6ecc352b610001fa1acdcee1))
- resolve server URLs before calling other listeners ([#&#8203;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 ([#&#8203;20409](https://github.com/vitejs/vite/issues/20409)) ([c669c52](https://github.com/vitejs/vite/commit/c669c524e6008a4902169f4b2f865e892297acf3))
- **ssr:** support `import.meta.resolve` in module runner ([#&#8203;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__` ([#&#8203;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 ([#&#8203;20518](https://github.com/vitejs/vite/issues/20518)) ([bac9f3e](https://github.com/vitejs/vite/commit/bac9f3ecf84ae5c5add6ef224ae057508247f89e))
- **dev:** denied request stalled when requested concurrently ([#&#8203;20503](https://github.com/vitejs/vite/issues/20503)) ([64a52e7](https://github.com/vitejs/vite/commit/64a52e70d9250b16aa81ce2df27c23fe56907257))
- **manifest:** initialize `entryCssAssetFileNames` as an empty Set ([#&#8203;20542](https://github.com/vitejs/vite/issues/20542)) ([6a46cda](https://github.com/vitejs/vite/commit/6a46cdac5dece70296d1179640958deeeb2e6c19))
- skip prepareOutDirPlugin in workers ([#&#8203;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)` ([#&#8203;20507](https://github.com/vitejs/vite/issues/20507)) ([1b211fd](https://github.com/vitejs/vite/commit/1b211fd1beccd0fc13bec700815abaa9f54147e8))
- **client:** keep ping on WS constructor error ([#&#8203;20512](https://github.com/vitejs/vite/issues/20512)) ([3676da5](https://github.com/vitejs/vite/commit/3676da5bc5b2b69b28619b8521fca94d30468fe5))
- **deps:** update all non-major dependencies ([#&#8203;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 ([#&#8203;20528](https://github.com/vitejs/vite/issues/20528)) ([c5a10ec](https://github.com/vitejs/vite/commit/c5a10ec004130bec17cf42760b76d1d404008fa3))
- **html:** allow control character in input stream ([#&#8203;20483](https://github.com/vitejs/vite/issues/20483)) ([c12a4a7](https://github.com/vitejs/vite/commit/c12a4a76a299237a0a13b885c72fdda6e4a3c9b7))
- merge old and new `noExternal: true` correctly ([#&#8203;20502](https://github.com/vitejs/vite/issues/20502)) ([9ebe4a5](https://github.com/vitejs/vite/commit/9ebe4a514a2e48e3fe194f16b0556a45ff38077a))
- **deps:** update all non-major dependencies ([#&#8203;20489](https://github.com/vitejs/vite/issues/20489)) ([f6aa04a](https://github.com/vitejs/vite/commit/f6aa04a52d486c8881f666c450caa3dab3c6bba1))
- **dev:** denied requests overly ([#&#8203;20410](https://github.com/vitejs/vite/issues/20410)) ([4be5270](https://github.com/vitejs/vite/commit/4be5270b27f7e6323f1771974b4b3520d86600e4))
- **hmr:** register css deps as `type: asset` ([#&#8203;20391](https://github.com/vitejs/vite/issues/20391)) ([7eac8dd](https://github.com/vitejs/vite/commit/7eac8ddb65033b8c001d6c6bc46aaeeefb79680a))
- **optimizer:** discover correct jsx runtime during scan ([#&#8203;20495](https://github.com/vitejs/vite/issues/20495)) ([10d48bb](https://github.com/vitejs/vite/commit/10d48bb2e30824d217e415a58cea9e69c2820c2a))
- **preview:** set correct host for `resolvedUrls` ([#&#8203;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 ([#&#8203;20460](https://github.com/vitejs/vite/issues/20460)) ([8033e5b](https://github.com/vitejs/vite/commit/8033e5bf8d3ff43995d0620490ed8739c59171dd))

##### Performance Improvements

- **client:** reduce reload debounce ([#&#8203;20429](https://github.com/vitejs/vite/issues/20429)) ([22ad43b](https://github.com/vitejs/vite/commit/22ad43b4bf2435efe78a65b84e8469b23521900a))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#&#8203;20536](https://github.com/vitejs/vite/issues/20536)) ([8be2787](https://github.com/vitejs/vite/commit/8be278748a92b128c49a24619d8d537dd2b08ceb))
- **deps:** update dependency parse5 to v8 ([#&#8203;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` ([#&#8203;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 ([#&#8203;20527](https://github.com/vitejs/vite/issues/20527)) ([958cdf2](https://github.com/vitejs/vite/commit/958cdf24f882be6953ca20912dd30c84213b069b))
- extract prepareOutDir as a plugin ([#&#8203;20373](https://github.com/vitejs/vite/issues/20373)) ([2c4af1f](https://github.com/vitejs/vite/commit/2c4af1f90b3ac98df6f4585a329528e6bd850462))
- extract resolve rollup options ([#&#8203;20375](https://github.com/vitejs/vite/issues/20375)) ([61a9778](https://github.com/vitejs/vite/commit/61a97780e6c54adb87345cb8c1f5f0d8e9ca5c05))
- rewrite openchrome.applescript to JXA ([#&#8203;20424](https://github.com/vitejs/vite/issues/20424)) ([7979f9d](https://github.com/vitejs/vite/commit/7979f9da555aa16bd221b32ea78ce8cb5292fac4))
- use `http-proxy-3` ([#&#8203;20402](https://github.com/vitejs/vite/issues/20402)) ([26d9872](https://github.com/vitejs/vite/commit/26d987232aad389733a7635b92122bb1d78dfcad))
- use hook filters in internal plugins ([#&#8203;20358](https://github.com/vitejs/vite/issues/20358)) ([f19c4d7](https://github.com/vitejs/vite/commit/f19c4d72de142814994e30120aa4ad57552cb874))
- use hook filters in internal resolve plugin ([#&#8203;20480](https://github.com/vitejs/vite/issues/20480)) ([acd2a13](https://github.com/vitejs/vite/commit/acd2a13c2d80e8c5c721bcf9738dfc03346cbfe1))

##### Tests

- detect ts support via `process.features` ([#&#8203;20544](https://github.com/vitejs/vite/issues/20544)) ([856d3f0](https://github.com/vitejs/vite/commit/856d3f06e6889979f630c8453fa385f01d8adaba))
- fix unimportant errors in test-unit ([#&#8203;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 ([#&#8203;20406](https://github.com/vitejs/vite/issues/20406)) ([1a1cc8a](https://github.com/vitejs/vite/commit/1a1cc8a435a21996255b3e5cc75ed4680de2a7f3))
- remove special handling for `Accept: text/html` ([#&#8203;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)` ([#&#8203;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 ([#&#8203;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)` ([#&#8203;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 ([#&#8203;20379](https://github.com/vitejs/vite/issues/20379)) ([324669c](https://github.com/vitejs/vite/commit/324669c2d84966a822b1b2c134c9830a90bed271))

##### Build System

- remove `@oxc-project/runtime` devDep ([#&#8203;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 ([#&#8203;20359](https://github.com/vitejs/vite/issues/20359)) ([31d1467](https://github.com/vitejs/vite/commit/31d1467cf0da1e1dca623e6df0d345b30fae0c3d))
- **define:** replace optional values ([#&#8203;20338](https://github.com/vitejs/vite/issues/20338)) ([9465ae1](https://github.com/vitejs/vite/commit/9465ae1378b456e08659a22286bee6bce8edeedc))
- **deps:** update all non-major dependencies ([#&#8203;20366](https://github.com/vitejs/vite/issues/20366)) ([43ac73d](https://github.com/vitejs/vite/commit/43ac73da27b3907c701e95e6a7d28fde659729ec))

##### Miscellaneous Chores

- **deps:** update dependency dotenv to v17 ([#&#8203;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 ([#&#8203;20365](https://github.com/vitejs/vite/issues/20365)) ([5ab25e7](https://github.com/vitejs/vite/commit/5ab25e73a2ea2a2e2c0469350288a183dfb57030))
- use `n/prefer-node-protocol` rule ([#&#8203;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 ([#&#8203;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 [#&#8203;20300](https://github.com/vitejs/vite/issues/20300) ([#&#8203;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 ([#&#8203;20300](https://github.com/vitejs/vite/issues/20300)) ([ac528a4](https://github.com/vitejs/vite/commit/ac528a44c384fefb6f10c3f531df93b5ac39324c))
- **deps:** update all non-major dependencies ([#&#8203;20324](https://github.com/vitejs/vite/issues/20324)) ([3e81af3](https://github.com/vitejs/vite/commit/3e81af38a80c7617aba6bf3300d8b4267570f9cf))
- **types:** add a global interface for Worker ([#&#8203;20243](https://github.com/vitejs/vite/issues/20243)) ([37bdfc1](https://github.com/vitejs/vite/commit/37bdfc18f4c5bed053a38c5d717df33036acdd62))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#&#8203;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 ([#&#8203;20337](https://github.com/vitejs/vite/issues/20337)) ([c1c951d](https://github.com/vitejs/vite/commit/c1c951dcc32ec9f133b03ebbceddd749fc14f1e9))
- group commits by category in changelog ([#&#8203;20310](https://github.com/vitejs/vite/issues/20310)) ([41e83f6](https://github.com/vitejs/vite/commit/41e83f62b1adb65f5af4c1ec006de1c845437edc))
- rearrange 7.0 changelog ([#&#8203;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)

![Vite 7 is out!](../../docs/public/og-image-announcing-vite7.png)

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 ([#&#8203;19996](https://github.com/vitejs/vite/issues/19996))
- remove `experimental.skipSsrTransform` option ([#&#8203;20038](https://github.com/vitejs/vite/issues/20038))
- remove `HotBroadcaster` ([#&#8203;19988](https://github.com/vitejs/vite/issues/19988))
- **css:** always use sass compiler API ([#&#8203;19978](https://github.com/vitejs/vite/issues/19978))
- bump `build.target` and name it `baseline-widely-available` ([#&#8203;20007](https://github.com/vitejs/vite/issues/20007))
- bump required node version to 20.19+, 22.12+ and remove cjs build ([#&#8203;20032](https://github.com/vitejs/vite/issues/20032))
- **css:** remove sass legacy API support ([#&#8203;19977](https://github.com/vitejs/vite/issues/19977))
- remove deprecated `HotBroadcaster` related types ([#&#8203;19987](https://github.com/vitejs/vite/issues/19987))
- remove deprecated no-op type only properties ([#&#8203;19985](https://github.com/vitejs/vite/issues/19985))
- remove node 18 support ([#&#8203;19972](https://github.com/vitejs/vite/issues/19972))
- remove deprecated hook-level `enforce`/`transform` from `transformIndexHtml` hook ([#&#8203;19349](https://github.com/vitejs/vite/issues/19349))
- remove deprecated splitVendorChunkPlugin ([#&#8203;19255](https://github.com/vitejs/vite/issues/19255))

##### Features

- **types:** use terser types from terser package ([#&#8203;20274](https://github.com/vitejs/vite/issues/20274)) ([a5799fa](https://github.com/vitejs/vite/commit/a5799fa74c6190ecbb2da3d280136ff32463afc6))
- apply some middlewares before `configurePreviewServer` hook ([#&#8203;20224](https://github.com/vitejs/vite/issues/20224)) ([b989c42](https://github.com/vitejs/vite/commit/b989c42cf84378e6cb93970de739941f0d56d6f6))
- apply some middlewares before `configureServer` hook ([#&#8203;20222](https://github.com/vitejs/vite/issues/20222)) ([f5cc4c0](https://github.com/vitejs/vite/commit/f5cc4c0ded337670b439e51bc95f173e2b5cf9ad))
- add base option to import.meta.glob ([#&#8203;20163](https://github.com/vitejs/vite/issues/20163)) ([253d6c6](https://github.com/vitejs/vite/commit/253d6c6df2ebe3c4a88dabb6cec000128681561f))
- add `this.meta.viteVersion` ([#&#8203;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` ([#&#8203;19894](https://github.com/vitejs/vite/issues/19894)) ([c1ae9bd](https://github.com/vitejs/vite/commit/c1ae9bd4a0542b4703ae7766ad61d072e8b833bd))
- buildApp hook ([#&#8203;19971](https://github.com/vitejs/vite/issues/19971)) ([5da659d](https://github.com/vitejs/vite/commit/5da659de902f0a2d6d8beefbf269128383b63887))
- **build:** provide names for asset entrypoints ([#&#8203;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` ([#&#8203;20007](https://github.com/vitejs/vite/issues/20007)) ([4a8aa82](https://github.com/vitejs/vite/commit/4a8aa82556eb2b9e54673a6aac77873e0eb27fa9))
- **client:** support opening fileURL in editor ([#&#8203;20040](https://github.com/vitejs/vite/issues/20040)) ([1bde4d2](https://github.com/vitejs/vite/commit/1bde4d25243cd9beaadb01413e896fef562626ef))
- make PluginContext available for Vite-specific hooks ([#&#8203;19936](https://github.com/vitejs/vite/issues/19936)) ([7063839](https://github.com/vitejs/vite/commit/7063839d47dfd4ac6be1247ba68e414ffe287b00))
- resolve environments plugins at config time ([#&#8203;20120](https://github.com/vitejs/vite/issues/20120)) ([f6a28d5](https://github.com/vitejs/vite/commit/f6a28d5f792ba5cc4dc236e3e6edd05199cabcc8))
- stabilize `css.preprocessorMaxWorkers` and default to `true` ([#&#8203;19992](https://github.com/vitejs/vite/issues/19992)) ([70aee13](https://github.com/vitejs/vite/commit/70aee139ea802478bad56e5e441f187140bcf0cc))
- stabilize `optimizeDeps.noDiscovery` ([#&#8203;19984](https://github.com/vitejs/vite/issues/19984)) ([6d2dcb4](https://github.com/vitejs/vite/commit/6d2dcb494db9f40565f11b50bdbb8c1b7245697d))

##### Bug Fixes

- **deps:** update all non-major dependencies ([#&#8203;20271](https://github.com/vitejs/vite/issues/20271)) ([6b64d63](https://github.com/vitejs/vite/commit/6b64d63d700154de2c00270300b671cef8863708))
- keep `import.meta.url` in bundled Vite ([#&#8203;20235](https://github.com/vitejs/vite/issues/20235)) ([3bf3a8a](https://github.com/vitejs/vite/commit/3bf3a8ab00e5a0dfab0bb5741cb871ea30b72651))
- **module-runner:** export `ssrExportNameKey` ([#&#8203;20266](https://github.com/vitejs/vite/issues/20266)) ([ac302a7](https://github.com/vitejs/vite/commit/ac302a729062dbfc67f762b3c4af46b7893c214f))
- **module-runner:** expose `normalizeModuleId` ([#&#8203;20277](https://github.com/vitejs/vite/issues/20277)) ([9b98dcb](https://github.com/vitejs/vite/commit/9b98dcbf75546240e1609185828e18a77bac8c8d))
- **deps:** update all non-major dependencies ([#&#8203;20181](https://github.com/vitejs/vite/issues/20181)) ([d91d4f7](https://github.com/vitejs/vite/commit/d91d4f7ad55edbcb4a51fc23376cbff89f776d30))
- **deps:** update all non-major dependencies ([#&#8203;20212](https://github.com/vitejs/vite/issues/20212)) ([a80339b](https://github.com/vitejs/vite/commit/a80339b1798607dd7389f42964272181cf9eb453))
- align dynamic import detection ([#&#8203;20115](https://github.com/vitejs/vite/issues/20115)) ([1ea2222](https://github.com/vitejs/vite/commit/1ea2222302f128c4000289683480d8311ea34223))
- applyToEnvironment after configResolved ([#&#8203;20170](https://github.com/vitejs/vite/issues/20170)) ([a330b80](https://github.com/vitejs/vite/commit/a330b805b0733fadd1f7d586218c2aafcbb41a7f))
- **deps:** update all non-major dependencies ([#&#8203;20141](https://github.com/vitejs/vite/issues/20141)) ([89ca65b](https://github.com/vitejs/vite/commit/89ca65ba1d849046dccdea52e9eca980f331be26))
- handle dynamic import with `.then(m => m.a)` ([#&#8203;20117](https://github.com/vitejs/vite/issues/20117)) ([7b7410a](https://github.com/vitejs/vite/commit/7b7410abab7c95880d943e46bd1a16dcb1a893fc))
- **hmr:** use monotonicDateNow for timestamp ([#&#8203;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 ([#&#8203;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 ([#&#8203;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 [#&#8203;20150](https://github.com/vitejs/vite/issues/20150)) ([#&#8203;20166](https://github.com/vitejs/vite/issues/20166)) ([7db56be](https://github.com/vitejs/vite/commit/7db56be237dd1e1e875518475421d5c90cf950da))
- virtual svg module ([#&#8203;20144](https://github.com/vitejs/vite/issues/20144)) ([7dfcb31](https://github.com/vitejs/vite/commit/7dfcb316ee64aca0a98a1d2905deb1dfd113ae6d))
- **client:** render the last part of the stacktrace ([#&#8203;20039](https://github.com/vitejs/vite/issues/20039)) ([c7c1743](https://github.com/vitejs/vite/commit/c7c17434968848f1471179c10a5fc9d2804add8b))
- **cli:** make `cleanGlobalCLIOptions()` clean `--force` ([#&#8203;19999](https://github.com/vitejs/vite/issues/19999)) ([d4a171a](https://github.com/vitejs/vite/commit/d4a171afd387000789172a94c94a1c33c0856f85))
- **css:** remove alias exclude logic from rebaseUrl ([#&#8203;20100](https://github.com/vitejs/vite/issues/20100)) ([44c6d01](https://github.com/vitejs/vite/commit/44c6d0111f95c8aa44d6a09a768e8cf02232ed29))
- **css:** sass rebase url in relative imported modules ([#&#8203;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 ([#&#8203;20068](https://github.com/vitejs/vite/issues/20068)) ([a33d0c7](https://github.com/vitejs/vite/commit/a33d0c7d65d9fff9acd5de0cf3c4d371297b3990))
- **deps:** update all non-major dependencies ([#&#8203;19953](https://github.com/vitejs/vite/issues/19953)) ([ac8e1fb](https://github.com/vitejs/vite/commit/ac8e1fb289a06fc0671dab1f4ef68e508e34360e))
- **deps:** update all non-major dependencies ([#&#8203;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 ([#&#8203;20029](https://github.com/vitejs/vite/issues/20029)) ([d0221cd](https://github.com/vitejs/vite/commit/d0221cd7383c18d67a5ef594da52e6aa5fc4d87b))
- merge `environments.*.resolve.noExternal` properly ([#&#8203;20077](https://github.com/vitejs/vite/issues/20077)) ([daf4a25](https://github.com/vitejs/vite/commit/daf4a25a1c0a37c992606e6ae159e13190c2e101))
- merge `server.allowedHosts: true` correctly ([#&#8203;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 ([#&#8203;20048](https://github.com/vitejs/vite/issues/20048)) ([00ac6e4](https://github.com/vitejs/vite/commit/00ac6e410eeb15719fe020fd497f0336e7fd1aa8))
- **optimizer:** show error when `computeEntries` failed ([#&#8203;20079](https://github.com/vitejs/vite/issues/20079)) ([b742b46](https://github.com/vitejs/vite/commit/b742b46f8308a71c1d2aa426eade0c50cbf1480f))
- treat all `optimizeDeps.entries` values as globs ([#&#8203;20045](https://github.com/vitejs/vite/issues/20045)) ([1422395](https://github.com/vitejs/vite/commit/142239588d6752c5b91d435aee9b4a6c00b7f924))
- **types:** expose additional PluginContext types ([#&#8203;20129](https://github.com/vitejs/vite/issues/20129)) ([b6df9aa](https://github.com/vitejs/vite/commit/b6df9aac3320cd953f6d45ad9245a7b564f67cc1))

##### Performance Improvements

- **utils:** improve performance of `numberToPos` ([#&#8203;20244](https://github.com/vitejs/vite/issues/20244)) ([3f46901](https://github.com/vitejs/vite/commit/3f469012ad38e3cb330adc74a8b3ec88561c822e))

##### Documentation

- tiny typo ([#&#8203;20110](https://github.com/vitejs/vite/issues/20110)) ([d20fc2c](https://github.com/vitejs/vite/commit/d20fc2cdc9700513425b18b625e01224f61e4eab))

##### Miscellaneous Chores

- "indentity" → "identity" in test description ([#&#8203;20225](https://github.com/vitejs/vite/issues/20225)) ([ea9aed7](https://github.com/vitejs/vite/commit/ea9aed7ebcb7f4be542bd2a384cbcb5a1e7b31bd))
- **deps:** update rolldown-related dependencies ([#&#8203;20270](https://github.com/vitejs/vite/issues/20270)) ([f7377c3](https://github.com/vitejs/vite/commit/f7377c3eae6323bd3237ff5de5ae55c879fe7325))
- typos in comments ([#&#8203;20259](https://github.com/vitejs/vite/issues/20259)) ([b135918](https://github.com/vitejs/vite/commit/b135918b91e8381c50bd2d076d40e9a65fe68bfe))
- **deps:** update rolldown-related dependencies ([#&#8203;20182](https://github.com/vitejs/vite/issues/20182)) ([6172f41](https://github.com/vitejs/vite/commit/6172f410b44cbae8d052997bb1819a6197a4d397))
- **deps:** update rolldown-related dependencies ([#&#8203;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 ([#&#8203;20168](https://github.com/vitejs/vite/issues/20168)) ([3a30c0a](https://github.com/vitejs/vite/commit/3a30c0a084a1b92a6265f8900df89e5102418e5e))
- **deps:** update rolldown-related dependencies ([#&#8203;20140](https://github.com/vitejs/vite/issues/20140)) ([0387447](https://github.com/vitejs/vite/commit/03874471e3de14e7d2f474ecb354499e7f5eb418))
- fix source map support when developing Vite ([#&#…
736-c41-2c1-e464fc974 added a commit to Swiss-Armed-Forces/Loom that referenced this pull request Feb 21, 2026
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) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/vitejs/vite/badge)](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` ([#&#8203;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 ([#&#8203;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 ([#&#8203;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 ([#&#8203;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 ([#&#8203;21103](https://github.com/vitejs/vite/issues/21103)) ([5909efd](https://github.com/vitejs/vite/commit/5909efd8fbfd1bf1eab65427aea0613124b2797a))
- **deps:** update all non-major dependencies ([#&#8203;21096](https://github.com/vitejs/vite/issues/21096)) ([6a34ac3](https://github.com/vitejs/vite/commit/6a34ac3422686e7cf7cc9a25d299cb8e5a8d92a0))
- **deps:** update all non-major dependencies ([#&#8203;21128](https://github.com/vitejs/vite/issues/21128)) ([4f8171e](https://github.com/vitejs/vite/commit/4f8171eb3046bd70c83964689897dab4c6b58bc0))

##### Performance Improvements

- **deps:** replace debug with obug ([#&#8203;21107](https://github.com/vitejs/vite/issues/21107)) ([acfe939](https://github.com/vitejs/vite/commit/acfe939e1f7c303c34b0b39b883cc302da767fa2))

##### Miscellaneous Chores

- **deps:** update dependency [@&#8203;rollup/plugin-commonjs](https://github.com/rollup/plugin-commonjs) to v29 ([#&#8203;21099](https://github.com/vitejs/vite/issues/21099)) ([02ceaec](https://github.com/vitejs/vite/commit/02ceaec45e17bef19159188a28d9196fed1761be))
- **deps:** update rolldown-related dependencies ([#&#8203;21095](https://github.com/vitejs/vite/issues/21095)) ([39a0a15](https://github.com/vitejs/vite/commit/39a0a15fd24ed37257c48b795097a3794e54d255))
- **deps:** update rolldown-related dependencies ([#&#8203;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 ([#&#8203;21019](https://github.com/vitejs/vite/issues/21019))" ([#&#8203;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 ([#&#8203;21193](https://github.com/vitejs/vite/issues/21193))
- the epic `rolldown-vite` merge ([#&#8203;21189](https://github.com/vitejs/vite/issues/21189))

##### Features

- update default browser target ([#&#8203;21193](https://github.com/vitejs/vite/issues/21193)) ([8c3dd06](https://github.com/vitejs/vite/commit/8c3dd06bd9903bf0e6bc51f3554eea8cb6b26903))
- the epic `rolldown-vite` merge ([#&#8203;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 ([#&#8203;21002](https://github.com/vitejs/vite/issues/21002)) ([b1fd616](https://github.com/vitejs/vite/commit/b1fd6161886caeb31ac646d6544116d37efe46d0))
- **module-runner:** make `getBuiltins` response JSON serializable ([#&#8203;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 ([#&#8203;21040](https://github.com/vitejs/vite/issues/21040)) ([2833c55](https://github.com/vitejs/vite/commit/2833c5576a87be2db450c195ccf64dfc8925a15b))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#&#8203;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 ([#&#8203;20968](https://github.com/vitejs/vite/issues/20968)) ([f479cc5](https://github.com/vitejs/vite/commit/f479cc57c425ed41ceb434fecebd63931b1ed4ed))

##### Miscellaneous Chores

- **deps:** update all non-major dependencies ([#&#8203;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 ([#&#8203;20921](https://github.com/vitejs/vite/issues/20921)) ([d0094af](https://github.com/vitejs/vite/commit/d0094af639d9ebbb51d4e00910b74f23eb8fe131))

##### Build System

- remove cjs reference in files field ([#&#8203;20945](https://github.com/vitejs/vite/issues/20945)) ([ef411ce](https://github.com/vitejs/vite/commit/ef411cee2696af3ba791879fdae9aad165f178b2))
- remove hash from built filenames ([#&#8203;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 ([#&#8203;20767](https://github.com/vitejs/vite/issues/20767)) ([3a92bc7](https://github.com/vitejs/vite/commit/3a92bc79b306a01b8aaf37f80b2239eaf6e488e7))
- **css:** respect emitAssets when cssCodeSplit=false ([#&#8203;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 ([#&#8203;20894](https://github.com/vitejs/vite/issues/20894)) ([3213f90](https://github.com/vitejs/vite/commit/3213f90ff0d8f274bcec65f40aac6dfcff1ac244))
- **dev:** allow aliases starting with `//` ([#&#8203;20760](https://github.com/vitejs/vite/issues/20760)) ([b95fa2a](https://github.com/vitejs/vite/commit/b95fa2aa7564eda4c9f05ee7616a2dbada35e463))
- **dev:** remove timestamp query consistently ([#&#8203;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+ ([#&#8203;20906](https://github.com/vitejs/vite/issues/20906)) ([446eb38](https://github.com/vitejs/vite/commit/446eb386329ef682d614c77958a542f2dc222880))
- normalize path before calling `fileToBuiltUrl` ([#&#8203;20898](https://github.com/vitejs/vite/issues/20898)) ([73b6d24](https://github.com/vitejs/vite/commit/73b6d243e0398ee5d8d44c7d24162f4a0f4b1cf1))
- preserve original sourcemap file field when combining sourcemaps ([#&#8203;20926](https://github.com/vitejs/vite/issues/20926)) ([c714776](https://github.com/vitejs/vite/commit/c714776aa1dcc24299a81c1495cbcbb1b1ef1dd3))

##### Documentation

- correct `WebSocket` spelling ([#&#8203;20890](https://github.com/vitejs/vite/issues/20890)) ([29e98dc](https://github.com/vitejs/vite/commit/29e98dc3efe35efbd978523367c05db7d2e7a278))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#&#8203;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 ([#&#8203;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 ([#&#8203;20847](https://github.com/vitejs/vite/issues/20847)) ([24a61a3](https://github.com/vitejs/vite/commit/24a61a3f5404279e91f7ceebf7449a5e874f9d56))
- **deps:** update all non-major dependencies ([#&#8203;20855](https://github.com/vitejs/vite/issues/20855)) ([788a183](https://github.com/vitejs/vite/commit/788a183afce57de13f5656f0cf42cdf6fdc3ebaa))
- **deps:** update artichokie to 0.4.2 ([#&#8203;20864](https://github.com/vitejs/vite/issues/20864)) ([e670799](https://github.com/vitejs/vite/commit/e670799e123dca78e1a63aeb06dbadade3d5ab51))
- **dev:** skip JS responses for document requests ([#&#8203;20866](https://github.com/vitejs/vite/issues/20866)) ([6bc6c4d](https://github.com/vitejs/vite/commit/6bc6c4dbc23501577d3919dc841454eb2eb14a54))
- **glob:** fix HMR for array patterns with exclusions ([#&#8203;20872](https://github.com/vitejs/vite/issues/20872)) ([63e040f](https://github.com/vitejs/vite/commit/63e040f1ca6b635a007eb40aa7c8b891e8cc5799))
- keep ids for virtual modules as-is ([#&#8203;20808](https://github.com/vitejs/vite/issues/20808)) ([d4eca98](https://github.com/vitejs/vite/commit/d4eca986d679c77bd449db20fd99d8255985b550))
- **server:** drain stdin when not interactive ([#&#8203;20837](https://github.com/vitejs/vite/issues/20837)) ([bb950e9](https://github.com/vitejs/vite/commit/bb950e92b372f9a52245e9542cf9d9700d23ef8c))
- **server:** improve malformed URL handling in middlewares ([#&#8203;20830](https://github.com/vitejs/vite/issues/20830)) ([d65a983](https://github.com/vitejs/vite/commit/d65a9831c984e562c5bf2b5f427de16f6e1bd931))

##### Documentation

- **create-vite:** provide deno example ([#&#8203;20747](https://github.com/vitejs/vite/issues/20747)) ([fdb758a](https://github.com/vitejs/vite/commit/fdb758a51796b1ab605437b2eee778a84e87e169))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#&#8203;20810](https://github.com/vitejs/vite/issues/20810)) ([ea68a88](https://github.com/vitejs/vite/commit/ea68a8868c7ee249213057f8a81c3f92a9839dde))
- **deps:** update rolldown-related dependencies ([#&#8203;20854](https://github.com/vitejs/vite/issues/20854)) ([4dd06fd](https://github.com/vitejs/vite/commit/4dd06fdc8d643059c2abf88188eae7c4877aab6e))
- update url of `create-react-app` license ([#&#8203;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` ([#&#8203;20787](https://github.com/vitejs/vite/issues/20787)) ([4c4583c](https://github.com/vitejs/vite/commit/4c4583ce7a13306e0853901570c5d95517fe81da))
- **client:** use CSP nonce when rendering error overlay ([#&#8203;20791](https://github.com/vitejs/vite/issues/20791)) ([9bc9d12](https://github.com/vitejs/vite/commit/9bc9d1258f550e9d8f5e530cd27aecb1bee32bdb))
- **deps:** update all non-major dependencies ([#&#8203;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 ([#&#8203;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 ([#&#8203;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 ([#&#8203;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 ([#&#8203;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 ([#&#8203;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 ([#&#8203;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` ([#&#8203;20755](https://github.com/vitejs/vite/issues/20755)) ([cc54e29](https://github.com/vitejs/vite/commit/cc54e294746d3eac868de96f85d98dd0fa0cda11))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#&#8203;20675](https://github.com/vitejs/vite/issues/20675)) ([a67bb5f](https://github.com/vitejs/vite/commit/a67bb5fbec5f3e42151dc7e3166858d0d33533de))
- **deps:** update rolldown-related dependencies ([#&#8203;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 ([#&#8203;20736](https://github.com/vitejs/vite/issues/20736)) ([14015d7](https://github.com/vitejs/vite/commit/14015d794f69accba68798bd0e15135bc51c9c1e))
- **deps:** update all non-major dependencies ([#&#8203;20732](https://github.com/vitejs/vite/issues/20732)) ([122bfba](https://github.com/vitejs/vite/commit/122bfbabeb1f095ce7cabd30893e5531e9a007c4))
- upgrade sirv to 3.0.2 ([#&#8203;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 ([#&#8203;20697](https://github.com/vitejs/vite/issues/20697)) ([79d10ed](https://github.com/vitejs/vite/commit/79d10ed6341ba7a751d007b7ad113a9b8be9c853))
- **deps:** update all non-major dependencies ([#&#8203;20676](https://github.com/vitejs/vite/issues/20676)) ([5a274b2](https://github.com/vitejs/vite/commit/5a274b29df83744cf0ce4dafd94029d2a9e01135))
- **deps:** update all non-major dependencies ([#&#8203;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 ([#&#8203;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 ([#&#8203;20710](https://github.com/vitejs/vite/issues/20710)) ([537fcf9](https://github.com/vitejs/vite/commit/537fcf91862a1bf51e70ce6fe9b414319dd3a675))

##### Code Refactoring

- remove unnecessary `minify` parameter from `finalizeCss` ([#&#8203;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 ([#&#8203;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 ([#&#8203;20642](https://github.com/vitejs/vite/issues/20642)) ([a9ba017](https://github.com/vitejs/vite/commit/a9ba0174a58b949373d6b4240bc69180dff0b780))
- support long lines in `generateCodeFrame` ([#&#8203;20640](https://github.com/vitejs/vite/issues/20640)) ([1559577](https://github.com/vitejs/vite/commit/15595773170c2a07f2efdccee05964fb87c19ae6))

##### Bug Fixes

- **deps:** update all non-major dependencies ([#&#8203;20634](https://github.com/vitejs/vite/issues/20634)) ([4851cab](https://github.com/vitejs/vite/commit/4851cab3ba818b5f0f82eef3796b61d4b12768f1))
- **optimizer:** incorrect incompatible error ([#&#8203;20439](https://github.com/vitejs/vite/issues/20439)) ([446fe83](https://github.com/vitejs/vite/commit/446fe83033686dd38d13b786a217b8277b5c5f09))
- support multiline new URL(..., import.meta.url) expressions ([#&#8203;20644](https://github.com/vitejs/vite/issues/20644)) ([9ccf142](https://github.com/vitejs/vite/commit/9ccf142764d48292aa33e5ca6f020a7d55b97f61))

##### Performance Improvements

- **cli:** dynamically import `resolveConfig` ([#&#8203;20646](https://github.com/vitejs/vite/issues/20646)) ([f691f57](https://github.com/vitejs/vite/commit/f691f57e46118328e00174160ceab2101b7256ca))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#&#8203;20633](https://github.com/vitejs/vite/issues/20633)) ([98b92e8](https://github.com/vitejs/vite/commit/98b92e8c4b10ae87c48292a8ac09b01ca81a02cf))

##### Code Refactoring

- replace startsWith with strict equality ([#&#8203;20603](https://github.com/vitejs/vite/issues/20603)) ([42816de](https://github.com/vitejs/vite/commit/42816dee0e177dded1c9de4d9099089ec4acef96))
- use `import` in worker threads ([#&#8203;20641](https://github.com/vitejs/vite/issues/20641)) ([530687a](https://github.com/vitejs/vite/commit/530687a344c51daf3115d1c134586bbde58356e0))

##### Tests

- remove `checkNodeVersion` test ([#&#8203;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 ([#&#8203;20595](https://github.com/vitejs/vite/issues/20595)) ([7cdef61](https://github.com/vitejs/vite/commit/7cdef612a65da5363905723f77516b6745ac9a94))
- **config:** make debugger work with bundle loader ([#&#8203;20573](https://github.com/vitejs/vite/issues/20573)) ([c583927](https://github.com/vitejs/vite/commit/c583927bee657f15f63fdf80468fbe6a74eacdec))
- **deps:** update all non-major dependencies ([#&#8203;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 ([#&#8203;20558](https://github.com/vitejs/vite/issues/20558)) ([ab33803](https://github.com/vitejs/vite/commit/ab33803f2c831a82ddee637ad62e0c4ceeb663f1))
- **hmr:** watch non-inlined assets referenced by CSS ([#&#8203;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 ([#&#8203;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` ([#&#8203;20577](https://github.com/vitejs/vite/issues/20577)) ([0a6048a](https://github.com/vitejs/vite/commit/0a6048aba4523f451edf29ae4037d252cc963815))
- **deps:** update rolldown-related dependencies ([#&#8203;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 ([#&#8203;20968](https://github.com/vitejs/vite/issues/20968)) ([f479cc5](https://github.com/vitejs/vite/commit/f479cc57c425ed41ceb434fecebd63931b1ed4ed))

##### Miscellaneous Chores

- **deps:** update all non-major dependencies ([#&#8203;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 ([#&#8203;20921](https://github.com/vitejs/vite/issues/20921)) ([d0094af](https://github.com/vitejs/vite/commit/d0094af639d9ebbb51d4e00910b74f23eb8fe131))

##### Build System

- remove cjs reference in files field ([#&#8203;20945](https://github.com/vitejs/vite/issues/20945)) ([ef411ce](https://github.com/vitejs/vite/commit/ef411cee2696af3ba791879fdae9aad165f178b2))
- remove hash from built filenames ([#&#8203;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` ([#&#8203;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) ([#&#8203;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 ([#&#8203;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 ([#&#8203;20517](https://github.com/vitejs/vite/issues/20517)) ([794a8f2](https://github.com/vitejs/vite/commit/794a8f230218a3b1e148defc5a2d7a67409177ff))
- add `future: 'warn'` ([#&#8203;20473](https://github.com/vitejs/vite/issues/20473)) ([e6aaf17](https://github.com/vitejs/vite/commit/e6aaf17ca21544572941957ce71bd8dbdc94e402))
- add `removeServerPluginContainer` future deprecation ([#&#8203;20437](https://github.com/vitejs/vite/issues/20437)) ([c1279e7](https://github.com/vitejs/vite/commit/c1279e75401ac6ea1d0678da88414a76ff36b6fe))
- add `removeServerReloadModule` future deprecation ([#&#8203;20436](https://github.com/vitejs/vite/issues/20436)) ([6970d17](https://github.com/vitejs/vite/commit/6970d1740cebd56af696abf60f30adb0c060f578))
- add `server.warmupRequest` to future deprecation ([#&#8203;20431](https://github.com/vitejs/vite/issues/20431)) ([8ad388a](https://github.com/vitejs/vite/commit/8ad388aeab0dc79e4bc14859b91174427805a46b))
- add `ssrFixStacktrace` / `ssrRewriteStacktrace` to `removeSsrLoadModule` future deprecation ([#&#8203;20435](https://github.com/vitejs/vite/issues/20435)) ([8c8f587](https://github.com/vitejs/vite/commit/8c8f5879ead251705c2c363f5b8b94f618fbf374))
- **client:** ping from SharedWorker ([#&#8203;19057](https://github.com/vitejs/vite/issues/19057)) ([5c97c22](https://github.com/vitejs/vite/commit/5c97c22548476e5f80856ece1d80b9234a7e6ecb))
- **dev:** add `this.fs` support ([#&#8203;20301](https://github.com/vitejs/vite/issues/20301)) ([0fe3f2f](https://github.com/vitejs/vite/commit/0fe3f2f7c325c5990f1059c28b66b24e1b8fd5d3))
- export `defaultExternalConditions` ([#&#8203;20279](https://github.com/vitejs/vite/issues/20279)) ([344d302](https://github.com/vitejs/vite/commit/344d30243b107852b133175e947a0410ea703f00))
- implement `removePluginHookSsrArgument` future deprecation ([#&#8203;20433](https://github.com/vitejs/vite/issues/20433)) ([95927d9](https://github.com/vitejs/vite/commit/95927d9c0ba1cb0b3bd8c900f039c099f8e29f90))
- implement `removeServerHot` future deprecation ([#&#8203;20434](https://github.com/vitejs/vite/issues/20434)) ([259f45d](https://github.com/vitejs/vite/commit/259f45d0698a184d6ecc352b610001fa1acdcee1))
- resolve server URLs before calling other listeners ([#&#8203;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 ([#&#8203;20409](https://github.com/vitejs/vite/issues/20409)) ([c669c52](https://github.com/vitejs/vite/commit/c669c524e6008a4902169f4b2f865e892297acf3))
- **ssr:** support `import.meta.resolve` in module runner ([#&#8203;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__` ([#&#8203;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 ([#&#8203;20518](https://github.com/vitejs/vite/issues/20518)) ([bac9f3e](https://github.com/vitejs/vite/commit/bac9f3ecf84ae5c5add6ef224ae057508247f89e))
- **dev:** denied request stalled when requested concurrently ([#&#8203;20503](https://github.com/vitejs/vite/issues/20503)) ([64a52e7](https://github.com/vitejs/vite/commit/64a52e70d9250b16aa81ce2df27c23fe56907257))
- **manifest:** initialize `entryCssAssetFileNames` as an empty Set ([#&#8203;20542](https://github.com/vitejs/vite/issues/20542)) ([6a46cda](https://github.com/vitejs/vite/commit/6a46cdac5dece70296d1179640958deeeb2e6c19))
- skip prepareOutDirPlugin in workers ([#&#8203;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)` ([#&#8203;20507](https://github.com/vitejs/vite/issues/20507)) ([1b211fd](https://github.com/vitejs/vite/commit/1b211fd1beccd0fc13bec700815abaa9f54147e8))
- **client:** keep ping on WS constructor error ([#&#8203;20512](https://github.com/vitejs/vite/issues/20512)) ([3676da5](https://github.com/vitejs/vite/commit/3676da5bc5b2b69b28619b8521fca94d30468fe5))
- **deps:** update all non-major dependencies ([#&#8203;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 ([#&#8203;20528](https://github.com/vitejs/vite/issues/20528)) ([c5a10ec](https://github.com/vitejs/vite/commit/c5a10ec004130bec17cf42760b76d1d404008fa3))
- **html:** allow control character in input stream ([#&#8203;20483](https://github.com/vitejs/vite/issues/20483)) ([c12a4a7](https://github.com/vitejs/vite/commit/c12a4a76a299237a0a13b885c72fdda6e4a3c9b7))
- merge old and new `noExternal: true` correctly ([#&#8203;20502](https://github.com/vitejs/vite/issues/20502)) ([9ebe4a5](https://github.com/vitejs/vite/commit/9ebe4a514a2e48e3fe194f16b0556a45ff38077a))
- **deps:** update all non-major dependencies ([#&#8203;20489](https://github.com/vitejs/vite/issues/20489)) ([f6aa04a](https://github.com/vitejs/vite/commit/f6aa04a52d486c8881f666c450caa3dab3c6bba1))
- **dev:** denied requests overly ([#&#8203;20410](https://github.com/vitejs/vite/issues/20410)) ([4be5270](https://github.com/vitejs/vite/commit/4be5270b27f7e6323f1771974b4b3520d86600e4))
- **hmr:** register css deps as `type: asset` ([#&#8203;20391](https://github.com/vitejs/vite/issues/20391)) ([7eac8dd](https://github.com/vitejs/vite/commit/7eac8ddb65033b8c001d6c6bc46aaeeefb79680a))
- **optimizer:** discover correct jsx runtime during scan ([#&#8203;20495](https://github.com/vitejs/vite/issues/20495)) ([10d48bb](https://github.com/vitejs/vite/commit/10d48bb2e30824d217e415a58cea9e69c2820c2a))
- **preview:** set correct host for `resolvedUrls` ([#&#8203;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 ([#&#8203;20460](https://github.com/vitejs/vite/issues/20460)) ([8033e5b](https://github.com/vitejs/vite/commit/8033e5bf8d3ff43995d0620490ed8739c59171dd))

##### Performance Improvements

- **client:** reduce reload debounce ([#&#8203;20429](https://github.com/vitejs/vite/issues/20429)) ([22ad43b](https://github.com/vitejs/vite/commit/22ad43b4bf2435efe78a65b84e8469b23521900a))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#&#8203;20536](https://github.com/vitejs/vite/issues/20536)) ([8be2787](https://github.com/vitejs/vite/commit/8be278748a92b128c49a24619d8d537dd2b08ceb))
- **deps:** update dependency parse5 to v8 ([#&#8203;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` ([#&#8203;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 ([#&#8203;20527](https://github.com/vitejs/vite/issues/20527)) ([958cdf2](https://github.com/vitejs/vite/commit/958cdf24f882be6953ca20912dd30c84213b069b))
- extract prepareOutDir as a plugin ([#&#8203;20373](https://github.com/vitejs/vite/issues/20373)) ([2c4af1f](https://github.com/vitejs/vite/commit/2c4af1f90b3ac98df6f4585a329528e6bd850462))
- extract resolve rollup options ([#&#8203;20375](https://github.com/vitejs/vite/issues/20375)) ([61a9778](https://github.com/vitejs/vite/commit/61a97780e6c54adb87345cb8c1f5f0d8e9ca5c05))
- rewrite openchrome.applescript to JXA ([#&#8203;20424](https://github.com/vitejs/vite/issues/20424)) ([7979f9d](https://github.com/vitejs/vite/commit/7979f9da555aa16bd221b32ea78ce8cb5292fac4))
- use `http-proxy-3` ([#&#8203;20402](https://github.com/vitejs/vite/issues/20402)) ([26d9872](https://github.com/vitejs/vite/commit/26d987232aad389733a7635b92122bb1d78dfcad))
- use hook filters in internal plugins ([#&#8203;20358](https://github.com/vitejs/vite/issues/20358)) ([f19c4d7](https://github.com/vitejs/vite/commit/f19c4d72de142814994e30120aa4ad57552cb874))
- use hook filters in internal resolve plugin ([#&#8203;20480](https://github.com/vitejs/vite/issues/20480)) ([acd2a13](https://github.com/vitejs/vite/commit/acd2a13c2d80e8c5c721bcf9738dfc03346cbfe1))

##### Tests

- detect ts support via `process.features` ([#&#8203;20544](https://github.com/vitejs/vite/issues/20544)) ([856d3f0](https://github.com/vitejs/vite/commit/856d3f06e6889979f630c8453fa385f01d8adaba))
- fix unimportant errors in test-unit ([#&#8203;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` ([#&#8203;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) ([#&#8203;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 ([#&#8203;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 ([#&#8203;20517](https://github.com/vitejs/vite/issues/20517)) ([794a8f2](https://github.com/vitejs/vite/commit/794a8f230218a3b1e148defc5a2d7a67409177ff))
- add `future: 'warn'` ([#&#8203;20473](https://github.com/vitejs/vite/issues/20473)) ([e6aaf17](https://github.com/vitejs/vite/commit/e6aaf17ca21544572941957ce71bd8dbdc94e402))
- add `removeServerPluginContainer` future deprecation ([#&#8203;20437](https://github.com/vitejs/vite/issues/20437)) ([c1279e7](https://github.com/vitejs/vite/commit/c1279e75401ac6ea1d0678da88414a76ff36b6fe))
- add `removeServerReloadModule` future deprecation ([#&#8203;20436](https://github.com/vitejs/vite/issues/20436)) ([6970d17](https://github.com/vitejs/vite/commit/6970d1740cebd56af696abf60f30adb0c060f578))
- add `server.warmupRequest` to future deprecation ([#&#8203;20431](https://github.com/vitejs/vite/issues/20431)) ([8ad388a](https://github.com/vitejs/vite/commit/8ad388aeab0dc79e4bc14859b91174427805a46b))
- add `ssrFixStacktrace` / `ssrRewriteStacktrace` to `removeSsrLoadModule` future deprecation ([#&#8203;20435](https://github.com/vitejs/vite/issues/20435)) ([8c8f587](https://github.com/vitejs/vite/commit/8c8f5879ead251705c2c363f5b8b94f618fbf374))
- **client:** ping from SharedWorker ([#&#8203;19057](https://github.com/vitejs/vite/issues/19057)) ([5c97c22](https://github.com/vitejs/vite/commit/5c97c22548476e5f80856ece1d80b9234a7e6ecb))
- **dev:** add `this.fs` support ([#&#8203;20301](https://github.com/vitejs/vite/issues/20301)) ([0fe3f2f](https://github.com/vitejs/vite/commit/0fe3f2f7c325c5990f1059c28b66b24e1b8fd5d3))
- export `defaultExternalConditions` ([#&#8203;20279](https://github.com/vitejs/vite/issues/20279)) ([344d302](https://github.com/vitejs/vite/commit/344d30243b107852b133175e947a0410ea703f00))
- implement `removePluginHookSsrArgument` future deprecation ([#&#8203;20433](https://github.com/vitejs/vite/issues/20433)) ([95927d9](https://github.com/vitejs/vite/commit/95927d9c0ba1cb0b3bd8c900f039c099f8e29f90))
- implement `removeServerHot` future deprecation ([#&#8203;20434](https://github.com/vitejs/vite/issues/20434)) ([259f45d](https://github.com/vitejs/vite/commit/259f45d0698a184d6ecc352b610001fa1acdcee1))
- resolve server URLs before calling other listeners ([#&#8203;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 ([#&#8203;20409](https://github.com/vitejs/vite/issues/20409)) ([c669c52](https://github.com/vitejs/vite/commit/c669c524e6008a4902169f4b2f865e892297acf3))
- **ssr:** support `import.meta.resolve` in module runner ([#&#8203;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__` ([#&#8203;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 ([#&#8203;20518](https://github.com/vitejs/vite/issues/20518)) ([bac9f3e](https://github.com/vitejs/vite/commit/bac9f3ecf84ae5c5add6ef224ae057508247f89e))
- **dev:** denied request stalled when requested concurrently ([#&#8203;20503](https://github.com/vitejs/vite/issues/20503)) ([64a52e7](https://github.com/vitejs/vite/commit/64a52e70d9250b16aa81ce2df27c23fe56907257))
- **manifest:** initialize `entryCssAssetFileNames` as an empty Set ([#&#8203;20542](https://github.com/vitejs/vite/issues/20542)) ([6a46cda](https://github.com/vitejs/vite/commit/6a46cdac5dece70296d1179640958deeeb2e6c19))
- skip prepareOutDirPlugin in workers ([#&#8203;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)` ([#&#8203;20507](https://github.com/vitejs/vite/issues/20507)) ([1b211fd](https://github.com/vitejs/vite/commit/1b211fd1beccd0fc13bec700815abaa9f54147e8))
- **client:** keep ping on WS constructor error ([#&#8203;20512](https://github.com/vitejs/vite/issues/20512)) ([3676da5](https://github.com/vitejs/vite/commit/3676da5bc5b2b69b28619b8521fca94d30468fe5))
- **deps:** update all non-major dependencies ([#&#8203;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 ([#&#8203;20528](https://github.com/vitejs/vite/issues/20528)) ([c5a10ec](https://github.com/vitejs/vite/commit/c5a10ec004130bec17cf42760b76d1d404008fa3))
- **html:** allow control character in input stream ([#&#8203;20483](https://github.com/vitejs/vite/issues/20483)) ([c12a4a7](https://github.com/vitejs/vite/commit/c12a4a76a299237a0a13b885c72fdda6e4a3c9b7))
- merge old and new `noExternal: true` correctly ([#&#8203;20502](https://github.com/vitejs/vite/issues/20502)) ([9ebe4a5](https://github.com/vitejs/vite/commit/9ebe4a514a2e48e3fe194f16b0556a45ff38077a))
- **deps:** update all non-major dependencies ([#&#8203;20489](https://github.com/vitejs/vite/issues/20489)) ([f6aa04a](https://github.com/vitejs/vite/commit/f6aa04a52d486c8881f666c450caa3dab3c6bba1))
- **dev:** denied requests overly ([#&#8203;20410](https://github.com/vitejs/vite/issues/20410)) ([4be5270](https://github.com/vitejs/vite/commit/4be5270b27f7e6323f1771974b4b3520d86600e4))
- **hmr:** register css deps as `type: asset` ([#&#8203;20391](https://github.com/vitejs/vite/issues/20391)) ([7eac8dd](https://github.com/vitejs/vite/commit/7eac8ddb65033b8c001d6c6bc46aaeeefb79680a))
- **optimizer:** discover correct jsx runtime during scan ([#&#8203;20495](https://github.com/vitejs/vite/issues/20495)) ([10d48bb](https://github.com/vitejs/vite/commit/10d48bb2e30824d217e415a58cea9e69c2820c2a))
- **preview:** set correct host for `resolvedUrls` ([#&#8203;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 ([#&#8203;20460](https://github.com/vitejs/vite/issues/20460)) ([8033e5b](https://github.com/vitejs/vite/commit/8033e5bf8d3ff43995d0620490ed8739c59171dd))

##### Performance Improvements

- **client:** reduce reload debounce ([#&#8203;20429](https://github.com/vitejs/vite/issues/20429)) ([22ad43b](https://github.com/vitejs/vite/commit/22ad43b4bf2435efe78a65b84e8469b23521900a))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#&#8203;20536](https://github.com/vitejs/vite/issues/20536)) ([8be2787](https://github.com/vitejs/vite/commit/8be278748a92b128c49a24619d8d537dd2b08ceb))
- **deps:** update dependency parse5 to v8 ([#&#8203;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` ([#&#8203;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 ([#&#8203;20527](https://github.com/vitejs/vite/issues/20527)) ([958cdf2](https://github.com/vitejs/vite/commit/958cdf24f882be6953ca20912dd30c84213b069b))
- extract prepareOutDir as a plugin ([#&#8203;20373](https://github.com/vitejs/vite/issues/20373)) ([2c4af1f](https://github.com/vitejs/vite/commit/2c4af1f90b3ac98df6f4585a329528e6bd850462))
- extract resolve rollup options ([#&#8203;20375](https://github.com/vitejs/vite/issues/20375)) ([61a9778](https://github.com/vitejs/vite/commit/61a97780e6c54adb87345cb8c1f5f0d8e9ca5c05))
- rewrite openchrome.applescript to JXA ([#&#8203;20424](https://github.com/vitejs/vite/issues/20424)) ([7979f9d](https://github.com/vitejs/vite/commit/7979f9da555aa16bd221b32ea78ce8cb5292fac4))
- use `http-proxy-3` ([#&#8203;20402](https://github.com/vitejs/vite/issues/20402)) ([26d9872](https://github.com/vitejs/vite/commit/26d987232aad389733a7635b92122bb1d78dfcad))
- use hook filters in internal plugins ([#&#8203;20358](https://github.com/vitejs/vite/issues/20358)) ([f19c4d7](https://github.com/vitejs/vite/commit/f19c4d72de142814994e30120aa4ad57552cb874))
- use hook filters in internal resolve plugin ([#&#8203;20480](https://github.com/vitejs/vite/issues/20480)) ([acd2a13](https://github.com/vitejs/vite/commit/acd2a13c2d80e8c5c721bcf9738dfc03346cbfe1))

##### Tests

- detect ts support via `process.features` ([#&#8203;20544](https://github.com/vitejs/vite/issues/20544)) ([856d3f0](https://github.com/vitejs/vite/commit/856d3f06e6889979f630c8453fa385f01d8adaba))
- fix unimportant errors in test-unit ([#&#8203;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 ([#&#8203;20406](https://github.com/vitejs/vite/issues/20406)) ([1a1cc8a](https://github.com/vitejs/vite/commit/1a1cc8a435a21996255b3e5cc75ed4680de2a7f3))
- remove special handling for `Accept: text/html` ([#&#8203;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)` ([#&#8203;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 ([#&#8203;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)` ([#&#8203;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 ([#&#8203;20379](https://github.com/vitejs/vite/issues/20379)) ([324669c](https://github.com/vitejs/vite/commit/324669c2d84966a822b1b2c134c9830a90bed271))

##### Build System

- remove `@oxc-project/runtime` devDep ([#&#8203;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 ([#&#8203;20359](https://github.com/vitejs/vite/issues/20359)) ([31d1467](https://github.com/vitejs/vite/commit/31d1467cf0da1e1dca623e6df0d345b30fae0c3d))
- **define:** replace optional values ([#&#8203;20338](https://github.com/vitejs/vite/issues/20338)) ([9465ae1](https://github.com/vitejs/vite/commit/9465ae1378b456e08659a22286bee6bce8edeedc))
- **deps:** update all non-major dependencies ([#&#8203;20366](https://github.com/vitejs/vite/issues/20366)) ([43ac73d](https://github.com/vitejs/vite/commit/43ac73da27b3907c701e95e6a7d28fde659729ec))

##### Miscellaneous Chores

- **deps:** update dependency dotenv to v17 ([#&#8203;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 ([#&#8203;20365](https://github.com/vitejs/vite/issues/20365)) ([5ab25e7](https://github.com/vitejs/vite/commit/5ab25e73a2ea2a2e2c0469350288a183dfb57030))
- use `n/prefer-node-protocol` rule ([#&#8203;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 ([#&#8203;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 [#&#8203;20300](https://github.com/vitejs/vite/issues/20300) ([#&#8203;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 ([#&#8203;20300](https://github.com/vitejs/vite/issues/20300)) ([ac528a4](https://github.com/vitejs/vite/commit/ac528a44c384fefb6f10c3f531df93b5ac39324c))
- **deps:** update all non-major dependencies ([#&#8203;20324](https://github.com/vitejs/vite/issues/20324)) ([3e81af3](https://github.com/vitejs/vite/commit/3e81af38a80c7617aba6bf3300d8b4267570f9cf))
- **types:** add a global interface for Worker ([#&#8203;20243](https://github.com/vitejs/vite/issues/20243)) ([37bdfc1](https://github.com/vitejs/vite/commit/37bdfc18f4c5bed053a38c5d717df33036acdd62))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#&#8203;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 ([#&#8203;20337](https://github.com/vitejs/vite/issues/20337)) ([c1c951d](https://github.com/vitejs/vite/commit/c1c951dcc32ec9f133b03ebbceddd749fc14f1e9))
- group commits by category in changelog ([#&#8203;20310](https://github.com/vitejs/vite/issues/20310)) ([41e83f6](https://github.com/vitejs/vite/commit/41e83f62b1adb65f5af4c1ec006de1c845437edc))
- rearrange 7.0 changelog ([#&#8203;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)

![Vite 7 is out!](../../docs/public/og-image-announcing-vite7.png)

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 ([#&#8203;19996](https://github.com/vitejs/vite/issues/19996))
- remove `experimental.skipSsrTransform` option ([#&#8203;20038](https://github.com/vitejs/vite/issues/20038))
- remove `HotBroadcaster` ([#&#8203;19988](https://github.com/vitejs/vite/issues/19988))
- **css:** always use sass compiler API ([#&#8203;19978](https://github.com/vitejs/vite/issues/19978))
- bump `build.target` and name it `baseline-widely-available` ([#&#8203;20007](https://github.com/vitejs/vite/issues/20007))
- bump required node version to 20.19+, 22.12+ and remove cjs build ([#&#8203;20032](https://github.com/vitejs/vite/issues/20032))
- **css:** remove sass legacy API support ([#&#8203;19977](https://github.com/vitejs/vite/issues/19977))
- remove deprecated `HotBroadcaster` related types ([#&#8203;19987](https://github.com/vitejs/vite/issues/19987))
- remove deprecated no-op type only properties ([#&#8203;19985](https://github.com/vitejs/vite/issues/19985))
- remove node 18 support ([#&#8203;19972](https://github.com/vitejs/vite/issues/19972))
- remove deprecated hook-level `enforce`/`transform` from `transformIndexHtml` hook ([#&#8203;19349](https://github.com/vitejs/vite/issues/19349))
- remove deprecated splitVendorChunkPlugin ([#&#8203;19255](https://github.com/vitejs/vite/issues/19255))

##### Features

- **types:** use terser types from terser package ([#&#8203;20274](https://github.com/vitejs/vite/issues/20274)) ([a5799fa](https://github.com/vitejs/vite/commit/a5799fa74c6190ecbb2da3d280136ff32463afc6))
- apply some middlewares before `configurePreviewServer` hook ([#&#8203;20224](https://github.com/vitejs/vite/issues/20224)) ([b989c42](https://github.com/vitejs/vite/commit/b989c42cf84378e6cb93970de739941f0d56d6f6))
- apply some middlewares before `configureServer` hook ([#&#8203;20222](https://github.com/vitejs/vite/issues/20222)) ([f5cc4c0](https://github.com/vitejs/vite/commit/f5cc4c0ded337670b439e51bc95f173e2b5cf9ad))
- add base option to import.meta.glob ([#&#8203;20163](https://github.com/vitejs/vite/issues/20163)) ([253d6c6](https://github.com/vitejs/vite/commit/253d6c6df2ebe3c4a88dabb6cec000128681561f))
- add `this.meta.viteVersion` ([#&#8203;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` ([#&#8203;19894](https://github.com/vitejs/vite/issues/19894)) ([c1ae9bd](https://github.com/vitejs/vite/commit/c1ae9bd4a0542b4703ae7766ad61d072e8b833bd))
- buildApp hook ([#&#8203;19971](https://github.com/vitejs/vite/issues/19971)) ([5da659d](https://github.com/vitejs/vite/commit/5da659de902f0a2d6d8beefbf269128383b63887))
- **build:** provide names for asset entrypoints ([#&#8203;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` ([#&#8203;20007](https://github.com/vitejs/vite/issues/20007)) ([4a8aa82](https://github.com/vitejs/vite/commit/4a8aa82556eb2b9e54673a6aac77873e0eb27fa9))
- **client:** support opening fileURL in editor ([#&#8203;20040](https://github.com/vitejs/vite/issues/20040)) ([1bde4d2](https://github.com/vitejs/vite/commit/1bde4d25243cd9beaadb01413e896fef562626ef))
- make PluginContext available for Vite-specific hooks ([#&#8203;19936](https://github.com/vitejs/vite/issues/19936)) ([7063839](https://github.com/vitejs/vite/commit/7063839d47dfd4ac6be1247ba68e414ffe287b00))
- resolve environments plugins at config time ([#&#8203;20120](https://github.com/vitejs/vite/issues/20120)) ([f6a28d5](https://github.com/vitejs/vite/commit/f6a28d5f792ba5cc4dc236e3e6edd05199cabcc8))
- stabilize `css.preprocessorMaxWorkers` and default to `true` ([#&#8203;19992](https://github.com/vitejs/vite/issues/19992)) ([70aee13](https://github.com/vitejs/vite/commit/70aee139ea802478bad56e5e441f187140bcf0cc))
- stabilize `optimizeDeps.noDiscovery` ([#&#8203;19984](https://github.com/vitejs/vite/issues/19984)) ([6d2dcb4](https://github.com/vitejs/vite/commit/6d2dcb494db9f40565f11b50bdbb8c1b7245697d))

##### Bug Fixes

- **deps:** update all non-major dependencies ([#&#8203;20271](https://github.com/vitejs/vite/issues/20271)) ([6b64d63](https://github.com/vitejs/vite/commit/6b64d63d700154de2c00270300b671cef8863708))
- keep `import.meta.url` in bundled Vite ([#&#8203;20235](https://github.com/vitejs/vite/issues/20235)) ([3bf3a8a](https://github.com/vitejs/vite/commit/3bf3a8ab00e5a0dfab0bb5741cb871ea30b72651))
- **module-runner:** export `ssrExportNameKey` ([#&#8203;20266](https://github.com/vitejs/vite/issues/20266)) ([ac302a7](https://github.com/vitejs/vite/commit/ac302a729062dbfc67f762b3c4af46b7893c214f))
- **module-runner:** expose `normalizeModuleId` ([#&#8203;20277](https://github.com/vitejs/vite/issues/20277)) ([9b98dcb](https://github.com/vitejs/vite/commit/9b98dcbf75546240e1609185828e18a77bac8c8d))
- **deps:** update all non-major dependencies ([#&#8203;20181](https://github.com/vitejs/vite/issues/20181)) ([d91d4f7](https://github.com/vitejs/vite/commit/d91d4f7ad55edbcb4a51fc23376cbff89f776d30))
- **deps:** update all non-major dependencies ([#&#8203;20212](https://github.com/vitejs/vite/issues/20212)) ([a80339b](https://github.com/vitejs/vite/commit/a80339b1798607dd7389f42964272181cf9eb453))
- align dynamic import detection ([#&#8203;20115](https://github.com/vitejs/vite/issues/20115)) ([1ea2222](https://github.com/vitejs/vite/commit/1ea2222302f128c4000289683480d8311ea34223))
- applyToEnvironment after configResolved ([#&#8203;20170](https://github.com/vitejs/vite/issues/20170)) ([a330b80](https://github.com/vitejs/vite/commit/a330b805b0733fadd1f7d586218c2aafcbb41a7f))
- **deps:** update all non-major dependencies ([#&#8203;20141](https://github.com/vitejs/vite/issues/20141)) ([89ca65b](https://github.com/vitejs/vite/commit/89ca65ba1d849046dccdea52e9eca980f331be26))
- handle dynamic import with `.then(m => m.a)` ([#&#8203;20117](https://github.com/vitejs/vite/issues/20117)) ([7b7410a](https://github.com/vitejs/vite/commit/7b7410abab7c95880d943e46bd1a16dcb1a893fc))
- **hmr:** use monotonicDateNow for timestamp ([#&#8203;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 ([#&#8203;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 ([#&#8203;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 [#&#8203;20150](https://github.com/vitejs/vite/issues/20150)) ([#&#8203;20166](https://github.com/vitejs/vite/issues/20166)) ([7db56be](https://github.com/vitejs/vite/commit/7db56be237dd1e1e875518475421d5c90cf950da))
- virtual svg module ([#&#8203;20144](https://github.com/vitejs/vite/issues/20144)) ([7dfcb31](https://github.com/vitejs/vite/commit/7dfcb316ee64aca0a98a1d2905deb1dfd113ae6d))
- **client:** render the last part of the stacktrace ([#&#8203;20039](https://github.com/vitejs/vite/issues/20039)) ([c7c1743](https://github.com/vitejs/vite/commit/c7c17434968848f1471179c10a5fc9d2804add8b))
- **cli:** make `cleanGlobalCLIOptions()` clean `--force` ([#&#8203;19999](https://github.com/vitejs/vite/issues/19999)) ([d4a171a](https://github.com/vitejs/vite/commit/d4a171afd387000789172a94c94a1c33c0856f85))
- **css:** remove alias exclude logic from rebaseUrl ([#&#8203;20100](https://github.com/vitejs/vite/issues/20100)) ([44c6d01](https://github.com/vitejs/vite/commit/44c6d0111f95c8aa44d6a09a768e8cf02232ed29))
- **css:** sass rebase url in relative imported modules ([#&#8203;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 ([#&#8203;20068](https://github.com/vitejs/vite/issues/20068)) ([a33d0c7](https://github.com/vitejs/vite/commit/a33d0c7d65d9fff9acd5de0cf3c4d371297b3990))
- **deps:** update all non-major dependencies ([#&#8203;19953](https://github.com/vitejs/vite/issues/19953)) ([ac8e1fb](https://github.com/vitejs/vite/commit/ac8e1fb289a06fc0671dab1f4ef68e508e34360e))
- **deps:** update all non-major dependencies ([#&#8203;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 ([#&#8203;20029](https://github.com/vitejs/vite/issues/20029)) ([d0221cd](https://github.com/vitejs/vite/commit/d0221cd7383c18d67a5ef594da52e6aa5fc4d87b))
- merge `environments.*.resolve.noExternal` properly ([#&#8203;20077](https://github.com/vitejs/vite/issues/20077)) ([daf4a25](https://github.com/vitejs/vite/commit/daf4a25a1c0a37c992606e6ae159e13190c2e101))
- merge `server.allowedHosts: true` correctly ([#&#8203;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 ([#&#8203;20048](https://github.com/vitejs/vite/issues/20048)) ([00ac6e4](https://github.com/vitejs/vite/commit/00ac6e410eeb15719fe020fd497f0336e7fd1aa8))
- **optimizer:** show error when `computeEntries` failed ([#&#8203;20079](https://github.com/vitejs/vite/issues/20079)) ([b742b46](https://github.com/vitejs/vite/commit/b742b46f8308a71c1d2aa426eade0c50cbf1480f))
- treat all `optimizeDeps.entries` values as globs ([#&#8203;20045](https://github.com/vitejs/vite/issues/20045)) ([1422395](https://github.com/vitejs/vite/commit/142239588d6752c5b91d435aee9b4a6c00b7f924))
- **types:** expose additional PluginContext types ([#&#8203;20129](https://github.com/vitejs/vite/issues/20129)) ([b6df9aa](https://github.com/vitejs/vite/commit/b6df9aac3320cd953f6d45ad9245a7b564f67cc1))

##### Performance Improvements

- **utils:** improve performance of `numberToPos` ([#&#8203;20244](https://github.com/vitejs/vite/issues/20244)) ([3f46901](https://github.com/vitejs/vite/commit/3f469012ad38e3cb330adc74a8b3ec88561c822e))

##### Documentation

- tiny typo ([#&#8203;20110](https://github.com/vitejs/vite/issues/20110)) ([d20fc2c](https://github.com/vitejs/vite/commit/d20fc2cdc9700513425b18b625e01224f61e4eab))

##### Miscellaneous Chores

- "indentity" → "identity" in test description ([#&#8203;20225](https://github.com/vitejs/vite/issues/20225)) ([ea9aed7](https://github.com/vitejs/vite/commit/ea9aed7ebcb7f4be542bd2a384cbcb5a1e7b31bd))
- **deps:** update rolldown-related dependencies ([#&#8203;20270](https://github.com/vitejs/vite/issues/20270)) ([f7377c3](https://github.com/vitejs/vite/commit/f7377c3eae6323bd3237ff5de5ae55c879fe7325))
- typos in comments ([#&#8203;20259](https://github.com/vitejs/vite/issues/20259)) ([b135918](https://github.com/vitejs/vite/commit/b135918b91e8381c50bd2d076d40e9a65fe68bfe))
- **deps:** update rolldown-related dependencies ([#&#8203;20182](https://github.com/vitejs/vite/issues/20182)) ([6172f41](https://github.com/vitejs/vite/commit/6172f410b44cbae8d052997bb1819a6197a4d397))
- **deps:** update rolldown-related dependencies ([#&#8203;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 ([#&#8203;20168](https://github.com/vitejs/vite/issues/20168)) ([3a30c0a](https://github.com/vitejs/vite/commit/3a30c0a084a1b92a6265f8900df89e5102418e5e))
- **deps:** update rolldown-related dependencies ([#&#8203;20140](https://github.com/vitejs/vite/issues/20140)) ([0387447](https://github.com/vitejs/vite/commit/03874471e3de14e7d2f474ecb354499e7f5eb418))
- fix…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants