Vitest v5.0.4stable Released Oct 12, 2026
Impact Score: 5/10

Vitest v5.0.4 โ€” 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 v5.0.4. 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)

  • Tag cache directories with CACHEDIR.TAG &nbsp;-&nbsp; by @lifeiscontent in https://github.com/vitest-dev/vitest/issues/11461 <samp>(a8ea3)</samp>
  • Support `test.ui.theme` option &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11499 <samp>(1da66)</samp>
  • Highlight selector multiple matches in trace view &nbsp;-&nbsp; by @hi-ogawa, **Hiroshi Ogawa** and **Claude Opus 5.5** in https://github.com/vitest-dev/vitest/issues/11489 <samp>(5abba)</samp>
  • Print how many tests were affected and a total when running `--changed` &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11424 <samp>(a2336)</samp>
  • Add an option to cache dependencies instead of statically parsing them &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11515 <samp>(c0601)</samp>
  • Add fit and zoom controls to trace viewer &nbsp;-&nbsp; by @hi-ogawa, **Hiroshi Ogawa** and **Claude Opus 5.5** in https://github.com/vitest-dev/vitest/issues/11490 <samp>(f5dd9)</samp>

โšก Performance & Enhancements (2)

  • Reuse fsModuleCache when filtering by source &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11428 <samp>(7ebd9)</samp>
  • **spy**: Reset only mocks that were called or reconfigured &nbsp;-&nbsp; by @johan-gorter and **Claude Opus 5.5** in https://github.com/vitest-dev/vitest/issues/11197 <samp>(28ef9)</samp>

๐Ÿ”ง Bug Fixes & Patches (6)

  • Fail the run on git and location filter errors &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11430 <samp>(30d03)</samp>
  • Enable fsModuleCache by default &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11435 <samp>(ad208)</samp>
  • Track project files and mocks with --changed &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11432 <samp>(b0f2b)</samp>
  • Refactor caching, fix `:` in project and change the shape of `results` cache &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11453 <samp>(9673c)</samp>
  • Keep full `$` string values when `taskTitleValueFormatTruncate` is 0 &nbsp;-&nbsp; by @hi-ogawa, **Hiroshi Ogawa** and **Claude Opus 5.5** in https://github.com/vitest-dev/vitest/issues/11485 <samp>(4f7e1)</samp>
  • Resolve node builtins in client environments &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11417 <samp>(56b31)</samp>
๐Ÿ“„ View Raw Release Notes (Original Developer Log)
### &nbsp;&nbsp;&nbsp;๐Ÿš€ Features - **experimental**: - Tag cache directories with CACHEDIR.TAG &nbsp;-&nbsp; by @lifeiscontent in https://github.com/vitest-dev/vitest/issues/11461 [<samp>(a8ea3)</samp>](https://github.com/vitest-dev/vitest/commit/a8ea3c8fd) - Support `test.ui.theme` option &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11499 [<samp>(1da66)</samp>](https://github.com/vitest-dev/vitest/commit/1da66405d) - Highlight selector multiple matches in trace view &nbsp;-&nbsp; by @hi-ogawa, **Hiroshi Ogawa** and **Claude Opus 5.5** in https://github.com/vitest-dev/vitest/issues/11489 [<samp>(5abba)</samp>](https://github.com/vitest-dev/vitest/commit/5abba1e1b) - Print how many tests were affected and a total when running `--changed` &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11424 [<samp>(a2336)</samp>](https://github.com/vitest-dev/vitest/commit/a23368585) - Add an option to cache dependencies instead of statically parsing them &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11515 [<samp>(c0601)</samp>](https://github.com/vitest-dev/vitest/commit/c06012ac8) - Add fit and zoom controls to trace viewer &nbsp;-&nbsp; by @hi-ogawa, **Hiroshi Ogawa** and **Claude Opus 5.5** in https://github.com/vitest-dev/vitest/issues/11490 [<samp>(f5dd9)</samp>](https://github.com/vitest-dev/vitest/commit/f5dd99ed0) ### &nbsp;&nbsp;&nbsp;๐Ÿž Bug Fixes - Fail the run on git and location filter errors &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11430 [<samp>(30d03)</samp>](https://github.com/vitest-dev/vitest/commit/30d0304d2) - Enable fsModuleCache by default &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11435 [<samp>(ad208)</samp>](https://github.com/vitest-dev/vitest/commit/ad208cc29) - Track project files and mocks with --changed &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11432 [<samp>(b0f2b)</samp>](https://github.com/vitest-dev/vitest/commit/b0f2b3bb9) - Refactor caching, fix `:` in project and change the shape of `results` cache &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11453 [<samp>(9673c)</samp>](https://github.com/vitest-dev/vitest/commit/9673c49a4) - Keep full `$` string values when `taskTitleValueFormatTruncate` is 0 &nbsp;-&nbsp; by @hi-ogawa, **Hiroshi Ogawa** and **Claude Opus 5.5** in https://github.com/vitest-dev/vitest/issues/11485 [<samp>(4f7e1)</samp>](https://github.com/vitest-dev/vitest/commit/4f7e1799b) - Resolve node builtins in client environments &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11417 [<samp>(56b31)</samp>](https://github.com/vitest-dev/vitest/commit/56b319ac6) - Fix module graph builtin externals after #11421 &nbsp;-&nbsp; by @hi-ogawa, **Hiroshi Ogawa** and **Claude Opus 5.5** in https://github.com/vitest-dev/vitest/issues/11491 and https://github.com/vitest-dev/vitest/issues/11421 [<samp>(008e1)</samp>](https://github.com/vitest-dev/vitest/commit/008e184cb) - Wrap module mocks during in-source testing &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11505 [<samp>(36d19)</samp>](https://github.com/vitest-dev/vitest/commit/36d19cb00) - Handle line endings in snapshot &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11522 [<samp>(4c468)</samp>](https://github.com/vitest-dev/vitest/commit/4c468aa40) - Respect root in projects &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11521 [<samp>(26642)</samp>](https://github.com/vitest-dev/vitest/commit/26642f793) - Resolve mocks in directories with spaces &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11539 [<samp>(caaef)</samp>](https://github.com/vitest-dev/vitest/commit/caaef9416) - **api**: - Publish the api token atomically &nbsp;-&nbsp; by @umairnawaz333 in https://github.com/vitest-dev/vitest/issues/11323 [<samp>(6f990)</samp>](https://github.com/vitest-dev/vitest/commit/6f990fef1) - **browser**: - Close the mock route interception race &nbsp;-&nbsp; by @cplieger and @sheremet-va in https://github.com/vitest-dev/vitest/issues/8339 and https://github.com/vitest-dev/vitest/issues/11083 [<samp>(d6620)</samp>](https://github.com/vitest-dev/vitest/commit/d6620fae6) - Allow toHaveTextContent without arguments &nbsp;-&nbsp; by @nomadical in https://github.com/vitest-dev/vitest/issues/11425 [<samp>(8ebcf)</samp>](https://github.com/vitest-dev/vitest/commit/8ebcf5f8a) - Apply API options without browser config &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10852 [<samp>(ad055)</samp>](https://github.com/vitest-dev/vitest/commit/ad055837b) - Preserve undefined command arguments &nbsp;-&nbsp; by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/11497 [<samp>(1576d)</samp>](https://github.com/vitest-dev/vitest/commit/1576d3d89) - Wait for setup mocks before importing a test file &nbsp;-&nbsp; by @kasperpeulen in https://github.com/vitest-dev/vitest/issues/11520 [<samp>(b61d1)</samp>](https://github.com/vitest-dev/vitest/commit/b61d1ced3) - Avoid extra scroll outside the iframe &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11523 [<samp>(662e8)</samp>](https://github.com/vitest-dev/vitest/commit/662e8a363) - Run browser instances as workers &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11525 [<samp>(bf04b)</samp>](https://github.com/vitest-dev/vitest/commit/bf04b9ccc) - โš ๏ธ This can degrade performance if you have a custom `maxWorkers` setting. Previously, it was applied incorrectly and could lead to Vitest using too many resources. For example, a lower number would still open too many browsers. Fixing it means Vitest opens less instances by default now. - Open one cdp session per tester &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11542 [<samp>(69e63)</samp>](https://github.com/vitest-dev/vitest/commit/69e6369f6) - Clean up unmocked and pending mocks &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11537 [<samp>(5c955)</samp>](https://github.com/vitest-dev/vitest/commit/5c9552173) - **coverage**: - V8 browser memory leak between test files &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/11466 [<samp>(2297d)</samp>](https://github.com/vitest-dev/vitest/commit/2297d93a8) - `allowExternal` fails to include uncovered files &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/11513 [<samp>(4ef00)</samp>](https://github.com/vitest-dev/vitest/commit/4ef000a93) - Filenames containing brackets incorrectly showing as uncovered &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/11531 [<samp>(0fa80)</samp>](https://github.com/vitest-dev/vitest/commit/0fa80f53c) - Istanbul coverage wrong when module transform warmups &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/11529 [<samp>(9f61d)</samp>](https://github.com/vitest-dev/vitest/commit/9f61dcca2) - **deps**: - Update all non-major dependencies &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11167 [<samp>(c74e0)</samp>](https://github.com/vitest-dev/vitest/commit/c74e099a9) - **expect**: - Fix `Map` and `Set` deep equality in some assertions &nbsp;-&nbsp; by @hi-ogawa, **Hiroshi Ogawa** and **Claude Opus 5.5** in https://github.com/vitest-dev/vitest/issues/11402 [<samp>(b4e79)</samp>](https://github.com/vitest-dev/vitest/commit/b4e79fd7a) - Check value in chai-style returned &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11500 [<samp>(1aca0)</samp>](https://github.com/vitest-dev/vitest/commit/1aca02a21) - **mocker**: - Fix native loader mocking edge cases &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11540 [<samp>(cd423)</samp>](https://github.com/vitest-dev/vitest/commit/cd423ba04) - **pretty-format**: - Support boxed symbols &nbsp;-&nbsp; by @lehni in https://github.com/vitest-dev/vitest/issues/11445 and https://github.com/vitest-dev/vitest/issues/11446 [<samp>(eba44)</samp>](https://github.com/vitest-dev/vitest/commit/eba44926e) - **reporters**: - Junit to strip ANSI sequences from all XML attributes &nbsp;-&nbsp; by @meganemura and **Claude Opus 5.5** in https://github.com/vitest-dev/vitest/issues/11407 [<samp>(e1a73)</samp>](https://github.com/vitest-dev/vitest/commit/e1a731470) - **runner**: - Don&#39;t cache failed fixture setups &nbsp;-&nbsp; by @hamed-bavar in https://github.com/vitest-dev/vitest/issues/11237 and https://github.com/vitest-dev/vitest/issues/11238 [<samp>(4ee66)</samp>](https://github.com/vitest-dev/vitest/commit/4ee66c021) - **typecheck**: - Use typescript pool in toTestSpecification &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11451 [<samp>(5f273)</samp>](https://github.com/vitest-dev/vitest/commit/5f2739e74) - **ui**: - Remove duplicate browser-open call opening two tabs &nbsp;-&nbsp; by @feastyr69 in https://github.com/vitest-dev/vitest/issues/11356 and https://github.com/vitest-dev/vitest/issues/11358 [<samp>(d7e13)</samp>](https://github.com/vitest-dev/vitest/commit/d7e1315c1) - Simplify explorer filtering + fix nested tests when search matches a suite &nbsp;-&nbsp; by @hi-ogawa, **Hiroshi Ogawa**, **Codex** and **Claude Opus 5.5** in https://github.com/vitest-dev/vitest/issues/11262 [<samp>(a627b)</samp>](https://github.com/vitest-dev/vitest/commit/a627be498) - Store module graph once per environment &nbsp;-&nbsp; by @hi-ogawa, **Hiroshi Ogawa** and **Claude Opus 5.5** in https://github.com/vitest-dev/vitest/issues/11421 [<samp>(af903)</samp>](https://github.com/vitest-dev/vitest/commit/af903c65e) - Mount index.html handler on the ui base path &nbsp;-&nbsp; by @hi-ogawa, **Hiroshi Ogawa** and **Claude Opus 5.5** in https://github.com/vitest-dev/vitest/issues/11517 [<samp>(1bc24)</samp>](https://github.com/vitest-dev/vitest/commit/1bc2495c7) - Center split pane resize handle &nbsp;-&nbsp; by @hi-ogawa, **Hiroshi Ogawa** and **Claude Opus 5.5** in https://github.com/vitest-dev/vitest/issues/11506 [<samp>(e658b)</samp>](https://github.com/vitest-dev/vitest/commit/e658b9b6a) - **vm**: - Bind `this` to `module.exports` &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11504 [<samp>(b618a)</samp>](https://github.com/vitest-dev/vitest/commit/b618afd5c) ### &nbsp;&nbsp;&nbsp;๐ŸŽ Performance - Reuse fsModuleCache when filtering by source &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11428 [<samp>(7ebd9)</samp>](https://github.com/vitest-dev/vitest/commit/7ebd95fdd) - **spy**: Reset only mocks that were called or reconfigured &nbsp;-&nbsp; by @johan-gorter and **Claude Opus 5.5** in https://github.com/vitest-dev/vitest/issues/11197 [<samp>(28ef9)</samp>](https://github.com/vitest-dev/vitest/commit/28ef93df2) ##### &nbsp;&nbsp;&nbsp;&nbsp;[View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v5.0.3...v5.0.4)