---
name: Vitest
slug: vitest
domain: vitest.dev
description: Vite-native unit test framework with a Jest-compatible API, native ESM/TypeScript/JSX support, watch mode, and a browser mode for component testing.
category: developer-tools
sources: 3
total_releases: 222
releases_last_30d: 5
avg_releases_per_week: 1.2
last_updated: 2026-10-15
tracking_since: 2024-09-13
canonical: https://releases.sh/vitest
overview_url: https://releases.sh/vitest/overview.md
accounts:
  bluesky: "vitest.dev"
  github: "vitest-dev"
  x: "vitest_dev"
---

## Overview

Recently shipped Vitest 5.0.4 with trace-view selector highlighting, a `--changed` test count, and a `test.ui.theme` option.

**Trace view got sharper.** When several elements match a selector in trace view, each match is now highlighted. The attempts selector sits in the viewer header, with a focused layout mode that collapses surrounding chrome. Trace state persists across keyboard navigation of steps, with links out to Playwright traces, and the VS Code extension opens trace view directly.

**`--changed` now says how much it touched.** Runs print the number of affected tests plus a total.

**Config and defaults kept moving.**
- A `test.ui.theme` option sets the UI theme.
- Cache directories can be tagged with `CACHEDIR.TAG`.
- Assertion inspection uses pretty-format; `test.for/each` `$` titles no longer quote string values.
- Attachments moved to `.vitest/attachments/`.
- Nested projects are supported, `clearCache` and `parseSpecifications` graduated out of experimental, and coverage runs on `@vitest/istanbuljs`.

**Patch wrap-up.** v5.0.2 and v5.0.3 bound `process` when a global overwrites it, fixed `toMatchObject` with asymmetric matchers, isolated `result.status` between `repeats` runs, and stopped retrying when `test.fails` already failed. The VS Code extension no longer crashes on newer editor versions.

<Source name="Blog" slug="blog" type="scrape" releases="0" url="https://releases.sh/vitest/blog" />
<Source name="vitest" slug="vitest" type="github" releases="116" latest-version="v5.0.4" latest-date="2026-10-12T09:37:37.000Z" primary="true" url="https://releases.sh/vitest/vitest" />
<Source name="vscode" slug="vscode" type="github" releases="106" latest-version="v1.52.2" latest-date="2026-09-30T12:36:58.000Z" url="https://releases.sh/vitest/vscode" />

## Recent Releases

_Summaries below — fetch the release's `canonical` URL for full content, or `url` for the original source._

<Release source="vitest" version="v5.0.4" date="October 12, 2026" published="2026-10-12T09:37:37.000Z" url="https://github.com/vitest-dev/vitest/releases/tag/v5.0.4" canonical="https://releases.sh/release/rel_aLIOU8UvgCo1qgq-_a__P" truncated="true">
fsModuleCache is now enabled by default, and the trace viewer gains fit and zoom controls plus highlighting of multiple selector matches. Fixed coverage memory leaks, V8 browser leak between test files, module mock resolution in directories with spaces, and Map/Set deep equality in assertions.
</Release>

<Release source="vscode" version="v1.52.2" date="September 30, 2026" published="2026-09-30T12:36:58.000Z" url="https://github.com/vitest-dev/vscode/releases/tag/v1.52.2" canonical="https://releases.sh/release/rel_nQoQ30-FQyS1vqqZk2Kpz" truncated="true">
*No significant changes*

##### &nbsp;&nbsp;&nbsp;&nbsp;[View changes on GitHub](https://github.com/vitest-dev/vscode/compare/v1.52.1...v1.52.2)
</Release>

<Release source="vitest" version="v5.0.3" date="September 30, 2026" published="2026-09-30T11:25:52.000Z" url="https://github.com/vitest-dev/vitest/releases/tag/v5.0.3" canonical="https://releases.sh/release/rel_59vwh8i4qg9_5_CsleC_0" truncated="true">
Fixed result.status leaking between repeats runs and mock path boundary checks in browser mode, where configs of browser-consumed environments are now kept and the server listen is delayed until tests start. Also revalidates imports of cached modules and scopes cache key generators to projects.
</Release>

<Release source="vscode" version="v1.52.1" date="September 25, 2026" published="2026-09-25T18:18:56.000Z" url="https://github.com/vitest-dev/vscode/releases/tag/v1.52.1" canonical="https://releases.sh/release/rel_8FKMM2xLOklMxlEbqLT1W" truncated="true">
Fixes a crash occurring in the new VS Code version, prevents failures on unexpected coverage output, and corrects watcher scoping and setup timing.
</Release>

<Release source="vitest" version="v5.0.2" date="September 25, 2026" published="2026-09-25T08:58:17.000Z" url="https://github.com/vitest-dev/vitest/releases/tag/v5.0.2" canonical="https://releases.sh/release/rel_j4PinFfvNKkg7FY8oHz7z" truncated="true">
Fixed toMatchObject handling of asymmetric matchers and a stack overflow when spying Set.prototype.add. Also fixes jsdom 28+ Request with Blob body, concurrent createReport calls, agent reporter --silent, and UI auth cookie persistence.
</Release>

<Release source="vitest" version="v5.0.1" date="September 15, 2026" published="2026-09-15T08:43:24.000Z" url="https://github.com/vitest-dev/vitest/releases/tag/v5.0.1" canonical="https://releases.sh/release/rel_i7jkJlbmo2_RvsjFjOj1f" truncated="true">
vitest list now exits with code 1 when collection fails, parse error details are preserved in static collection, and deepMerge no longer mishandles prototypes. Also adds a focused trace view layout mode and a trace attempts selector in the UI header, plus a warning when the deprecated deps.optimizer.web is used.
</Release>

<Release source="vscode" version="v1.52.0" date="September 9, 2026" published="2026-09-09T10:55:25.000Z" url="https://github.com/vitest-dev/vscode/releases/tag/v1.52.0" canonical="https://releases.sh/release/rel_ogH62Rck_TBPGLpfVIGu6" truncated="true">
Adds a trace view for debugging and fixes compatibility with Vitest 5's `testNamePattern`. Also fixes an issue with the legacy AST collector ignoring computed member calls from esbuild's `using` helper.
</Release>

<Release source="vitest" version="v5.0.0" date="September 3, 2026" published="2026-09-03T12:19:51.000Z" url="https://github.com/vitest-dev/vitest/releases/tag/v5.0.0" canonical="https://releases.sh/release/rel_k6yGwn1x4sYT4X0wDKq4x" truncated="true">
Vitest 5 is officially out! This release focuses on performance and brings a lot of new features while fixing long-standing bugs. See our [blog post](...
</Release>

<Release source="vitest" version="v4.1.11" date="August 18, 2026" published="2026-08-18T14:21:05.000Z" url="https://github.com/vitest-dev/vitest/releases/tag/v4.1.11" canonical="https://releases.sh/release/rel_R4XMOQ7_9-5yWyfR3Cv3z" truncated="true">
Revived the global concurrency limit for test lifecycle in a backport to v4. Also backported fixes that encode iframeId in tester iframe URLs, trigger playwright/chromium gc on low disk availability, and restrict redirect mocks to the fs allowlist.
</Release>

<Release source="vscode" version="v1.50.8" date="July 20, 2026" published="2026-07-20T07:52:57.000Z" url="https://github.com/vitest-dev/vscode/releases/tag/v1.50.8" canonical="https://releases.sh/release/rel_ELE8X6bjMZ1swA8SHVOH6" truncated="true">
Diagnostic entries are now tagged with source="Vitest" instead of the default, making them identifiable in the Problems panel and other tooling.
</Release>

## Fetching more

Append `.md` (markdown), `.json` (raw data), or `.atom` (feed) to any URL on this page.

- Per-source history: `https://releases.sh/vitest/{source-slug}`
- Atom feed: `https://releases.sh/vitest.atom`
- Individual release: `https://releases.sh/release/{release-id}`
