- chore: run typecheck in unit tests (#18858) (49f20bb), closes #18858
- chore: update broken links in changelog (#18802) (cb754f8), closes #18802
- chore: update broken links in changelog (#18804) (47ec49f), closes #18804
- fix: don't store temporary vite config file in
node_modules
if deno (#18823) (a20267b), closes #18823 - fix(css): referencing aliased svg asset with lightningcss enabled errored (#18819) (ae68958), closes #18819
- fix(manifest): use
style.css
as a key for the style file forcssCodesplit: false
(#18820) (ec51115), closes #18820 - fix(optimizer): resolve all promises when cancelled (#18826) (d6e6194), closes #18826
- fix(resolve): don't set builtinModules to
external
by default (#18821) (2250ffa), closes #18821 - fix(ssr): set
ssr.target: 'webworker'
defaults as fallback (#18827) (b39e696), closes #18827 - feat(css): format lightningcss error (#18818) (dac7992), closes #18818
- refactor: make properties of ResolvedServerOptions and ResolvedPreviewOptions required (#18796) (51a5569), closes #18796
- fix: default empty server
proxy
prevents starting http2 server (#18788) (bbaf514), closes #18788 - fix(manifest): do not override existing js manifest entry (#18776) (3b0837e), closes #18776
- fix(server): close _ssrCompatModuleRunner on server close (#18784) (9b4c410), closes #18784
- fix(server): skip hot channel client normalization for wsServer (#18782) (cc7670a), closes #18782
- fix(worker): fix
applyToEnvironment
hooks on worker build (#18793) (0c6cdb0), closes #18793 - chore: flat v6 config file (#18777) (c7b3308), closes #18777
- chore: split changelog (#18787) (8542632), closes #18787
- chore: update changelog for v6 (#18773) (b254fac), closes #18773
- revert: update moduleResolution value casing (#18409) (#18774) (b0fc6e3), closes #18409 #18774
Today, we're taking another big step in Vite's story. The Vite team, contributors, and ecosystem partners are excited to announce the release of the next Vite major:
- Vite 6.0 announcement blog post
- Docs
- Translations: 简体中文, 日本語, Español, Português, 한국어, Deutsch
- Migration Guide
We want to thank the more than 1K contributors to Vite Core and the maintainers and contributors of Vite plugins, integrations, tools, and translations that have helped us craft this new major. We invite you to get involved and help us improve Vite for the whole ecosystem. Learn more at our Contributing Guide.
- feat!: drop node 21 support in version ranges (#18729) (a384d8f), closes #18729
- fix(deps)!: update dependency dotenv-expand to v12 (#18697) (0c658de), closes #18697
- feat(html)!: support more asset sources (#11138) (8a7af50), closes #11138
- feat(resolve)!: allow removing conditions (#18395) (d002e7d), closes #18395
- refactor!: remove fs.cachedChecks option (#18493) (94b0857), closes #18493
- feat!: proxy bypass with WebSocket (#18070) (3c9836d), closes #18070
- feat!: support
file://
resolution (#18422) (6a7e313), closes #18422 - feat!: update to chokidar v4 (#18453) (192d555), closes #18453
- feat(lib)!: use package name for css output file name (#18488) (61cbf6f), closes #18488
- fix(css)!: remove default import in ssr dev (#17922) (eccf663), closes #17922
- chore(deps)!: update postcss-load-config to v6 (#15235) (3a27f62), closes #15235
- feat(css)!: change default sass api to modern/modern-compiler (#17937) (d4e0442), closes #17937
- feat(css)!: load postcss config within workspace root only (#18440) (d23a493), closes #18440
- feat(json)!: add
json.stringify: 'auto'
and make that the default (#18303) (b80daa7), closes #18303 - fix!: default
build.cssMinify
to'esbuild'
for SSR (#15637) (f1d3bf7), closes #15637 - chore(deps)!: migrate
fast-glob
totinyglobby
(#18243) (6f74a3a), closes #18243 - refactor!: bump minimal terser version to 5.16.0 (#18209) (19ce525), closes #18209
- feat!: Environment API (#16471) (242f550), closes #16471
- feat: add support for .cur type (#18680) (5ec9eed), closes #18680
- feat: enable HMR by default on ModuleRunner side (#18749) (4d2abc7), closes #18749
- feat: support
module-sync
condition when loading config if enabled (#18650) (cf5028d), closes #18650 - feat: add
isSsrTargetWebWorker
flag toconfigEnvironment
hook (#18620) (3f5fab0), closes #18620 - feat: add
ssr.resolve.mainFields
option (#18646) (a6f5f5b), closes #18646 - feat: expose default mainFields/conditions (#18648) (c12c653), closes #18648
- feat: extended applyToEnvironment and perEnvironmentPlugin (#18544) (8fa70cd), closes #18544
- feat: show error when accessing variables not exposed in CJS build (#18649) (87c5502), closes #18649
- feat(optimizer): allow users to specify their esbuild
platform
option (#18611) (0924879), closes #18611 - refactor: introduce
mergeWithDefaults
and organize how default values for config options are set ( (0e1f437), closes #18550 - build: ignore cjs warning (#18660) (33b0d5a), closes #18660
- feat: use a single transport for fetchModule and HMR support (#18362) (78dc490), closes #18362
- feat(asset): add
?inline
and?no-inline
queries to control inlining (#15454) (9162172), closes #15454 - feat(asset): inline svg in dev if within limit (#18581) (f08b146), closes #18581
- feat: log complete config in debug mode (#18289) (04f6736), closes #18289
- feat(html): support
vite-ignore
attribute to opt-out of processing (#18494) (d951310), closes #18494 - feat: allow custom
console
increateLogger
(#18379) (0c497d9), closes #18379 - feat: read
sec-fetch-dest
header to detect JS in transform (#9981) (e51dc40), closes #9981 - feat(css): add more stricter typing of lightningcss (#18460) (b9b925e), closes #18460
- feat: add .git to deny list by default (#18382) (105ca12), closes #18382
- feat: add
environment::listen
(#18263) (4d5f51d), closes #18263 - feat: enable dependencies discovery and pre-bundling in ssr environments (#18358) (9b21f69), closes #18358
- feat: restrict characters useable for environment name (#18255) (9ab6180), closes #18255
- feat: support arbitrary module namespace identifier imports from cjs deps (#18236) (4389a91), closes #18236
- feat: introduce RunnableDevEnvironment (#18190) (fb292f2), closes #18190
- feat: support
this.environment
inoptions
andonLog
hook (#18142) (7722c06), closes #18142 - feat: expose
EnvironmentOptions
type (#18080) (35cf59c), closes #18080 - feat(css): support es2023 build target for lightningcss (#17998) (1a76300), closes #17998
- perf: reduce bundle size for
Object.keys(import.meta.glob(...))
/ `Object.values(import.meta.glob( (ed99a2c), closes #18666 - perf(worker): inline worker without base64 (#18752) (90c66c9), closes #18752
- perf: remove strip-ansi for a node built-in (#18630) (5182272), closes #18630
- perf(css): skip style.css extraction if code-split css (#18470) (34fdb6b), closes #18470
- perf: call
module.enableCompileCache()
(#18323) (18f1dad), closes #18323 - perf: use
crypto.hash
when available (#18317) (2a14884), closes #18317 - build: reduce package size (#18517) (b83f60b), closes #18517
- fix:
createRunnableDevEnvironment
returnsRunnableDevEnvironment
, notDevEnvironment
(#18673) (74221c3), closes #18673 - fix:
getModulesByFile
should return aserverModule
(#18715) (b80d5ec), closes #18715 - fix: catch error in full reload handler (#18713) (a10e741), closes #18713
- fix: display pre-transform error details (#18764) (554f45f), closes #18764
- fix: exit code on
SIGTERM
(#18741) (cc55e36), closes #18741 - fix: expose missing
InterceptorOptions
type (#18766) (6252c60), closes #18766 - fix: log error when send in module runner failed (#18753) (ba821bb), closes #18753
- fix(client): overlay not appearing when multiple vite clients were loaded (#18647) (27d70b5), closes #18647
- fix(deps): update all non-major dependencies (#18691) (f005461), closes #18691
- fix(html): fix inline proxy modules invalidation (#18696) (8ab04b7), closes #18696
- fix(module-runner): make evaluator optional (#18672) (fd1283f), closes #18672
- fix(optimizer): detect npm / yarn / pnpm dependency changes correctly (#17336) (#18560) (818cf3e), closes #17336 #18560
- fix(optimizer): trigger onCrawlEnd after manual included deps are registered (#18733) (dc60410), closes #18733
- fix(optimizer): workaround firefox's false warning for no sources source map (#18665) (473424e), closes #18665
- fix(ssr): replace
__vite_ssr_identity__
with(0, ...)
and inject;
between statements (#18748) (94546be), closes #18748 - refactor: first character judgment replacement regexp (#18658) (58f1df3), closes #18658
- refactor(resolve): remove
allowLinkedExternal
parameter fromtryNodeResolve
(#18670) (b74d363), closes #18670 - revert: use chokidar v3 (#18659) (49783da), closes #18659
- fix: cjs build for perEnvironmentState et al (#18656) (95c4b3c), closes #18656
- fix: include more modules to prefix-only module list (#18667) (5a2103f), closes #18667
- fix(html): externalize
rollup.external
scripts correctly (#18618) (55461b4), closes #18618 - fix(ssr): format
ssrTransform
parse error (#18644) (d9be921), closes #18644 - fix(ssr): preserve fetchModule error details (#18626) (866a433), closes #18626
- fix: browser field should not be included by default for
consumer: 'server'
(#18575) (87b2347), closes #18575 - fix: use
server.perEnvironmentStartEndDuringDev
(#18549) (fe30349), closes #18549 - fix(client): detect ws close correctly (#18548) (637d31b), closes #18548
- fix(resolve): run ensureVersionQuery for SSR (#18591) (63207e5), closes #18591
- refactor(resolve): remove
environmentsOptions
parameter (#18590) (3ef0bf1), closes #18590 - fix: allow nested dependency selector to be used for
optimizeDeps.include
for SSR (#18506) (826c81a), closes #18506 - fix: asset
new URL(,import.meta.url)
match (#18194) (5286a90), closes #18194 - fix: close watcher if it's disabled (#18521) (85bd0e9), closes #18521
- fix(config): write temporary vite config to node_modules (#18509) (72eaef5), closes #18509
- fix(css):
cssCodeSplit
uses the current environment configuration (#18486) (eefe895), closes #18486 - fix(json): don't
json.stringify
arrays (#18541) (fa50b03), closes #18541 - fix(less): prevent rebasing
@import url(...)
(#17857) (aec5fdd), closes #17857 - fix(lib): only resolve css bundle name if have styles (#18530) (5d6dc49), closes #18530
- fix(scss): improve error logs (#18522) (3194a6a), closes #18522
- refactor: client-only top-level warmup (#18524) (a50ff60), closes #18524
- fix:
define
in environment config was not working (#18515) (052799e), closes #18515 - fix: consider URLs with any protocol to be external (#17369) (a0336bd), closes #17369
- fix: use picomatch to align with tinyglobby (#18503) (437795d), closes #18503
- fix(build): apply resolve.external/noExternal to server environments (#18495) (5a967cb), closes #18495
- fix(config): remove error if require resolve to esm (#18437) (f886f75), closes #18437
- refactor: separate tsconfck caches per config in a weakmap (#17317) (b9b01d5), closes #17317
- fix: handle warmup glob hang (#18462) (409fa5c), closes #18462
- fix: return the same instance of ModuleNode for the same EnvironmentModuleNode (#18455) (5ead461), closes #18455
- fix: set scripts imported by HTML moduleSideEffects=true (#18411) (2ebe4b4), closes #18411
- fix: use websocket to test server liveness before client reload (#17891) (7f9f8c6), closes #17891
- fix(css):
cssCodeSplit
inenvironments.xxx.build
is invalid (#18464) (993e71c), closes #18464 - fix(css): make sass types work with sass-embedded (#18459) (89f8303), closes #18459
- fix(deps): update all non-major dependencies (#18484) (2ec12df), closes #18484
- fix(manifest): non entry CSS chunk src was wrong (#18133) (c148676), closes #18133
- fix(module-runner): delay function eval until module runner instantiation (#18480) (472afbd), closes #18480
- fix(plugins): noop if config hook returns same config reference (#18467) (bd540d5), closes #18467
- fix: add typing to
CSSOptions.preprocessorOptions
(#18001) (7eeb6f2), closes #18001 - fix(dev): prevent double URL encoding in server.open on macOS (#18443) (56b7176), closes #18443
- fix(preview): set resolvedUrls null after close (#18445) (65014a3), closes #18445
- fix(ssr): inject identity function at the top (#18449) (0ab20a3), closes #18449
- fix(ssr): preserve source maps for hoisted imports (fix #16355) (#16356) (8e382a6), closes #16355 #16356
- fix: augment hash for CSS files to prevent chromium erroring by loading previous files (#18367) (a569f42), closes #18367
- fix: more robust plugin.sharedDuringBuild (#18351) (47b1270), closes #18351
- fix(cli):
--watch
should not overridebuild.watch
options (#18390) (b2965c8), closes #18390 - fix(css): don't transform sass function calls with namespace (#18414) (dbb2604), closes #18414
- fix(deps): update
open
dependency to 10.1.0 (#18349) (5cca4bf), closes #18349 - fix(deps): update all non-major dependencies (#18345) (5552583), closes #18345
- fix(ssr):
this
in exported function should beundefined
(#18329) (bae6a37), closes #18329 - fix(worker): rewrite rollup
output.format
withworker.format
on worker build error (#18165) (dc82334), closes #18165 - fix:
injectQuery
double encoding (#18246) (2c5f948), closes #18246 - fix: add position to import analysis resolve exception (#18344) (0fe95d4), closes #18344
- fix: destroy the runner when runnable environment is closed (#18282) (5212d09), closes #18282
- fix: handle yarn command fail when root does not exist (#18141) (460aaff), closes #18141
- fix: make it easier to configure environment runner (#18273) (fb35a78), closes #18273
- fix(assets): make srcset parsing HTML spec compliant (#16323) (#18242) (0e6d4a5), closes #16323 #18242
- fix(css): dont remove JS chunk for pure CSS chunk when the export is used (#18307) (889bfc0), closes #18307
- fix(deps): bump tsconfck (#18322) (67783b2), closes #18322
- fix(deps): update all non-major dependencies (#18292) (5cac054), closes #18292
- fix(hmr): don't try to rewrite imports for direct CSS soft invalidation (#18252) (a03bb0e), closes #18252
- fix(middleware-mode): call all hot.listen when server restart (#18261) (007773b), closes #18261
- fix(optimizer): don't externalize transitive dep package name with asset extension (#18152) (fafc7e2), closes #18152
- fix(resolve): fix resolve cache key for external conditions (#18332) (93d286c), closes #18332
- fix(resolve): fix resolve cache to consider
conditions
and more (#18302) (2017a33), closes #18302 - fix(types): add more overload to
defineConfig
(#18299) (94e34cf), closes #18299 - fix: asset import should skip handling data URIs (#18163) (70813c7), closes #18163
- fix: cache the runnable environment module runner (#18215) (95020ab), closes #18215
- fix: call
this.hot.close
for non-ws HotChannel (#18212) (bad0ccc), closes #18212 - fix: close HotChannel on environment close (#18206) (2d148e3), closes #18206
- fix: require serialization for
HMRConnection.send
on implementation side (#18186) (9470011), closes #18186 - fix: use
config.consumer
instead ofoptions?.ssr
/config.build.ssr
(#18140) (21ec1ce), closes #18140 - fix(config): treat all files as ESM on deno (#18081) (c1ed8a5), closes #18081
- fix(css): ensure sass compiler initialized only once (#18128) (4cc5322), closes #18128
- fix(css): fix lightningcss dep url resolution with custom root (#18125) (eb08f60), closes #18125
- fix(css): fix missing source file warning with sass modern api custom importer (#18113) (d7763a5), closes #18113
- fix(data-uri): only match ids starting with
data:
(#18241) (ec0efe8), closes #18241 - fix(deps): update all non-major dependencies (#18170) (c8aea5a), closes #18170
- fix(deps): upgrade rollup 4.22.4+ to ensure avoiding XSS (#18180) (ea1d0b9), closes #18180
- fix(html): make build-html plugin work with
sharedPlugins
(#18214) (34041b9), closes #18214 - fix(mixedModuleGraph): handle undefined id in getModulesByFile (#18201) (768a50f), closes #18201
- fix(optimizer): re-optimize when changing config
webCompatible
(#18221) (a44b0a2), closes #18221 - fix(ssr): fix source map remapping with multiple sources (#18150) (e003a2c), closes #18150
- fix(vite): refactor "module cache" to "evaluated modules", pass down module to "runInlinedModule" (# (e83beff), closes #18092
- fix: avoid DOM Clobbering gadget in
getRelativeUrlFromDocument
(#18115) (ade1d89), closes #18115 - fix: fs raw query (#18112) (9d2413c), closes #18112
- fix(preload): throw error preloading module as well (#18098) (ba56cf4), closes #18098
- fix: allow scanning exports from
script module
in svelte (#18063) (7d699aa), closes #18063 - fix: ensure req.url matches moduleByEtag URL to avoid incorrect 304 (#17997) (abf04c3), closes #17997
- fix: incorrect environment consumer option resolution (#18079) (0e3467e), closes #18079
- fix: store backwards compatible
ssrModule
andssrError
(#18031) (cf8ced5), closes #18031 - fix(build): declare
preload-helper
has no side effects (#18057) (587ad7b), closes #18057 - fix(css): fallback to mainthread if logger or pkgImporter option is set for sass (#18071) (d81dc59), closes #18071
- fix(dynamicImportVars): correct glob pattern for paths with parentheses (#17940) (2a391a7), closes #17940
- fix(html): escape html attribute (#18067) (5983f36), closes #18067
- fix(preload): allow ignoring dep errors (#18046) (3fb2889), closes #18046
- chore: add 5.4.x changelogs (#18768) (26b58c8), closes #18768
- chore: add some comments about mimes (#18705) (f07e9b9), closes #18705
- chore(deps): update all non-major dependencies (#18746) (0ad16e9), closes #18746
- docs: rename
HotUpdateContext
toHotUpdateOptions
(#18718) (824c347), closes #18718 - test: simplify
playground/json/__tests__/ssr
(#18701) (f731ca2), closes #18701 - chore: tweak build config (#18622) (2a88f71), closes #18622
- chore(deps): update all non-major dependencies (#18634) (e2231a9), closes #18634
- chore(deps): update transitive deps (#18602) (0c8b152), closes #18602
- chore: add warning for
/
mapping inresolve.alias
(#18588) (a51c254), closes #18588 - chore: remove unused
ssr
variable (#18594) (23c39fc), closes #18594 - chore(deps): update all non-major dependencies (#18562) (fb227ec), closes #18562
- test: update filename regex (#18593) (dd25c1a), closes #18593
- chore: fix moduleSideEffects in build script on Windows (#18518) (25fe9e3), closes #18518
- chore: use premove instead of rimraf (#18499) (f97a578), closes #18499
- docs: add jsdocs to flags in BuilderOptions (#18516) (1507068), closes #18516
- docs: missing changes guides (#18491) (5da78a6), closes #18491
- docs: update fs.deny default in JSDoc (#18514) (1fcc83d), closes #18514
- refactor: optimizeDeps back to top level (#18465) (1ac22de), closes #18465
- refactor: top-level createEnvironment is client-only (#18475) (6022fc2), closes #18475
- refactor(css): hide internal preprocessor types and expose types used for options (#18458) (c32837c), closes #18458
- refactor: use
originalFileNames
/names
(#18240) (f2957c8), closes #18240 - test: fix test conflict (#18446) (94cd1e6), closes #18446
- chore(deps): update dependency picomatch to v4 (#15876) (3774881), closes #15876
- refactor: use builder in
build
(#18432) (cc61d16), closes #18432 - refactor(resolve): remove
tryEsmOnly
flag (#18394) (7cebe38), closes #18394 - chore: combine deps license with same text (#18356) (b5d1a05), closes #18356
- chore: fix grammar (#18385) (8030231), closes #18385
- chore: mark builder api experimental (#18436) (b57321c), closes #18436
- chore: tiny typo (#18374) (7d97a9b), closes #18374
- chore: update moduleResolution value casing (#18409) (ff018dc), closes #18409
- chore(create-vite): mark template files as CC0 (#18366) (f6b9074), closes #18366
- chore(deps): bump TypeScript to 5.6 (#18254) (57a0e85), closes #18254
- chore(deps): update all non-major dependencies (#18404) (802839d), closes #18404
- chore(deps): update dependency sirv to v3 (#18346) (5ea4b00), closes #18346
- test: remove unnecessary logs from output (#18368) (f50d358), closes #18368
- test: replace fs mocking in css module compose test (#18413) (ddee0ad), closes #18413
- test: ssr external / resolveId test (#18327) (4c5cf91), closes #18327
- test: test optimized dep as ssr entry (#18301) (466f94a), closes #18301
- chore: point deprecation error URLs to main branch docs (#18321) (11c0fb1), closes #18321
- chore: update all url references of vitejs.dev to vite.dev (#18276) (7052c8f), closes #18276
- chore: update built LICENSE (69b6764)
- chore: update license copyright (#18278) (56eb869), closes #18278
- chore(deps): update dependency @rollup/plugin-commonjs to v28 (#18231) (78e749e), closes #18231
- refactor: rename runner.destroy() to runner.close() (#18304) (cd368f9), closes #18304
- docs: update homepage (#18274) (a99a0aa), closes #18274
- test: fix server-worker-runner flaky test (#18247) (8f82730), closes #18247
- refactor: break circular dependencies to fix test-unit (#18237) (a577828), closes #18237
- refactor: remove
_onCrawlEnd
(#18207) (bea0272), closes #18207 - refactor: remove the need for "processSourceMap" (#18187) (08ff233), closes #18187
- refactor: replace
parse
withsplitFileAndPostfix
(#18185) (6f030ec), closes #18185 - refactor: use
resolvePackageData
to get rollup version (#18208) (220d6ec), closes #18208 - chore: escape template tag in CHANGELOG.md (#18126) (caaa683), closes #18126
- chore(deps): update all non-major dependencies (#18108) (a73bbaa), closes #18108
- chore(deps): update all non-major dependencies (#18230) (c0edd26), closes #18230
- chore(deps): update esbuild (#18173) (e59e2ca), closes #18173
- chore(optimizer): fix typo in comment (#18239) (b916ab6), closes #18239
- docs: fix typo in proxy.ts (#18162) (49087bd), closes #18162
- chore: enable some eslint rules (#18084) (e9a2746), closes #18084
- chore: remove npm-run-all2 (#18083) (41180d0), closes #18083
- chore: silence unnecessary logs during test (#18052) (a3ef052), closes #18052
- chore(deps): update all non-major dependencies (#18050) (7cac03f), closes #18050
- refactor: remove custom resolveOptions from pre-alias plugin (#18041) (6f60adc), closes #18041
- refactor: remove unnecessary escape (#18044) (8062d36), closes #18044
- refactor(create-vite): use picocolors (#18085) (ba37df0), closes #18085
- test: move glob test root to reduce snapshot change (#18053) (04d7e77), closes #18053
6.0.0-beta.10 (2024-11-14)
6.0.0-beta.9 (2024-11-07)
6.0.0-beta.8 (2024-11-01)
6.0.0-beta.7 (2024-10-30)
6.0.0-beta.6 (2024-10-28)
6.0.0-beta.5 (2024-10-24)
6.0.0-beta.4 (2024-10-23)
6.0.0-beta.3 (2024-10-15)
6.0.0-beta.2 (2024-10-01)
6.0.0-beta.1 (2024-09-16)
6.0.0-beta.0 (2024-09-12)
See 5.4.11 changelog
See 5.3.5 changelog
See 5.2.12 changelog
See 5.1.6 changelog
See 5.0.11 changelog
See 4.5.0 changelog
See 4.4.11 changelog
See 4.3.0 changelog
See 4.2.2 changelog
See 4.1.4 changelog
See 4.0.4 changelog
See 3.2.6 changelog
See 3.1.3 changelog
See 3.0.9 changelog
See 2.9.15 changelog
See 2.8.6 changelog
See 2.7.13 changelog
See 2.6.14 changelog
See 2.5.10 changelog
See 2.4.4 changelog
See 2.3.8 changelog
See 2.2.4 changelog
See 2.1.5 changelog
See 2.0.5 changelog