v4.0.15
🚀 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>
- reporters: Print import duration breakdown - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9105 <samp>(122ff)</samp>
🐞 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>
- Use
optimizeDeps.rolldownOptionsto fix depreated warning + fixssr.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
toMatchScreenshotonly once when used withexpect.element- by @macarie in https://github.com/vitest-dev/vitest/issues/9132 <samp>(0d2e7)</samp> - coverage: Istanbul provider to not break source maps - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/9040 <samp>(e4ca9)</samp>
- deps: Update dependency tinyexec to v1 - in https://github.com/vitest-dev/vitest/issues/9122 <samp>(fd786)</samp>
- docs: Remove
--browser.providerfrom docs - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9115 <samp>(120b3)</samp> - expect: Preserve
currentTestNamein extended matchers - by @macarie in https://github.com/vitest-dev/vitest/issues/9106 <samp>(e4345)</samp> - pool: Terminate workers on
CTRL+cforceful exits - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/9140 <samp>(d57d8)</samp> - reporters: Show project in github reporter - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9138 <samp>(bb65e)</samp>
- 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>
- 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>
View changes on GitHub
Fetched June 1, 2026
