Vitest v0.29.0 โ Release Notes & Engineering Impact
Component: vitest ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.
Analysis updated: 2026-11-01.
Breaking-change evidence from the source
One of the potential breaking bug fixes is that environments do not share the same global scope anymore if you run them with `--no-isolate`, `--no-threads` or `--single-thread` - you might need to update your setup files if you were relying on a global variable before.
One of the breaking changes includes adding a link to snapshots inside snapshot files, meaning you will need to update all your snapshots.
๐จ Breaking Changes - Vitest as peer dependency for coverage packages - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/2836 [<samp>(94247)</samp>](https://github.com/vitest-dev/vitest/commit/94247f1b)
Vitest v0.29.0. Source highlight: This release makes some significant changes to how tests are running. If you were using `--no-threads` before, you might consider enabling `--single-thread` instead (because your tests are now running in `child_process` instead of a worker thread) or try our new performance optimization feature (dis
๐ป 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 (3)
- One of the potential breaking bug fixes is that environments do not share the same global scope anymore if you run them with `--no-isolate`, `--no-threads` or `--single-thread` - you might need to update your setup files if you were relying on a global variable before.
- One of the breaking changes includes adding a link to snapshots inside snapshot files, meaning you will need to update all your snapshots.
- ๐จ Breaking Changes - Vitest as peer dependency for coverage packages - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/2836 [<samp>(94247)</samp>](https://github.com/vitest-dev/vitest/commit/94247f1b)
โจ New Features & Capabilities (6)
- Add a link to the comment at the top of the snapshot file - by @btea in https://github.com/vitest-dev/vitest/issues/2867 <samp>(615e1)</samp>
- Add test seed to banner - by @btkostner in https://github.com/vitest-dev/vitest/issues/2877 <samp>(bdb39)</samp>
- Use custom source-map-support implementation - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/2905 <samp>(6ff6c)</samp>
- Add an option to enable Vite optimizer - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/2912 <samp>(af8de)</samp>
- Add support for coverage reporter options - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/2690 <samp>(f8176)</samp>
- Automatic threshold updating - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/2886 <samp>(e1652)</samp>
๐ง Bug Fixes & Patches (5)
- Tests with `node` and `jsdom` (and other environments) now don't share the same global scope, if you run them with `--no-isolate` or `--no-threads` flag. Vitest doesn't provide a way to restore the previous behavior as it is considered a bug.
- Wait for console.log to print a message before terminating a worker - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/2861 <samp>(fbc54)</samp>
- Cleanup last mocked cache when call vi.doMock - by @mysteryven in https://github.com/vitest-dev/vitest/issues/2872 <samp>(65d71)</samp>
- Reload changed configuration file on watch mode - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/2889 <samp>(4d277)</samp>
- **coverage**: Custom providers to work inside worker threads - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/2817 <samp>(81604)</samp>