Vitest is a next-generation JavaScript testing framework powered by Vite. It integrates with Vite’s configuration and plugins, provides Jest-compatible assertions and mocking, and supports features like smart watch mode, code coverage, DOM/browser testing modes, and running tests in the browser.
Project status
- Vitest (vitest-dev/vitest) appears actively maintained, with an upstream push today (2026-07-09) and multiple recent
v5.0.0-beta.*updates in late June and early July 2026. - Update cadence looks fairly steady for a major-cycle beta, with several
updatesacross June 1 to July 6 2026 (for example, beta.4 on 2026-06-01, beta.5 on 2026-06-15, beta.6 on 2026-07-06), suggesting ongoing development rather than maintenance-only work.
AI summary generated
Recent updates
v5.0.0-beta.6
v5.0.0-beta.6 includes several documented breaking changes around browser screenshot handling, fake timers, webdriverio removal, default mock clearing, and reporter output locations. It also introduces the new vi.when() feature, plus various smaller bug fixes and test UI/coverage/pool improvements.
BreakingFeaturesv4.1.10
Release v4.1.10 release notes document two bug fixes: a browser-related filesystem access check in builtin commands, and a VM module resolve fix involving encoded URI handling during the deps optimizer query. However, the provided code diff content primarily shows repository and CI workflow changes, with no visible runtime/library code changes that correspond to those two specific issues.
v3.2.7
Release v3.2.7 is described as a small bug fix for browser file system access checks in builtin commands. However, the code diff shows substantial new API and browser API permission controls (write and exec gating), plus internal plumbing changes for V8 coverage collection.
Securityv4.1.9
v4.1.9 release notes are focused on bug fixes across browser session orchestration readiness, importing hoist behavior for mockers, and preventing test runs from hanging on worker crashes. The provided release notes do not mention any API surface changes or configuration gating changes beyond those readiness-related fixes.
v5.0.0-beta.5
Vitest v5.0.0-beta.5 focuses on browser runner and diagnostics changes, plus CLI and coverage enhancements. The documented breaking changes include stricter config lookup behavior, changes to browser orchestration requiring sessionId, inline handling of @vitest/runner in the browser build, and broader coverage perFile threshold typing.
BreakingFeaturesv3.2.6
v3.2.6 primarily updates Vitest documentation and internals around Vite node compatibility, described in the release notes as pinning the last supported vite-node version. However, the code diff also introduces new API security controls (api.allowWrite, api.allowExec, and corresponding browser.api options) that change runtime behavior for API operations, file writes, test execution, and CDP access.
BreakingSecurityFeaturesv5.0.0-beta.4
Vitest v5.0.0-beta.4 ships with several explicitly documented breaking changes around hoistable method placement, text-content matcher strictness, a major benchmark API rewrite, and browser locator behavior (locators.exact). The release notes also include new browser/UI and reporter features, plus multiple bug fixes and performance improvements. However, the provided diff indicates additional API and behavioral changes not mentioned in the release notes.
BreakingFeaturesv3.2.5
v3.2.5 introduces new API permission options `allowWrite` and `allowExec` to control whether Vitest API clients can modify files and trigger test execution. The browser/UI side also enforces these permissions, including disabling privileged CDP usage when execution and/or write permissions are disabled.
Featuresv4.1.8
v4.1.8 is presented as a browser-mode bugfix release. The documented changes address CDP client behavior when write/exec permissions are disabled, and prevent an orphaned Playwright route when the same module is mocked under multiple ids.
v4.1.7
v4.1.7 is a small release focused on a runner concurrency fix. The change adjusts how Vitest limits parallel execution for concurrent suite children, aiming to prevent excessive overlap and improve lifecycle ordering.
v5.0.0-beta.3
Vitest v5.0.0-beta.3 introduces new browser tracing and diagnostics capabilities (notably trace markers customization and exposing console logs through the API). It also contains at least two documented breaking changes: higher runtime requirements (Node 22, Vite 6.4) and a stricter `expect.poll` timeout behavior. The diff shown in the repository, however, indicates additional API removals and type signature changes that are not mentioned in the release notes.
BreakingFeaturesv4.1.6
Vitest v4.1.6 ships a set of bug fixes around browser screenshot utilities and global sequence concurrency behavior, plus a performance tweak to avoid redundant diff object stringification. It also deprecates the `test.sequential` and `describe.sequential` APIs in favor of using `concurrent: false`.
Featuresv5.0.0-beta.2
Vitest v5.0.0-beta.2 includes several breaking API and behavioral changes around concurrency, locator handling for browser commands, and default filesystem paths for attachments and blob reports. It also adds new config-driven behavior (exposing default reporters via configDefaults) and coverage improvements for Node child_process and worker_threads contexts. While the release notes cover the headline breaking changes, the diff also suggests additional user-visible behavior around blob report labeling that is not mentioned.
BreakingFeaturesv5.0.0-beta.1
v5.0.0-beta.1 focuses on improved browser debugging and reporting, adding createReport support (with a standardized .vitest artifact directory convention) and an experimental browser.traceView mode that captures DOM snapshots for trace viewing. It also adds browser ARIA tree utilities and includes multiple documented breaking changes around assertion formatting, browser iframe scaling, and expect behavior.
BreakingFeaturesv4.1.5
Vitest v4.1.5 ships an experimental coverage change for the Istanbul provider by adding support for a custom instrumenter factory. It also includes a set of bug fixes across reporters, assertions, snapshot output sizing, browser/web-worker behavior, and several UX/documentation improvements.
Features