Back to Explore

vitest-dev/vitest

GitHub
12 updates · last 90 days1 watchersOpen source

Last release:

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

  • Actively maintained and active development: The repo shows a very recent upstream push (2026-09-09) and a steady stream of updates leading into a major version, indicating it is not in maintenance mode.
  • Cadence: Since early July 2026 there have been multiple tagged updates (beta, multiple release candidates, then a final major release), with especially frequent activity in late August and early September 2026 (several RCs within about 2-3 weeks, followed by v5.0.0).

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v5.0.0

    Vitest 5.0.0 is a major release focused on performance and a broad set of behavioral updates, including many documented breaking changes around test discovery, mocking, configuration defaults, and browser support. The included release notes also call out new reporting conventions, improved types, and multiple UI enhancements.

    BreakingFeatures
  • v5.0.0-rc.4

    Vitest v5.0.0-rc.4 shifts test collection for `vitest list` to static parsing by default, and promotes `clearCache` out of the experimental API surface. The release also includes several browser runner and VM runtime fixes, including improved timeout/error reporting and more reliable module linking behavior.

    BreakingFeatures
  • v5.0.0-rc.3

    Vitest v5.0.0-rc.3 focuses on stabilizing and expanding previously experimental and/or UI-adjacent features. The release notes highlight `parseSpecifications` promotion, coverage provider switching to `@vitest/istanbuljs`, and several UI trace/explorer improvements, alongside multiple bug fixes and performance improvements.

    Features
  • v4.1.11

    v4.1.11 is a bug fix release focused on Vitest browser behavior and test lifecycle stability. Documented changes include reviving the global concurrency limit for tests, encoding iframeId in the tester iframe URL, triggering Playwright/Chromium GC under low disk availability, and tightening redirect mocks to the fs allowlist.

    Security
  • v5.0.0-rc.2

    This is a v5.0.0-rc.2 release candidate with no publisher-provided release notes included. Because no change log details are available, there is not enough information to assess potential breaking changes, new features, or fixes from the release notes.

  • v5.0.0-rc.1

    v5.0.0-rc.1 introduces multiple breaking changes around test project configuration, including how inline projects resolve and inherit root config, and how inline projects may share a Vite server. It also changes test behavior for un-awaited async assertions and improves mocking and type support (Temporal mocking, class mock prototype preservation, promise-aware expects).

    BreakingFeatures
  • v5.0.0-beta.7

    v5.0.0-beta.7 focuses on config-resolution refactoring, plus a set of performance improvements around prewarming and caching. The release notes document one breaking change, several new options, and multiple browser/coverage/pool optimizations.

    BreakingFeatures
  • 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.

    BreakingFeatures
  • v4.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.

    Security
  • v4.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.

    BreakingFeatures
  • v3.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.

    BreakingSecurityFeatures
  • v5.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.

    BreakingFeatures
  • v3.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.

    Features
  • v4.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.

    BreakingFeatures
  • v4.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`.

    Features
  • v5.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.

    BreakingFeatures