Vitest v3.1.0stable Released Mar 31, 2025
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.

Compatibility not verified โ€” check source notes
๐Ÿ“„ .MD
โšก 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)