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.
โก 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 - by @lifeiscontent in https://github.com/vitest-dev/vitest/issues/11461 <samp>(a8ea3)</samp>
- Support `test.ui.theme` option - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11499 <samp>(1da66)</samp>
- Highlight selector multiple matches in trace view - 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` - 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 - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11515 <samp>(c0601)</samp>
- Add fit and zoom controls to trace viewer - 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 - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11428 <samp>(7ebd9)</samp>
- **spy**: Reset only mocks that were called or reconfigured - 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 - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11430 <samp>(30d03)</samp>
- Enable fsModuleCache by default - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11435 <samp>(ad208)</samp>
- Track project files and mocks with --changed - 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 - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11453 <samp>(9673c)</samp>
- Keep full `$` string values when `taskTitleValueFormatTruncate` is 0 - 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 - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11417 <samp>(56b31)</samp>
๐ View Raw Release Notes (Original Developer Log)
### ๐ Features
- **experimental**:
- Tag cache directories with CACHEDIR.TAG - 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 - 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 - 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` - 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 - 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 - 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)
### ๐ Bug Fixes
- Fail the run on git and location filter errors - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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't cache failed fixture setups - 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 - 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 - 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 - 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 - 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 - 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 - 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` - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11504 [<samp>(b618a)</samp>](https://github.com/vitest-dev/vitest/commit/b618afd5c)
### ๐ Performance
- Reuse fsModuleCache when filtering by source - 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 - 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)
##### [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v5.0.3...v5.0.4)