Vitest v3.2.0stable Released Jun 02, 2025
Impact Score: 5/10

Vitest v3.2.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.2.0. 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 (6)

  • Provide `ctx.signal` &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7878 <samp>(e761f)</samp>
  • Support custom colors for `test.name` &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7809 <samp>(4af5d)</samp>
  • Add `vi.mockObject` to automock any object &nbsp;-&nbsp; by @hi-ogawa and @sheremet-va in https://github.com/vitest-dev/vitest/issues/7761 <samp>(465bd)</samp>
  • Introduce `watchTriggerPatterns` option &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7778 <samp>(a0675)</samp>
  • Deprecate `workspace` in favor of `projects` &nbsp;-&nbsp; by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7923 <samp>(41beb)</samp>
  • Explicit Resource Management support in mocked functions &nbsp;-&nbsp; by @EskiMojo14 in https://github.com/vitest-dev/vitest/issues/7927 <samp>(b67d3)</samp>

๐Ÿ”ง Bug Fixes & Patches (6)

  • Replace `micromatch` with `picomatch` &nbsp;-&nbsp; by @sapphi-red in https://github.com/vitest-dev/vitest/issues/7951 <samp>(df076)</samp>
  • Try to catch unhandled error outside of a test &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7968 <samp>(46421)</samp>
  • Generate a separate config for "vitest init browser" instead of a workspace file &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7934 <samp>(e84e2)</samp>
  • Switch ExpectStatic `any` types to `AsymmetricMatcher<unknown>`, with `DeeplyAllowMatchers<T>` &nbsp;-&nbsp; by @JoshuaKGoldberg in https://github.com/vitest-dev/vitest/issues/7016 <samp>(8ec44)</samp>
  • Remove unused exports &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7618 <samp>(33d05)</samp>
  • Throw an error if typechecker failed to spawn &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7990 <samp>(0e960)</samp>
๐Ÿ“„ View Raw Release Notes (Original Developer Log)
### &nbsp;&nbsp;&nbsp;๐Ÿš€ Features - Provide `ctx.signal` &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7878 [<samp>(e761f)</samp>](https://github.com/vitest-dev/vitest/commit/e761f27d7) - Support custom colors for `test.name` &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7809 [<samp>(4af5d)</samp>](https://github.com/vitest-dev/vitest/commit/4af5df33b) - Add `vi.mockObject` to automock any object &nbsp;-&nbsp; by @hi-ogawa and @sheremet-va in https://github.com/vitest-dev/vitest/issues/7761 [<samp>(465bd)</samp>](https://github.com/vitest-dev/vitest/commit/465bdb3d7) - Introduce `watchTriggerPatterns` option &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7778 [<samp>(a0675)</samp>](https://github.com/vitest-dev/vitest/commit/a067531ac) - Deprecate `workspace` in favor of `projects` &nbsp;-&nbsp; by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7923 [<samp>(41beb)</samp>](https://github.com/vitest-dev/vitest/commit/41beb261e) - Explicit Resource Management support in mocked functions &nbsp;-&nbsp; by @EskiMojo14 in https://github.com/vitest-dev/vitest/issues/7927 [<samp>(b67d3)</samp>](https://github.com/vitest-dev/vitest/commit/b67d307de) - Add `sequence.groupOrder` option &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7852 [<samp>(d1a1d)</samp>](https://github.com/vitest-dev/vitest/commit/d1a1df036) - Initial support for Temporal equality &nbsp;-&nbsp; by @dirkluijk in https://github.com/vitest-dev/vitest/issues/8007 [<samp>(52bd7)</samp>](https://github.com/vitest-dev/vitest/commit/52bd78965) - Support Vite 7 &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8003 [<samp>(1716b)</samp>](https://github.com/vitest-dev/vitest/commit/1716b61c5) - Track module execution totalTime and selfTime &nbsp;-&nbsp; by @abrenneke in https://github.com/vitest-dev/vitest/issues/8027 [<samp>(95961)</samp>](https://github.com/vitest-dev/vitest/commit/95961e40a) - Annotation API &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7953 [<samp>(b03f2)</samp>](https://github.com/vitest-dev/vitest/commit/b03f2098a) - **browser**: - Implement `connect` option for `playwright` browser provider &nbsp;-&nbsp; by @egfx-notifications and @sheremet-va in https://github.com/vitest-dev/vitest/issues/7915 [<samp>(029c0)</samp>](https://github.com/vitest-dev/vitest/commit/029c0788c) - Add `screenshot.save` option &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7777 [<samp>(d9f51)</samp>](https://github.com/vitest-dev/vitest/commit/d9f516353) - Custom locators API &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7993 [<samp>(e6fbd)</samp>](https://github.com/vitest-dev/vitest/commit/e6fbd8d25) - **coverage**: - V8 experimental AST-aware remapping &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7736 [<samp>(78a3d)</samp>](https://github.com/vitest-dev/vitest/commit/78a3d2787) - **reporter**: - Add `onWritePath` option to `github-actions` &nbsp;-&nbsp; by @nwalters512 and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8015 [<samp>(abd3b)</samp>](https://github.com/vitest-dev/vitest/commit/abd3bb76a) - **vitest**: - Allow per-file and per-worker fixtures &nbsp;-&nbsp; by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7704 [<samp>(9cbfc)</samp>](https://github.com/vitest-dev/vitest/commit/9cbfc231a) ### &nbsp;&nbsp;&nbsp;๐Ÿž Bug Fixes - Replace `micromatch` with `picomatch` &nbsp;-&nbsp; by @sapphi-red in https://github.com/vitest-dev/vitest/issues/7951 [<samp>(df076)</samp>](https://github.com/vitest-dev/vitest/commit/df07611f0) - Try to catch unhandled error outside of a test &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7968 [<samp>(46421)</samp>](https://github.com/vitest-dev/vitest/commit/464218f42) - Generate a separate config for "vitest init browser" instead of a workspace file &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7934 [<samp>(e84e2)</samp>](https://github.com/vitest-dev/vitest/commit/e84e2184e) - Switch ExpectStatic `any` types to `AsymmetricMatcher<unknown>`, with `DeeplyAllowMatchers<T>` &nbsp;-&nbsp; by @JoshuaKGoldberg in https://github.com/vitest-dev/vitest/issues/7016 [<samp>(8ec44)</samp>](https://github.com/vitest-dev/vitest/commit/8ec448db6) - Remove unused exports &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7618 [<samp>(33d05)</samp>](https://github.com/vitest-dev/vitest/commit/33d053852) - Throw an error if typechecker failed to spawn &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7990 [<samp>(0e960)</samp>](https://github.com/vitest-dev/vitest/commit/0e960aa78) - Ignore non-string `stack` properties &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7995 [<samp>(330f9)</samp>](https://github.com/vitest-dev/vitest/commit/330f9a40b) - Apply browser CLI options only if the project has the browser set in the config already &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7984 [<samp>(70358)</samp>](https://github.com/vitest-dev/vitest/commit/703581b62) - Ensure errors keep their message and stack after `toJSON` serialisation &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8053 [<samp>(3bdf0)</samp>](https://github.com/vitest-dev/vitest/commit/3bdf05d19) - **browser**: - Resolve FS commands relative to the project root &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7896 [<samp>(69ac9)</samp>](https://github.com/vitest-dev/vitest/commit/69ac92cb7) - Run tests serially if provider doesn't provide a mocker &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8032 [<samp>(227a9)</samp>](https://github.com/vitest-dev/vitest/commit/227a992ad) - Resolve `upload` files relative to the project root &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8042 [<samp>(b9a31)</samp>](https://github.com/vitest-dev/vitest/commit/b9a312a8a) - Await mocker invalidation to avoid race condition with "mock wasn't registered" &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8021 [<samp>(b34ff)</samp>](https://github.com/vitest-dev/vitest/commit/b34ffada3) - Share vite cache with the project cache &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8049 [<samp>(0cbad)</samp>](https://github.com/vitest-dev/vitest/commit/0cbad1b0d) - Add `this` type to `locators.extend` &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8069 [<samp>(70fb0)</samp>](https://github.com/vitest-dev/vitest/commit/70fb03c38) - **cache**: - Preserve test results from previous runs &nbsp;-&nbsp; by @macko911 in https://github.com/vitest-dev/vitest/issues/8043 [<samp>(d6ef0)</samp>](https://github.com/vitest-dev/vitest/commit/d6ef0da11) - **cli**: - Add built-in reporters list to --help output &nbsp;-&nbsp; by @pengooseDev in https://github.com/vitest-dev/vitest/issues/7955 [<samp>(ef6ef)</samp>](https://github.com/vitest-dev/vitest/commit/ef6ef542b) - Parse `--silent` values properly &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8055 [<samp>(8fad7)</samp>](https://github.com/vitest-dev/vitest/commit/8fad73563) - **coverage**: - Istanbul provider to not use Vite preserved query params &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7939 [<samp>(a05d4)</samp>](https://github.com/vitest-dev/vitest/commit/a05d48c25) - Browser + v8 in source tests missing &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7946 [<samp>(51cd8)</samp>](https://github.com/vitest-dev/vitest/commit/51cd81444) - In-source test cases excluded &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7985 [<samp>(407c0)</samp>](https://github.com/vitest-dev/vitest/commit/407c0e4d2) - **dev**: - Fix relay of custom equality testers &nbsp;-&nbsp; by @StefanLiebscher in https://github.com/vitest-dev/vitest/issues/6140 [<samp>(6dc1d)</samp>](https://github.com/vitest-dev/vitest/commit/6dc1d1858) - **expect**: - Unbundle `@types/chai` &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7937 [<samp>(525f5)</samp>](https://github.com/vitest-dev/vitest/commit/525f524c7) - Support type-safe declaration of custom matchers &nbsp;-&nbsp; by @kettanaito and @sheremet-va in https://github.com/vitest-dev/vitest/issues/7656 [<samp>(e996b)</samp>](https://github.com/vitest-dev/vitest/commit/e996b4103) - **reporters**: - Check the test result again when tests are rerunning &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8063 [<samp>(35e31)</samp>](https://github.com/vitest-dev/vitest/commit/35e313f8c) - **spy**: - Copy over static properties from the function &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7780 [<samp>(9b9f0)</samp>](https://github.com/vitest-dev/vitest/commit/9b9f09bcb) - **typecheck**: - Don't panic during `vitest list` command &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7933 [<samp>(ba6da)</samp>](https://github.com/vitest-dev/vitest/commit/ba6da4d07) - Avoid creating a temporary tsconfig file when typechecking &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7967 [<samp>(34f43)</samp>](https://github.com/vitest-dev/vitest/commit/34f43ae68) - **vite-node**: - Add `__vite_ssr_exportName__` &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7925 [<samp>(76091)</samp>](https://github.com/vitest-dev/vitest/commit/76091074a) - **vitest**: - Adjust `getWorkerMemoryLimit` priority for vmForks &nbsp;-&nbsp; by @pengooseDev in https://github.com/vitest-dev/vitest/issues/7960 [<samp>(5a91e)</samp>](https://github.com/vitest-dev/vitest/commit/5a91eca20) - **wdio**: - Don't scale browser in headless mode &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8033 [<samp>(c23b0)</samp>](https://github.com/vitest-dev/vitest/commit/c23b0f78f) ##### &nbsp;&nbsp;&nbsp;&nbsp;[View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v3.1.3...v3.2.0)