Vitest v0.34.0stable Released Aug 01, 2023
โš ๏ธ Breaking Change Impact Score: 7/10

Vitest v0.34.0 โ€” Release Notes & Engineering Impact

Source available โ€” automated, not human-reviewed

Component: vitest ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.

Analysis updated: 2026-11-01.

Breaking-change evidence from the source

  • &nbsp;&nbsp;&nbsp;๐Ÿšจ Breaking Changes - Transform mode affects only test files, not regular files &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/3491 [<samp>(9608b)</samp>](https://github.com/vitest-dev/vitest/commit/9608bf72)
Read the original context โ†—
Source flags breaking changes โ€” review applicability
๐Ÿ“„ .MD
โšก Executive Summary (TL;DR)

Vitest v0.34.0. Source highlight: &nbsp;&nbsp;&nbsp;๐Ÿšจ Breaking Changes

Who Does This Impact? (Role-Based Analysis)

๐Ÿ’ป Software Engineers & Devs

Check the source notes against the package and APIs you use before upgrading.

๐Ÿ“Š Product & Engineering Leads

Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.

โš™๏ธ DevOps & Security

Verify the target version, runtime requirements and rollback procedure in the official documentation.

โš ๏ธ Breaking Changes & Deprecations (1)

  • &nbsp;&nbsp;&nbsp;๐Ÿšจ Breaking Changes - Transform mode affects only test files, not regular files &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/3491 [<samp>(9608b)</samp>](https://github.com/vitest-dev/vitest/commit/9608bf72)

โœจ New Features & Capabilities (6)

  • Introduce `server` option &nbsp;-&nbsp; by @fenghan34 and @sheremet-va in https://github.com/vitest-dev/vitest/issues/3725 <samp>(dc4fa)</samp>
  • Add preact example, remove optimizer experimental status, enable by default &nbsp;-&nbsp; by @sheremet-va and @eryue0220 in https://github.com/vitest-dev/vitest/issues/3854 <samp>(4b946)</samp>
  • Support `describe.sequential` &nbsp;-&nbsp; by @fenghan34 and @dammy001 in https://github.com/vitest-dev/vitest/issues/3771 <samp>(86934)</samp>
  • Support config junit reporter className with env &nbsp;-&nbsp; by @InfiniteXyy in https://github.com/vitest-dev/vitest/issues/3808 <samp>(e8bc4)</samp>
  • Running vitest with `--related --watch` reruns non-affected tests if they were changed during a run &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/3844 <samp>(c9aea)</samp>
  • This option was introduced to support aliasing inside external packages. Please, use `deps.optimizer.web` instead. If you test Node.js applications, consider adding external packages to `server.deps.inline`.

โšก Performance & Enhancements (1)

  • Deprecate deps.registerNodeLoader &nbsp;-&nbsp; by @sheremet-va <samp>(7f45b)</samp>

๐Ÿ”ง Bug Fixes & Patches (6)

  • Isolate workers between envs and workspaces &nbsp;-&nbsp; by @AriPerkkio <samp>(ed4e0)</samp>
  • Modify condition &nbsp;-&nbsp; by @btea <samp>(a78e6)</samp>
  • Module Graph view is blocking the Console view &nbsp;-&nbsp; by @g4rry420 <samp>(3b5f9)</samp>
  • Port the latest `defineConfig` type from vite &nbsp;-&nbsp; by @sodatea in https://github.com/vitest-dev/vitest/issues/3804 <samp>(9c8e3)</samp>
  • Don't overwrite Node.js URL global &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/3828 <samp>(cdab4)</samp>
  • ForceRerunTriggers correctly triggers a rerun &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/3829 <samp>(17988)</samp>
๐Ÿ“„ View Raw Release Notes (Original Developer Log)
### &nbsp;&nbsp;&nbsp;๐Ÿšจ Breaking Changes - Transform mode affects only test files, not regular files &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/3491 [<samp>(9608b)</samp>](https://github.com/vitest-dev/vitest/commit/9608bf72) - `transformMode` is now moved to `server.transformMode`. This option is highly discouraged to use. If you need to change the transform mode, use the new option `testTransformMode` instead to control the mode based on the running test, not the current file path. By default, tests with `jsdom` or `happy-dom` use `web` transform mode, and tests using `node` or `edge` environment use `ssr` mode. If you have a custom environment, it should provide `transformMode` property. - Custom environment now should be processed before Vitest can consume it. It means that you cannot specify a path to a TS file or use import paths that should be processed by Vite. - Disable `coverage.reportOnFailure` by default &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/3615 [<samp>(0c6f6)</samp>](https://github.com/vitest-dev/vitest/commit/0c6f624f) - Remove `@vitest/coverage-c8` package &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/3614 [<samp>(a90d6)</samp>](https://github.com/vitest-dev/vitest/commit/a90d64fe) - `@vitest/coverage-c8` is no longer supported. Please, use `@vitest/coverage-v8` instead. - Support running tests using VM context &nbsp;-&nbsp; by @sheremet-va and @dammy001 in https://github.com/vitest-dev/vitest/issues/3203 [<samp>(b0929)</samp>](https://github.com/vitest-dev/vitest/commit/b0929852) - To address speed issues in some applications, Vitest now provides `experimentalVmThreads` pool to run your tests using VM Sandboxes environment. Make sure you understand [all pitfalls](https://vitest.dev/config/#experimentalvmthreads) of this pool before opening an issue. - Introduce `server` option &nbsp;-&nbsp; by @fenghan34 and @sheremet-va in https://github.com/vitest-dev/vitest/issues/3725 [<samp>(dc4fa)</samp>](https://github.com/vitest-dev/vitest/commit/dc4faf64) - Most of `deps.` options are now moved to `server.deps` with a deprecation warning. Please, consider using `deps.optimizer` instead of `deps.inline`/`deps.external`. Ideally, we would like to move away from using `server.deps.inline` altogether. - **vite-node**: Make CLI arguments parsing behavior consistent with node/tsx/ts-node &nbsp;-&nbsp; by @rxliuli in https://github.com/vitest-dev/vitest/issues/3574 [<samp>(1cd4e)</samp>](https://github.com/vitest-dev/vitest/commit/1cd4eb0f) - You now have to provide CLI arguments before the entry point. For example, instead of `vite-node index.ts --watch`, you now have to do `vite-node --watch index.ts`. - Add preact example, remove optimizer experimental status, enable by default &nbsp;-&nbsp; by @sheremet-va and @eryue0220 in https://github.com/vitest-dev/vitest/issues/3854 [<samp>(4b946)</samp>](https://github.com/vitest-dev/vitest/commit/4b946ca9) - `deps.optimizer` is now enabled by default. This means that Vitest will bundle specified dependencies before running your tests. This field inherits options from `optimizeDeps` and `ssr.optimizeDeps` which are populated by other plugins (like, Svelte). ### &nbsp;&nbsp;&nbsp;๐Ÿš€ Features - Support `describe.sequential` &nbsp;-&nbsp; by @fenghan34 and @dammy001 in https://github.com/vitest-dev/vitest/issues/3771 [<samp>(86934)</samp>](https://github.com/vitest-dev/vitest/commit/8693449b) - Support config junit reporter className with env &nbsp;-&nbsp; by @InfiniteXyy in https://github.com/vitest-dev/vitest/issues/3808 [<samp>(e8bc4)</samp>](https://github.com/vitest-dev/vitest/commit/e8bc46b6) - Running vitest with `--related --watch` reruns non-affected tests if they were changed during a run &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/3844 [<samp>(c9aea)</samp>](https://github.com/vitest-dev/vitest/commit/c9aeac4c) ### &nbsp;&nbsp;&nbsp;๐Ÿž Bug Fixes - Isolate workers between envs and workspaces &nbsp;-&nbsp; by @AriPerkkio [<samp>(ed4e0)</samp>](https://github.com/vitest-dev/vitest/commit/ed4e0424) - Modify condition &nbsp;-&nbsp; by @btea [<samp>(a78e6)</samp>](https://github.com/vitest-dev/vitest/commit/a78e6bd0) - Module Graph view is blocking the Console view &nbsp;-&nbsp; by @g4rry420 [<samp>(3b5f9)</samp>](https://github.com/vitest-dev/vitest/commit/3b5f96bc) - Port the latest `defineConfig` type from vite &nbsp;-&nbsp; by @sodatea in https://github.com/vitest-dev/vitest/issues/3804 [<samp>(9c8e3)</samp>](https://github.com/vitest-dev/vitest/commit/9c8e3083) - Don't overwrite Node.js URL global &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/3828 [<samp>(cdab4)</samp>](https://github.com/vitest-dev/vitest/commit/cdab4651) - ForceRerunTriggers correctly triggers a rerun &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/3829 [<samp>(17988)</samp>](https://github.com/vitest-dev/vitest/commit/17988e51) - **browser**: - Don't inline magic-string and estree-walker &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/3726 [<samp>(ee937)</samp>](https://github.com/vitest-dev/vitest/commit/ee93762a) - Multi-suite coverage &nbsp;-&nbsp; by @elby22 in https://github.com/vitest-dev/vitest/issues/3806 [<samp>(5de9a)</samp>](https://github.com/vitest-dev/vitest/commit/5de9af26) - **core**: - DataView comparison does not work in `toStrictEqual` &nbsp;-&nbsp; by @Dunqing [<samp>(52aef)</samp>](https://github.com/vitest-dev/vitest/commit/52aef92e) - **coverage**: - V8 provider to pick source maps without url query params &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/3784 [<samp>(280e6)</samp>](https://github.com/vitest-dev/vitest/commit/280e6745) - Update `istanbul-lib-instrument` to v6 to fix vulnerable dependency &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/3814 [<samp>(f3bd9)</samp>](https://github.com/vitest-dev/vitest/commit/f3bd9102) - Exclude vite virtual modules by default &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/3794 [<samp>(3c851)</samp>](https://github.com/vitest-dev/vitest/commit/3c851872) - **node**: - Guard error info &nbsp;-&nbsp; by @btea [<samp>(88b39)</samp>](https://github.com/vitest-dev/vitest/commit/88b39758) - **vite-node**: - Always treat node_modules as modulesDirectory &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/3830 [<samp>(51ab8)</samp>](https://github.com/vitest-dev/vitest/commit/51ab8d6c) - Normalize drive letter to keep the same reference to a module &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/3836 [<samp>(45521)</samp>](https://github.com/vitest-dev/vitest/commit/45521859) - Correctly resolve hmr filepath &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/3834 [<samp>(711a6)</samp>](https://github.com/vitest-dev/vitest/commit/711a6249) - **watch**: - Clear screen on all terminals &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/3661 [<samp>(8bd26)</samp>](https://github.com/vitest-dev/vitest/commit/8bd26b01) ### &nbsp;&nbsp;&nbsp;๐ŸŽ Performance - Deprecate deps.registerNodeLoader &nbsp;-&nbsp; by @sheremet-va [<samp>(7f45b)</samp>](https://github.com/vitest-dev/vitest/commit/7f45bf2d) - This option was introduced to support aliasing inside external packages. Please, use `deps.optimizer.web` instead. If you test Node.js applications, consider adding external packages to `server.deps.inline`. ##### &nbsp;&nbsp;&nbsp;&nbsp;[View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v0.33.0...v0.34.0)