Skip to content

vite 8.0.0

8.0.0 (2026-03-12)

Vite 8 is here!

Today, we're thrilled to announce the release of the next Vite major:

⚠ BREAKING CHANGES

  • remove import.meta.hot.accept resolution fallback (#21382)
  • update default browser target (#21193)
  • the epic rolldown-vite merge (#21189)

Features

Bug Fixes

  • deps: update all non-major dependencies (#21786) (eaa4352)
  • use watch.watcher instead of watch.notify (#21793) (88953b3)
  • css: apply server.origin to public file URLs in CSS (fix #18457) (#21697) (c967f48)
  • deps: update all non-major dependencies (#21732) (5c921ca)
  • dev: disable extglobs for consistency (#21745) (1958eeb)
  • lib: keep annotation comments for es output (#21740) (dd3c4f4)
  • optimizer: avoid error happening with a package with asset entrypoint (#21766) (f7e1d07)
  • ssr: throw friendly error when calling ssrLoadModule with non-runnable ssr env (#21739) (1fa736e)
  • types: remove extends ImportMeta from ModuleRunnerImportMeta (#21710) (0176d45)
  • wasm: reset assetUrlRE.lastIndex before .test() in SSR builds (#21780) (3a0d8d9)
  • deps: update all non-major dependencies (#21691) (521fdc0)
  • optimizer: avoid duplicate modules when preserveSymlinks is enabled (#21720) (72165e0)
  • dev: only treat EADDRINUSE as port conflict in wildcard pre-check (#21642) (e54e25f)
  • dev: prevent concurrent server restarts (#21636) (8ce23a3)
  • dev: return "502 Bad Gateway" on proxy failures instead of 500 (#21652) (e240df2)
  • clear tsconfig cache only when tsconfig.json is cached (#21622) (50c9675)
  • deps: update all non-major dependencies (#21594) (becdc5d)
  • lib: CSS injection point error with nested name IIFE output (#21606) (5003de6)
  • module-runner: incorrect column with sourcemapInterceptor: "prepareStackTrace" (#21562) (416c095)
  • module-runner: prevent crash on negative column in stacktrace (#21585) (a075590)
  • rolldownOptions/rollupOptions merging at environment level (#21612) (db2ecc7)
  • scanner: respect tsconfig.json (#21547) (c6c04db)
  • avoid registering customization hook for import meta resolver multiple times (#21518) (8bb3203)
  • config: avoid watching rolldown runtime virtual module (#21545) (d18b139)
  • deps: update all non-major dependencies (#21540) (9ebaeaa)
  • populate originalFileNames when resolving CSS asset paths (#21542) (8b47ff7)
  • deps: update all non-major dependencies (#21488) (2b32ca2)
  • disable tsconfig option when loading config (#21517) (5025c35)
  • optimizer: map relative new URL paths to correct relative file location (#21434) (ca96cbc)
  • avoid using deprecated output.inlineDynamicImport option (#21464) (471ce62)
  • use separate hook object for each environment (#21472) (66347f6)
  • deps: update all non-major dependencies (#21440) (1835995)
  • dev: avoid event emitter leak caused by server.listen callback (#21451) (602d786)
  • lazy hook filter should work (#21443) (bc0c207)
  • optimizer: skip rolldownCjsExternalPlugin for platform: neutral (#21452) (d2fc4be)
  • deps: update all non-major dependencies (#21389) (30f48df)
  • deps: update esbuild peerDependency version (#21398) (4266c97)
  • hmr: trigger prune event when last import is removed (#20781) (#21093) (7576735)
  • module-runner: use process.getBuiltinModule instead of import('node:module') (#21402) (6633bcb)
  • support .env file mounts (FIFOs) (#21365) (6e6f82a)
  • css: stylus Evaluator support (#21376) (cf9ace1)
  • deps: update all non-major dependencies (#21321) (9bc7c2e)
  • import-analysis: avoid cjs interop for built browser external module (#21333) (dc5a2fb)
  • worker: handle new Worker(..., new URL(import.meta.url)) with trailing comma (#21325) (4a47241)
  • detect import.meta.resolve when formatted across multiple lines (#21312) (130e718)
  • allow no-cors requests for non-script tag requests (#21299) (ef3d596)
  • deps: update all non-major dependencies (#21285) (4635b2e)
  • unreachable error when building with experimental.bundledDev is enabled (#21296) (e81c183)
  • deps: update all non-major dependencies (#21231) (859789c)
  • don't strip base from imports (#21221) (7da742b)
  • allow exiting process before optimizer cleanup is done (#21170) (55ceffc)
  • plugin shortcut support (#21211) (6a3aca0)

Performance Improvements

  • ssr: skip circular import check for already-evaluated modules (#21632) (235140b)
  • use tsconfig cache for oxc transform in dev (#21643) (57ff177)

Documentation

Miscellaneous Chores

Code Refactoring

Tests

  • ssr: incorrect handleInvoke was called in server-worker-runner.invoke test (#21751) (b95ca22)
  • add more type tests for defineConfig (#21698) (4fedbbd)
  • test case for catching invalid package resolution error (#21601) (c9b9359)
  • bundled-dev: add worker test cases (#21557) (569bc98)

Beta Changelogs