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.
โก 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 - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9913 <samp>(eec53)</samp>
- Introduce `experimental.vcsProvider` - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9928 <samp>(56115)</samp>
๐ง Bug Fixes & Patches (6)
- Mark `TestProject.testFilesList` internal properly - by @sapphi-red in https://github.com/vitest-dev/vitest/issues/9867 <samp>(54f26)</samp>
- Detect fixture that returns without calling `use` - 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 - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/9862 <samp>(b78f5)</samp>
- Type regression in vi.mocked() static class methods - 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 - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/9898 <samp>(ae5ec)</samp>
- Preserve coverage report when html reporter overlaps - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/9889 <samp>(2d81a)</samp>
๐ View Raw Release Notes (Original Developer Log)
### ๐ Features
- **experimental**:
- Expose `matchesTags` to test if the current filter matches tags - 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` - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9928 [<samp>(56115)</samp>](https://github.com/vitest-dev/vitest/commit/561150036)
### ๐ Bug Fixes
- Mark `TestProject.testFilesList` internal properly - 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` - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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` - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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)
##### [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.1.0...v4.1.1)