# Vitest changelog > A Vite-native testing framework. - Vendor: VoidZero - Category: Developer Tools - Official site: https://vitest.dev - Tracked by: What's New (https://whatsnew.fyi/product/vitest) - Harvested from: GitHub (vitest-dev/vitest) - Entries below: 10 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. ## Releases ### v5.0.0-beta.7 - Date: 2026-07-24 - Version: v5.0.0-beta.7 - Original notes: https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-beta.7 - Permalink: https://whatsnew.fyi/product/vitest/releases/v5.0.0-beta.7 - Labels: Pre-release - **changed** — Separate config resolution from the server creation - **added** — Add toggable injectCjsGlobals option - **added** — Promote fsModuleCache to a top-level option - **added** — Support non-ascii characters in for/each title placeholders - **added** — Add pluggable benchmark provider API - **fixed** — Disable server HMR before plugins read it in their config hook - **fixed** — Close the pool before the Vite servers - **fixed** — Remove listeners in the typecheck worker's off - **fixed** — Keep per-file isolation in vm pools when maxWorkers is 1 - **fixed** — Prevent node builtins double prefix - **fixed** — Set non-zero exit code when teardown throws during close - **fixed** — Don't race the typechecker spawn grace period on windows - **fixed** — Preserve pre-transform request defaults in browser - **fixed** — Fix error stacktrace location off-by-one in browser - **fixed** — Inlined awaited import should not trigger syntax error after transform in browser - **fixed** — Mock window.print to avoid hanging in browser - **fixed** — Vm pools to respect cgroupsv2 memory limit in pool - **changed** — Serve warm modules to workers in one round-trip and enable the node compile cache - **changed** — Make the Node compile cache opt-in and persist worker caches on teardown - **changed** — Reuse compiled code across vm pool contexts and prewarm the module graph ######    🚨 Breaking Changes - Separate config resolution from the server creation  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10554 [(1c0ec)](https://github.com/vitest-dev/vitest/commit/1c0ec3444) ######    🚀 Features - Add toggable `injectCjsGlobals` option  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10709 [(82671)](https://github.com/vitest-dev/vitest/commit/826714ece) - Promote fsModuleCache to a top-level option  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10734 [(78ed7)](https://github.com/vitest-dev/vitest/commit/78ed73afd) - Support non-ascii characters in `for/each` title placeholders  -  by @k-yle in https://github.com/vitest-dev/vitest/issues/10773 [(15e0a)](https://github.com/vitest-dev/vitest/commit/15e0af953) - **benchmark**: Add pluggable benchmark provider API  -  by @GuillaumeLagrange and @sheremet-va in https://github.com/vitest-dev/vitest/issues/10799 [(86c70)](https://github.com/vitest-dev/vitest/commit/86c700ed8) ######    🐞 Bug Fixes - Disable server HMR before plugins read it in their config hook  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10731 [(e060b)](https://github.com/vitest-dev/vitest/commit/e060b8fa9) - Close the pool before the Vite servers  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10725 [(96fa6)](https://github.com/vitest-dev/vitest/commit/96fa6d73d) - Remove listeners in the typecheck worker's `off`  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10741 [(d758b)](https://github.com/vitest-dev/vitest/commit/d758b4755) - Keep per-file isolation in vm pools when maxWorkers is 1  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10743 [(83ab9)](https://github.com/vitest-dev/vitest/commit/83ab9a44f) - Node.js 20 deprecation warning for `ci.yml`  -  by @hirehamir in https://github.com/vitest-dev/vitest/issues/10759 [(2127f)](https://github.com/vitest-dev/vitest/commit/2127fa6ce) - Prevent node builtins double prefix  -  by @malobre in https://github.com/vitest-dev/vitest/issues/10630 and https://github.com/vitest-dev/vitest/issues/10767 [(22d35)](https://github.com/vitest-dev/vitest/commit/22d353a80) - Set non-zero exit code when teardown throws during close  -  by @zakcutner and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/10794 [(22116)](https://github.com/vitest-dev/vitest/commit/22116feb7) - Don't race the typechecker spawn grace period on windows  -  by @xevrion in https://github.com/vitest-dev/vitest/issues/10814 [(b19e5)](https://github.com/vitest-dev/vitest/commit/b19e5ece9) - **browser**: - Preserve pre-transform request defaults  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10748 [(b6060)](https://github.com/vitest-dev/vitest/commit/b60605ca7) - Fix error stacktrace location off-by-one  -  by @hi-ogawa, **Hiroshi Ogawa** and **OpenCode** in https://github.com/vitest-dev/vitest/issues/10724 [(62b8d)](https://github.com/vitest-dev/vitest/commit/62b8d3b36) - Inlined awaited import should not trigger syntax error after transform  -  by @smeng9, **Shaoyu Meng** and **Claude Opus 4.8 (1M context)** in https://github.com/vitest-dev/vitest/issues/10784 [(51acd)](https://github.com/vitest-dev/vitest/commit/51acd5778) - Mock window.print to avoid hanging  -  by @aaravjaichand in https://github.com/vitest-dev/vitest/issues/7375 and https://github.com/vitest-dev/vitest/issues/10798 [(66d95)](https://github.com/vitest-dev/vitest/commit/66d95af84) - **pool**: - Vm pools to res _[Truncated at 4000 characters — full notes: https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-beta.7]_ ### v5.0.0-beta.6 - Date: 2026-07-06 - Version: v5.0.0-beta.6 - Original notes: https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-beta.6 - Permalink: https://whatsnew.fyi/product/vitest/releases/v5.0.0-beta.6 - Labels: Pre-release - **added** — Create vi.when() for conditional mocking - **removed** — Remove webdriverio package - **removed** — Clear mocks by default before each test - **changed** — Add screenshotDirectory config to browser.expect.toMatchScreenshot - **changed** — Update @sinonjs/fake-timers and support mocking Temporal - **changed** — Write json and junit reporter output files to .vitest by default - **changed** — Change html reporter default output to .vitest - **changed** — Harden UI API access - **fixed** — Fix setImmediate await in detect-async-leak - **fixed** — Fix per-project sequence config - **fixed** — Add handshake timeout to iframe communication - **fixed** — Don't print column in test names when includeTaskLocation is enabled - **fixed** — Always derive a positive locator action timeout in browser - **fixed** — Resize the browser ui only if it's not headless - **fixed** — Check fs access in builtin commands - **fixed** — Fix non-awaited module imports causing wrong offsets in coverage - **fixed** — Fail fast when coverage.reportsDirectory conflicts between concurrent runs - **fixed** — Improve error message when worker exits unexpectedly - **fixed** — Allow changed in configuration options - **fixed** — Fix external module resolve error with deps optimizer query for encoded URI ######    🚨 Breaking Changes - Add `screenshotDirectory` config to `browser.expect.toMatchScreenshot`  -  by @macarie in https://github.com/vitest-dev/vitest/issues/10592 [(a60de)](https://github.com/vitest-dev/vitest/commit/a60ded0fb) - Update `@sinonjs/fake-timers` and support mocking `Temporal`  -  by @hi-ogawa, **Hiroshi Ogawa** and **OpenCode (claude-opus-4-8)** in https://github.com/vitest-dev/vitest/issues/10654 [(f8b15)](https://github.com/vitest-dev/vitest/commit/f8b1532fe) - Remove webdriverio package  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10675 [(5fed6)](https://github.com/vitest-dev/vitest/commit/5fed68f72) - Clear mocks by default before each test  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10613 [(0f646)](https://github.com/vitest-dev/vitest/commit/0f6463bf2) - Don't emit localStorage warnings on Node 26, fail gracefully when worker fails to start  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10293 [(334ed)](https://github.com/vitest-dev/vitest/commit/334edef92) - **reporters**: - Write json and junit reporter output files to `.vitest` by default  -  by @hi-ogawa, **Hiroshi Ogawa**, **OpenCode (claude-opus-4-8)** and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/10621 [(58577)](https://github.com/vitest-dev/vitest/commit/58577290a) - **ui**: - Harden UI API access  -  by @hi-ogawa, **Hiroshi Ogawa** and **Codex** in https://github.com/vitest-dev/vitest/issues/10583 [(4c26d)](https://github.com/vitest-dev/vitest/commit/4c26d7675) - Change html reporter default output to `.vitest`  -  by @hi-ogawa and **Hiroshi Ogawa** in https://github.com/vitest-dev/vitest/issues/10620 [(29c36)](https://github.com/vitest-dev/vitest/commit/29c364d50) ######    🚀 Features - **vitest**: Create `vi.when()`  -  by @macarie in https://github.com/vitest-dev/vitest/issues/10174 [(3900e)](https://github.com/vitest-dev/vitest/commit/3900e6349) ######    🐞 Bug Fixes - Fix `setImmediate` await in detect-async-leak  -  by @hi-ogawa and **Hiroshi Ogawa** in https://github.com/vitest-dev/vitest/issues/10608 [(dd62b)](https://github.com/vitest-dev/vitest/commit/dd62b84e0) - Fix per-project `sequence` config  -  by @hi-ogawa, **Hiroshi Ogawa** and **OpenCode (claude-opus-4-8)** in https://github.com/vitest-dev/vitest/issues/10659 [(40cdc)](https://github.com/vitest-dev/vitest/commit/40cdc7fd6) - Add handshake timeout to iframe communication  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10656 [(3545f)](https://github.com/vitest-dev/vitest/commit/3545fe78f) - Don't print column in test names when `includeTaskLocation` is enabled  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10681 [(bd9cc)](https://github.com/vitest-dev/vitest/commit/bd9cc9d8d) - **browser**: - Always derive a positive locator action timeout  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10626 [(5b864)](https://github.com/vitest-dev/vitest/commit/5b8642120) - Resize the browser ui only if it's not headless  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10662 [(b5c61)](https://github.com/vitest-dev/vitest/commit/b5c613051) - Check fs access in builtin commands  -  by @hi-ogawa, **Hiroshi Ogawa** and **OpenCode (claude-opus-4-8)** in https://github.com/vitest-dev/vitest/issues/10674 [(33f96)](https://github.com/vitest-dev/vitest/commit/33f96a145) - **coverage**: - Non-awaited module imports cause wrong offsets  -  by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/10643 [(5c18d)](https://github.com/vitest-dev/vitest/commit/5c18dd267) - **vm**: Fix external module resolve error with deps optimizer query for encoded URI [backport to v4]  -  by @SveLil and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/10661 [(bae52)](https://github.com/vitest-dev/vitest/commit/bae52b511) ######     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.1.9...v4.1.10) ### v3.2.7 - Date: 2026-07-06 - Version: v3.2.7 - Original notes: https://github.com/vitest-dev/vitest/releases/tag/v3.2.7 - Permalink: https://whatsnew.fyi/product/vitest/releases/v3.2.7 - **fixed** — Check fs access in builtin commands for browser ######    🐞 Bug Fixes - **browser**: Check fs access in builtin commands [backport to v3]  -  by @hi-ogawa, **Hiroshi Ogawa** and **OpenCode (claude-opus-4-8)** in https://github.com/vitest-dev/vitest/issues/10679 [(b795e)](https://github.com/vitest-dev/vitest/commit/b795e36b3) ######     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v3.2.6...v3.2.7) ### v4.1.9 - Date: 2026-06-16 - Version: v4.1.9 - Original notes: https://github.com/vitest-dev/vitest/releases/tag/v4.1.9 - Permalink: https://whatsnew.fyi/product/vitest/releases/v4.1.9 - **fixed** — Fix importOriginal with optimizer and query import - **fixed** — Wait for orchestrator readiness before resolving browser sessions - **fixed** — Wait for iframe tester readiness before preparing - **fixed** — Hoist vi.mock() for vite-plus/test imports - **fixed** — Prevent test run hang on worker crash ###### 🐞 Bug Fixes - Fix `importOriginal` with optimizer and query import [backport to v4] - by **Hiroshi Ogawa**, **David Harris**, **Codex**and **Vladimir** in https://github.com/vitest-dev/vitest/issues/10546 [(a5180)](https://github.com/vitest-dev/vitest/commit/a5180190c) - **browser**: - Wait for orchestrator readiness before resolving browser sessions [backport to v4] - by **Vladimir** and **Séamus O'Connor** in https://github.com/vitest-dev/vitest/issues/10555 [(7fb29)](https://github.com/vitest-dev/vitest/commit/7fb29651a) - Wait for iframe tester readiness before preparing [backport to v4] - by **Vladimir** and **Séamus O'Connor** in https://github.com/vitest-dev/vitest/issues/10497 and https://github.com/vitest-dev/vitest/issues/10556 [(fbc62)](https://github.com/vitest-dev/vitest/commit/fbc626c40) - **mocker**: - Hoist vi.mock() for vite-plus/test imports [backport to v4] - by **Hiroshi Ogawa**, **LongYinan**, **Claude Opus 4.8** and **Vladimir** in https://github.com/vitest-dev/vitest/issues/10548 [(2c955)](https://github.com/vitest-dev/vitest/commit/2c9559c02) - **pool**: - Prevent test run hang on worker crash [backport to v4] - by **Ari Perkkiö** and **Jattioui Ismail** in https://github.com/vitest-dev/vitest/issues/10543 and https://github.com/vitest-dev/vitest/issues/10564 [(934b0)](https://github.com/vitest-dev/vitest/commit/934b0f587) ###### [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.1.8...v4.1.9) ### v5.0.0-beta.5 - Date: 2026-06-15 - Version: v5.0.0-beta.5 - Original notes: https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-beta.5 - Permalink: https://whatsnew.fyi/product/vitest/releases/v5.0.0-beta.5 - Labels: Pre-release - **removed** — Don't lookup config file from ancestor directories - **removed** — Inline @vitest/runner package, do not publish it anymore - **changed** — Allow mutating happy-dom/jsdom window object - **changed** — Expose concurrencyId/workerId on TestModule's diagnostics, make id 1-based - **changed** — Require sessionId for orchestrator html request in browser mode - **changed** — Allow thresholds.perFile to accept an object in coverage - **added** — Display nested mark trace in UI in browser mode - **added** — Add --repeats CLI option - **added** — Allow thresholds.autoUpdate to receive previous threshold as argument in coverage - **fixed** — Fix mixed stdout/stderr log timestamps in onUserConsoleLog - **fixed** — Fix importOriginal with optimizer and query import - **fixed** — Correct transform time calculation in merged report - **fixed** — Wait for orchestrator readiness before resolving browser sessions - **fixed** — Wait for iframe tester readiness before preparing - **fixed** — Encode iframeId in tester iframe URL - **fixed** — Avoid matching sibling project roots in coverage - **fixed** — Hoist vi.mock() for vite-plus/test imports - **fixed** — Prevent test run hang on worker crash - **fixed** — Strip non-serializable functions from inline diff config ######    🚨 Breaking Changes - Don't lookup config file from ancestor directories  -  by @hi-ogawa, **Codex** and **Hiroshi Ogawa** in https://github.com/vitest-dev/vitest/issues/10428 [(945d9)](https://github.com/vitest-dev/vitest/commit/945d9090e) - Inline `@vitest/runner` package, do not publish it anymore  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10511 [(6d6e4)](https://github.com/vitest-dev/vitest/commit/6d6e46b1e) - Allow mutating happy-dom/jsdom window object  -  by @hi-ogawa, **Hiroshi Ogawa** and **Codex** in https://github.com/vitest-dev/vitest/issues/10373 [(206e8)](https://github.com/vitest-dev/vitest/commit/206e8cff8) - Expose `concurrencyId`/`workerId` on TestModule's diagnostics, make id 1-based  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10516 [(bdd98)](https://github.com/vitest-dev/vitest/commit/bdd985433) - **browser**: Require `sessionId` for orchestrator html request  -  by @hi-ogawa, **Hiroshi Ogawa** and **Codex** in https://github.com/vitest-dev/vitest/issues/10522 [(79b7d)](https://github.com/vitest-dev/vitest/commit/79b7d8fcc) - **coverage**: Allow `thresholds.perFile` to accept an object  -  by @vladlenskiy and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/10190 [(13b78)](https://github.com/vitest-dev/vitest/commit/13b78d98b) ######    🚀 Features - **browser**: Display nested mark trace in UI  -  by @hi-ogawa, **Hiroshi Ogawa** and **Codex** in https://github.com/vitest-dev/vitest/issues/10437 [(86ffc)](https://github.com/vitest-dev/vitest/commit/86ffc8ac6) - **cli**: Add `--repeats` CLI option  -  by @todor-a in https://github.com/vitest-dev/vitest/issues/10504 [(ee48b)](https://github.com/vitest-dev/vitest/commit/ee48b959e) - **coverage**: `thresholds.autoUpdate` to receive previous threshold as argument  -  by @wouterkroes in https://github.com/vitest-dev/vitest/issues/10495 [(04f81)](https://github.com/vitest-dev/vitest/commit/04f81854f) ######    🐞 Bug Fixes - Fix mixed stdout/stderr log timestamps in `onUserConsoleLog`  -  by @Copilot, **Hiroshi Ogawa**, @hi-ogawa and @sheremet-va in https://github.com/vitest-dev/vitest/issues/10308 [(62756)](https://github.com/vitest-dev/vitest/commit/627565475) - Fix `importOriginal` with optimizer and query import  -  by @davidhwilliams, **David Harris**, @hi-ogawa, **Hiroshi Ogawa** and **Codex** in https://github.com/vitest-dev/vitest/issues/10469 [(6a3bb)](https://github.com/vitest-dev/vitest/commit/6a3bb02e0) - Correct transform time calculation in merged report  -  by @potatomatoooo and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/10570 and https://github.com/vitest-dev/vitest/issues/10578 [(b7897)](https://github.com/vitest-dev/vitest/commit/b78972892) - **browser**: - Wait for orchestrator readiness before resolving browser sessions  -  by @soconnor-seeq in https://github.com/vitest-dev/vitest/issues/10397 [(fe5ed)](https://github.com/vitest-dev/vitest/commit/fe5ed6bc7) - Wait for iframe tester readiness before preparing  -  by @soconnor-seeq in https://github.com/vitest-dev/vitest/issues/10497 [(f2655)](https://github.com/vitest-dev/vitest/commit/f26552c63) - Encode iframeId in tester iframe URL  -  by @Pduhard, **Pduhard** and **Claude Opus 4.8 (1M context)** in https://github.com/vitest-dev/vitest/issues/10520 and https://github.com/vitest-dev/vitest/issues/10521 [(c8bf1)](https://github.com/vitest-dev/vitest/commit/c8bf19f66) - **coverage**: - Avoid matching sibling project roots  -  by @innoprej, **Shin JaeHee** and @AriPerkkio in https://github.com/vitest-dev/vitest/ _[Truncated at 4000 characters — full notes: https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-beta.5]_ ### v3.2.6 - Date: 2026-06-01 - Version: v3.2.6 - Original notes: https://github.com/vitest-dev/vitest/releases/tag/v3.2.6 - Permalink: https://whatsnew.fyi/product/vitest/releases/v3.2.6 - **fixed** — Pin last supported vite-node version ######    🐞 Bug Fixes - Pin last supported vite-node version  -  by @sheremet-va [(16f12)](https://github.com/vitest-dev/vitest/commit/16f120d05) ######     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v3.2.5...v3.2.6) ### v5.0.0-beta.4 - Date: 2026-06-01 - Version: v5.0.0-beta.4 - Original notes: https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-beta.4 - Permalink: https://whatsnew.fyi/product/vitest/releases/v5.0.0-beta.4 - Labels: Pre-release - **removed** — Throw an error if hoistable methods are outside the top level scope - **changed** — toHaveTextContent is strict, add toMatchTextContent as alternative - **changed** — Rewrite the benchmark public API - **changed** — Enable locators.exact by default in browser mode - **added** — Show trace view steps in editor panel in browser mode - **added** — Support html reporter single file output - **fixed** — Preserve vi.defineHelper callsite for async error stack - **fixed** — Respect disableConsoleIntercept in browser mode - **fixed** — ForceRerunTriggers uses directory globs against files - **fixed** — Unify typechecking and ast collection - **fixed** — Don't print typecheck warning more than once - **fixed** — Correct column when parsing tests - **fixed** — Fix stale source map on watch mode in browser - **fixed** — Escape inline orchestrator scripts in browser - **fixed** — Disable client CDP API when allowWrite/allowExec: false in browser - **fixed** — Skip hoist transform without ast mock calls in mocker - **fixed** — Fix module graph in browser mode with --ui - **fixed** — Render ANSI color codes in editor panel inline error widget in UI - **fixed** — Allow gpu in headless chrome in webdriverio - **changed** — Improve performance in hot paths ######    🚨 Breaking Changes - Throw an error if hoistable methods are outside the top level scope  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10460 [(d0b4f)](https://github.com/vitest-dev/vitest/commit/d0b4fddcb) - `toHaveTextContent` is strict, add `toMatchTextContent` as alternative  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10473 [(18f30)](https://github.com/vitest-dev/vitest/commit/18f303079) - **benchmark**: Rewrite the public API  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10113 [(19f6e)](https://github.com/vitest-dev/vitest/commit/19f6e8947) - **browser**: Enable `locators.exact` by default  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10430 [(e2032)](https://github.com/vitest-dev/vitest/commit/e203202f9) ######    🚀 Features - **browser**: Show trace view steps in editor panel  -  by @hi-ogawa and **Codex** in https://github.com/vitest-dev/vitest/issues/10404 [(8c4b6)](https://github.com/vitest-dev/vitest/commit/8c4b6da02) - **reporter**: Support html reporter single file output  -  by @hi-ogawa, **Codex** and **Claude Opus 4.7 (1M context)** in https://github.com/vitest-dev/vitest/issues/10235 [(f757e)](https://github.com/vitest-dev/vitest/commit/f757ec5e6) ######    🐞 Bug Fixes - Preserve `vi.defineHelper` callsite for async error stack  -  by @macayu17 and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/10415 [(ac697)](https://github.com/vitest-dev/vitest/commit/ac6971ca2) - Respect `disableConsoleIntercept` in browser mode  -  by @Copilot, **hi-ogawa**, @hi-ogawa and **Codex** in https://github.com/vitest-dev/vitest/issues/10391 [(66110)](https://github.com/vitest-dev/vitest/commit/66110d271) - ForceRerunTriggers uses directory globs against files  -  by @Patrick-Clausen and **Patrick Clausen** in https://github.com/vitest-dev/vitest/issues/10421 and https://github.com/vitest-dev/vitest/issues/10420 [(4fee2)](https://github.com/vitest-dev/vitest/commit/4fee2e303) - Unify typechecking and ast collection  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10449 [(af993)](https://github.com/vitest-dev/vitest/commit/af993b66b) - Don't print typecheck warning more than once  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10461 [(15275)](https://github.com/vitest-dev/vitest/commit/152750ec0) - Correct collumn when parsing tests  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10467 [(7c2fc)](https://github.com/vitest-dev/vitest/commit/7c2fc133e) - **browser**: - Fix stale source map on watch mode  -  by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/10389 [(6d772)](https://github.com/vitest-dev/vitest/commit/6d772c800) - Escape inline orchestrator scripts  -  by @hi-ogawa and **Codex** in https://github.com/vitest-dev/vitest/issues/10412 [(c22cf)](https://github.com/vitest-dev/vitest/commit/c22cfb656) - Disable client `cdp` API when `allowWrite/allowExec: false`  -  by @hi-ogawa and **Codex** in https://github.com/vitest-dev/vitest/issues/10444 [(63e3b)](https://github.com/vitest-dev/vitest/commit/63e3b2eee) - **mocker**: - Skip hoist transform without ast mock calls  -  by @hi-ogawa and **Codex** in https://github.com/vitest-dev/vitest/issues/10410 [(0468e)](https://github.com/vitest-dev/vitest/commit/0468e1572) - **ui**: - Fix module graph in browser mode with --ui  -  by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/10386 [(3003c)](https://github.com/vitest-dev/vitest/commit/3003c4327) - Render ANSI _[Truncated at 4000 characters — full notes: https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-beta.4]_ ### v3.2.5 - Date: 2026-06-01 - Version: v3.2.5 - Original notes: https://github.com/vitest-dev/vitest/releases/tag/v3.2.5 - Permalink: https://whatsnew.fyi/product/vitest/releases/v3.2.5 - **added** — Add `allowWrite` and `allowExec` options to api - **fixed** — Disable client `cdp` API when `allowWrite/allowExec: false` ######    🚀 Features - **api**: Add `allowWrite` and `allowExec` options to `api` [backport to v3]  -  by @hi-ogawa and **Codex** in https://github.com/vitest-dev/vitest/issues/10445 [(af88b)](https://github.com/vitest-dev/vitest/commit/af88b1f5d) ######    🐞 Bug Fixes - **browser**: Disable client `cdp` API when `allowWrite/allowExec: false` [backport to v3]  -  by @hi-ogawa and **Codex** in https://github.com/vitest-dev/vitest/issues/10456 [(385a1)](https://github.com/vitest-dev/vitest/commit/385a1aefd) ######     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v3.2.4...v3.2.5) ### v4.1.8 - Date: 2026-06-01 - Version: v4.1.8 - Original notes: https://github.com/vitest-dev/vitest/releases/tag/v4.1.8 - Permalink: https://whatsnew.fyi/product/vitest/releases/v4.1.8 - **fixed** — Disable client cdp API when allowWrite/allowExec: false in browser - **fixed** — Remove orphaned Playwright route when same module is mocked via multiple ids ######    🐞 Bug Fixes - **browser**: - Disable client `cdp` API when `allowWrite/allowExec: false` [backport to v4]  -  by @hi-ogawa and **Codex** in https://github.com/vitest-dev/vitest/issues/10450 [(e4067)](https://github.com/vitest-dev/vitest/commit/e4067b3b1) - Remove orphaned Playwright route when same module is mocked via multiple ids [backport to v4]  -  by @toxik and @Zelys-DFKH in https://github.com/vitest-dev/vitest/issues/10474 [(675b4)](https://github.com/vitest-dev/vitest/commit/675b4343f) ######     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.1.7...v4.1.8)