Impact Score: 5/10
Vitest v4.0.15 โ 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 v4.0.15. Source highlight: ๐ Experimental 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 (1)
- **reporters**: Print import duration breakdown - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9105 <samp>(122ff)</samp>
๐ง Bug Fixes & Patches (6)
- **cache**: Add opt-out on a plugin level, fix internal root cache - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9154 <samp>(a68f7)</samp>
- Keep built-in id as is in bun and deno - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9117 <samp>(075ab)</samp>
- Use `optimizeDeps.rolldownOptions` to fix depreated warning + fix `ssr.external: true` - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/9121 <samp>(fd8bd)</samp>
- Fix external behavior with `deps.optimizer` - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/9125 <samp>(4c754)</samp>
- Very minor typo in "Chrome DevTools Protocol" - by @HowToTestFrontend in https://github.com/vitest-dev/vitest/issues/9146 <samp>(20997)</samp>
- **browser**: Run `toMatchScreenshot` only once when used with `expect.element` - by @macarie in https://github.com/vitest-dev/vitest/issues/9132 <samp>(0d2e7)</samp>
๐ View Raw Release Notes (Original Developer Log)
### ๐ Experimental Features
- **cache**: Add opt-out on a plugin level, fix internal root cache - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9154 [<samp>(a68f7)</samp>](https://github.com/vitest-dev/vitest/commit/a68f74e5e)
- **reporters**: Print import duration breakdown - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9105 [<samp>(122ff)</samp>](https://github.com/vitest-dev/vitest/commit/122ff321c)
### ๐ Bug Fixes
- Keep built-in id as is in bun and deno - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9117 [<samp>(075ab)</samp>](https://github.com/vitest-dev/vitest/commit/075ab3520)
- Use `optimizeDeps.rolldownOptions` to fix depreated warning + fix `ssr.external: true` - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/9121 [<samp>(fd8bd)</samp>](https://github.com/vitest-dev/vitest/commit/fd8bd6dee)
- Fix external behavior with `deps.optimizer` - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/9125 [<samp>(4c754)</samp>](https://github.com/vitest-dev/vitest/commit/4c75492cc)
- Very minor typo in "Chrome DevTools Protocol" - by @HowToTestFrontend in https://github.com/vitest-dev/vitest/issues/9146 [<samp>(20997)</samp>](https://github.com/vitest-dev/vitest/commit/209976419)
- **browser**: Run `toMatchScreenshot` only once when used with `expect.element` - by @macarie in https://github.com/vitest-dev/vitest/issues/9132 [<samp>(0d2e7)</samp>](https://github.com/vitest-dev/vitest/commit/0d2e7e3e2)
- **coverage**: Istanbul provider to not break source maps - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/9040 [<samp>(e4ca9)</samp>](https://github.com/vitest-dev/vitest/commit/e4ca917f1)
- **deps**: Update dependency tinyexec to v1 - in https://github.com/vitest-dev/vitest/issues/9122 [<samp>(fd786)</samp>](https://github.com/vitest-dev/vitest/commit/fd7860222)
- **docs**: Remove `--browser.provider` from docs - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9115 [<samp>(120b3)</samp>](https://github.com/vitest-dev/vitest/commit/120b3dac1)
- **expect**: Preserve `currentTestName` in extended matchers - by @macarie in https://github.com/vitest-dev/vitest/issues/9106 [<samp>(e4345)</samp>](https://github.com/vitest-dev/vitest/commit/e43458e02)
- **pool**: Terminate workers on `CTRL+c` forceful exits - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/9140 [<samp>(d57d8)</samp>](https://github.com/vitest-dev/vitest/commit/d57d8bf0a)
- **reporters**: Show project in github reporter - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9138 [<samp>(bb65e)</samp>](https://github.com/vitest-dev/vitest/commit/bb65e15c7)
- **spy**: Do not mock overriden method, if parent was automocked - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9116 [<samp>(1a246)</samp>](https://github.com/vitest-dev/vitest/commit/1a24607b4)
- **web-worker**: MessagePort objects passed to Worker.postMessage work when clone === "native" - by @whitphx in https://github.com/vitest-dev/vitest/issues/9118 [<samp>(deee8)</samp>](https://github.com/vitest-dev/vitest/commit/deee83e54)
##### [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.14...v4.0.15)