Impact Score: 5/10
Vitest v3.1.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.
โก Executive Summary (TL;DR)
Vitest v3.1.0. Source highlight: Introduce `%$` option to add number of the test to its title - by @kemuridama in https://github.com/vitest-dev/vitest/issues/7412 <samp>(df347)</samp>
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 (6)
- Introduce `%$` option to add number of the test to its title - by @kemuridama in https://github.com/vitest-dev/vitest/issues/7412 <samp>(df347)</samp>
- Add `diff.maxDepth` option and set non-`Infinity` value as a default to reduce crash - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7481 <samp>(eacab)</samp>
- Allow array element for `test.each/for` title formatting - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7522 <samp>(ea3d6)</samp>
- Add "configureVitest" plugin hook - by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7349 <samp>(20a5d)</samp>
- Support `--configLoader` CLI option - by @Carnageous and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7574 <samp>(2a852)</samp>
- Added `vitest-browser-lit` to `vitest init browser` and docs - by @EskiMojo14 and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7705 <samp>(5659a)</samp>
โก Performance & Enhancements (1)
- **browser**: Fork jest-dom instead of bundling it - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7605 <samp>(12762)</samp>
๐ง Bug Fixes & Patches (6)
- Update test stats regularly - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7700 <samp>(b7953)</samp>
- Fix vm tests flakiness - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7741 <samp>(2702c)</samp>
- Set `diff.expand: false` as default - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7697 <samp>(f3420)</samp>
- Correctly calculate timeout in hooks when actions are performed - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7747 <samp>(a5505)</samp>
- Update all non-major dependencies - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7600 <samp>(7fc5a)</samp>
- `--hideSkippedTests` should hide suites too - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7695 <samp>(ba9b5)</samp>
๐ View Raw Release Notes (Original Developer Log)
### ๐ Features
- Introduce `%$` option to add number of the test to its title - by @kemuridama in https://github.com/vitest-dev/vitest/issues/7412 [<samp>(df347)</samp>](https://github.com/vitest-dev/vitest/commit/df3477076)
- Add `diff.maxDepth` option and set non-`Infinity` value as a default to reduce crash - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7481 [<samp>(eacab)</samp>](https://github.com/vitest-dev/vitest/commit/eacab25e7)
- Allow array element for `test.each/for` title formatting - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7522 [<samp>(ea3d6)</samp>](https://github.com/vitest-dev/vitest/commit/ea3d67b03)
- Add "configureVitest" plugin hook - by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7349 [<samp>(20a5d)</samp>](https://github.com/vitest-dev/vitest/commit/20a5d4bfc)
- Support `--configLoader` CLI option - by @Carnageous and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7574 [<samp>(2a852)</samp>](https://github.com/vitest-dev/vitest/commit/2a8520a83)
- Added `vitest-browser-lit` to `vitest init browser` and docs - by @EskiMojo14 and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7705 [<samp>(5659a)</samp>](https://github.com/vitest-dev/vitest/commit/5659a0e0c)
- Use providers request interception for module mocking - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7576 [<samp>(7883a)</samp>](https://github.com/vitest-dev/vitest/commit/7883acd63)
- **browser**:
- Introduce `and`, `or` and `filter` locators - by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7463 [<samp>(63949)</samp>](https://github.com/vitest-dev/vitest/commit/63949b1d7)
- **reporter**:
- Always render test time - by @AriPerkkio and @spamshaker in https://github.com/vitest-dev/vitest/issues/7529 [<samp>(5eba6)</samp>](https://github.com/vitest-dev/vitest/commit/5eba60ae1)
- `--silent=passed-only` to log failed tasks only - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7530 [<samp>(f9e1c)</samp>](https://github.com/vitest-dev/vitest/commit/f9e1cb494)
- **runner**:
- Add `test.scoped` to override `test.extend` fixtures per-suite - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7233 [<samp>(e5851)</samp>](https://github.com/vitest-dev/vitest/commit/e5851e4b8)
- **vitest**:
- Allow conditional `context.skip(boolean)` - by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7659 [<samp>(6adec)</samp>](https://github.com/vitest-dev/vitest/commit/6adecb903)
- Support rolldown-vite in NormalizeUrlPlugin - by @sapphi-red and @sheremet-va in https://github.com/vitest-dev/vitest/issues/7739 [<samp>(1ef31)</samp>](https://github.com/vitest-dev/vitest/commit/1ef31a7bb)
### ๐ Bug Fixes
- Update test stats regularly - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7700 [<samp>(b7953)</samp>](https://github.com/vitest-dev/vitest/commit/b7953487b)
- Fix vm tests flakiness - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7741 [<samp>(2702c)</samp>](https://github.com/vitest-dev/vitest/commit/2702cf424)
- Set `diff.expand: false` as default - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7697 [<samp>(f3420)</samp>](https://github.com/vitest-dev/vitest/commit/f34206536)
- **browser**:
- Correctly calculate timeout in hooks when actions are performed - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7747 [<samp>(a5505)</samp>](https://github.com/vitest-dev/vitest/commit/a55055180)
- **deps**:
- Update all non-major dependencies - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7600 [<samp>(7fc5a)</samp>](https://github.com/vitest-dev/vitest/commit/7fc5a2908)
- **reporter**:
- `--hideSkippedTests` should hide suites too - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7695 [<samp>(ba9b5)</samp>](https://github.com/vitest-dev/vitest/commit/ba9b51ccc)
- Report tests in correct order - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7752 [<samp>(b166e)</samp>](https://github.com/vitest-dev/vitest/commit/b166efa28)
- Print test only once in the verbose mode - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7738 [<samp>(69ca4)</samp>](https://github.com/vitest-dev/vitest/commit/69ca425c6)
- **snapshot**:
- Fix indent normalization - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7400 [<samp>(82997)</samp>](https://github.com/vitest-dev/vitest/commit/8299709d2)
- This change can cause small amount of very old snapshots to be updated, but there will be no functional change to how they work.
### ๐ Performance
- **browser**: Fork jest-dom instead of bundling it - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7605 [<samp>(12762)</samp>](https://github.com/vitest-dev/vitest/commit/12762ea6c)
##### [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v3.0.9...v3.1.1)