Vitest v4.1.1stable Released Mar 23, 2026
Impact Score: 5/10

Vitest v4.1.1 โ€” 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.

Compatibility not verified โ€” check source notes
๐Ÿ“„ .MD
โšก Executive Summary (TL;DR)

Vitest v4.1.1. Source highlight:    ๐Ÿš€ Features

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.

โœจ New Features & Capabilities (2)

  • Expose `matchesTags` to test if the current filter matches tags &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9913 <samp>(eec53)</samp>
  • Introduce `experimental.vcsProvider` &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9928 <samp>(56115)</samp>

๐Ÿ”ง Bug Fixes & Patches (6)

  • Mark `TestProject.testFilesList` internal properly &nbsp;-&nbsp; by @sapphi-red in https://github.com/vitest-dev/vitest/issues/9867 <samp>(54f26)</samp>
  • Detect fixture that returns without calling `use` &nbsp;-&nbsp; by @oilater in https://github.com/vitest-dev/vitest/issues/9831 and https://github.com/vitest-dev/vitest/issues/9861 <samp>(633ae)</samp>
  • Drop vite 8.beta support &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/9862 <samp>(b78f5)</samp>
  • Type regression in vi.mocked() static class methods &nbsp;-&nbsp; by @purepear and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/9857 <samp>(90926)</samp>
  • Properly re-evaluate actual modules of mocked external &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/9898 <samp>(ae5ec)</samp>
  • Preserve coverage report when html reporter overlaps &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/9889 <samp>(2d81a)</samp>
๐Ÿ“„ View Raw Release Notes (Original Developer Log)
### &nbsp;&nbsp;&nbsp;๐Ÿš€ Features - **experimental**: - Expose `matchesTags` to test if the current filter matches tags &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9913 [<samp>(eec53)</samp>](https://github.com/vitest-dev/vitest/commit/eec53d9f5) - Introduce `experimental.vcsProvider` &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9928 [<samp>(56115)</samp>](https://github.com/vitest-dev/vitest/commit/561150036) ### &nbsp;&nbsp;&nbsp;๐Ÿž Bug Fixes - Mark `TestProject.testFilesList` internal properly &nbsp;-&nbsp; by @sapphi-red in https://github.com/vitest-dev/vitest/issues/9867 [<samp>(54f26)</samp>](https://github.com/vitest-dev/vitest/commit/54f2660f5) - Detect fixture that returns without calling `use` &nbsp;-&nbsp; by @oilater in https://github.com/vitest-dev/vitest/issues/9831 and https://github.com/vitest-dev/vitest/issues/9861 [<samp>(633ae)</samp>](https://github.com/vitest-dev/vitest/commit/633ae2303) - Drop vite 8.beta support &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/9862 [<samp>(b78f5)</samp>](https://github.com/vitest-dev/vitest/commit/b78f5389d) - Type regression in vi.mocked() static class methods &nbsp;-&nbsp; by @purepear and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/9857 [<samp>(90926)</samp>](https://github.com/vitest-dev/vitest/commit/90926641b) - Properly re-evaluate actual modules of mocked external &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/9898 [<samp>(ae5ec)</samp>](https://github.com/vitest-dev/vitest/commit/ae5ec03ef) - Preserve coverage report when html reporter overlaps &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/9889 [<samp>(2d81a)</samp>](https://github.com/vitest-dev/vitest/commit/2d81ad897) - Provide `vi.advanceTimers` to the preview provider &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9891 [<samp>(1bc3e)</samp>](https://github.com/vitest-dev/vitest/commit/1bc3e63be) - Don't leak event listener in playwright provider &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9910 [<samp>(d9355)</samp>](https://github.com/vitest-dev/vitest/commit/d93550ff7) - Open browser in `--standalone` mode without running tests &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9911 [<samp>(e78ad)</samp>](https://github.com/vitest-dev/vitest/commit/e78adcf97) - Guard disposable and optional `body` &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9912 [<samp>(6fdb2)</samp>](https://github.com/vitest-dev/vitest/commit/6fdb2ba61) - Resolve `retry.condition` RegExp serialization issue &nbsp;-&nbsp; by @nstepien and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/9942 [<samp>(7b605)</samp>](https://github.com/vitest-dev/vitest/commit/7b6054328) - **collect**: - Don't treat extra props on `test` return as tests &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9871 [<samp>(141e7)</samp>](https://github.com/vitest-dev/vitest/commit/141e72aa1) - **coverage**: - Simplify provider types &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/9931 [<samp>(aaf9f)</samp>](https://github.com/vitest-dev/vitest/commit/aaf9f18ae) - Load built-in provider without module runner &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/9939 [<samp>(bf892)</samp>](https://github.com/vitest-dev/vitest/commit/bf8920817) - **expect**: - Soft assertions continue after .resolves/.rejects promise errors &nbsp;-&nbsp; by @mixelburg, **Maks Pikov**, **Claude Opus 4.6 (1M context)** and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/9843 [<samp>(6d74b)</samp>](https://github.com/vitest-dev/vitest/commit/6d74b4948) - Fix sinon-chai style API &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/9943 [<samp>(0f08d)</samp>](https://github.com/vitest-dev/vitest/commit/0f08dda2c) - **pretty-format**: - Limit output for large object &nbsp;-&nbsp; by @hi-ogawa and **Claude Opus 4.6 (1M context)** in https://github.com/vitest-dev/vitest/issues/9949 [<samp>(0d5f9)</samp>](https://github.com/vitest-dev/vitest/commit/0d5f9d6ef) ##### &nbsp;&nbsp;&nbsp;&nbsp;[View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.1.0...v4.1.1)