Change8

v4.0.15

📦 vitestView on GitHub →
2 features🐛 13 fixes🔧 9 symbols

Summary

This release adds experimental cache opt‑out and import‑duration reporting, and includes numerous bug fixes such as corrected IDs in Bun/Deno, improved dependency handling, and stability enhancements across reporters, coverage, and web‑worker APIs.

✨ New Features

  • Experimental cache: add opt-out on a plugin level.
  • Experimental reporters: print import duration breakdown.

🐛 Bug Fixes

  • Keep built-in id unchanged in Bun and Deno environments.
  • Use `optimizeDeps.rolldownOptions` to silence deprecated warning and fix `ssr.external: true`.
  • Fix external behavior when using `deps.optimizer`.
  • Correct typo in "Chrome DevTools Protocol".
  • `browser`: run `toMatchScreenshot` only once when used with `expect.element`.
  • `coverage`: Istanbul provider no longer breaks source maps.
  • `deps`: update tinyexec dependency to version 1.
  • `docs`: remove `--browser.provider` flag from documentation.
  • `expect`: preserve `currentTestName` in extended matchers.
  • `pool`: terminate workers on forceful `CTRL+C` exits.
  • `reporters`: show project name in GitHub reporter.
  • `spy`: do not mock overridden method if parent was automocked.
  • `web-worker`: MessagePort objects passed to `Worker.postMessage` work when `clone === "native"`.

🔧 Affected Symbols

cachereportersbrowser.toMatchScreenshotcoverage.IstanbulProviderdepsexpect.currentTestNamepoolspyweb-worker.MessagePort