Vitest
A v5 beta series landed with Node.js 22 and Vite 6.4 as minimum requirements, marking a significant step in the framework's evolution.1
Stricter browser testing defaults arrived in the v5 betas: locators.exact now defaults to true, toHaveTextContent became strict with a new toMatchTextContent alternative for partial matches, and locators shifted to an object representation instead of a string.2 The browser mode also gained a trace view for step-level inspection and ARIA tree output on locator errors to aid debugging.3
A cleaner concurrency model replaced the old sequential test and suite options, which were removed in favor of explicit concurrent: false.4 The runner also received a fix limiting concurrency per task branch in addition to per leaf callbacks, preventing runaway parallel execution in nested suites.5
TypeScript build mode support arrived in beta.3, letting projects that use tsc --build work with Vitest without additional configuration.6 The expect package was inlined, removing it as a separate dependency, and loupe.inspect was swapped out for pretty-format for cleaner output.78
Security controls for the API server were added across all active release lines: new allowWrite and allowExec options on the api config let teams explicitly gate file-system and exec access, with the browser CDP API respecting those flags too.9
The VS Code extension picked up Deno runtime support, a "run related tests" command, an option to enable watch mode on startup, and folder rename/delete/create handling in the test tree watcher.1011 Coverage preview for Vitest 3 projects and snapshot document symbols with folding support also shipped.1213