Catalog / Vitest

Vitest 3 to 4

Every Vitest 4.x release the archive holds, 31 of them, starting at 4.0.0 and running to 4.1.11. The publisher writes these one at a time and its documentation describes the version you are on, so the run between two majors is not laid out anywhere as a list.

Releases
3131 carry notes
Opened
22 Oct 202510 months ago
Span
10 monthsto 18 Aug 2026
Breaking
1tagged by the publisher
Advisories closed
5security

The turn

The last 3.x release the archive holds before the turn is 3.2.4, on 17 Jun 2025. 4.0.0 followed 127 days later. 3.x did not stop there. 3 more 3.x releases shipped after 4.0.0 opened, the last of them on 6 Jul 2026, so both lines were being maintained at once.

Tagged breaking

1 of these releases carries the breaking label: 4.0.0. The label is matched from words in the publisher’s own notes, so a release that changed an API without using the word does not carry it.

Every 4.x release

All Vitest releases
4.1.11fixed

🐞 Bug Fixes Revive global concurrency limit for test lifecycle [backport to v4] - by @sheremet-va and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/10992 (5146d) browser: Encode iframeId in tester iframe URL [backport to v4] - b

4.1.10fixed

🐞 Bug Fixes browser: Check fs access in builtin commands [backport to v4] - by @hi-ogawa, Hiroshi Ogawa and OpenCode (claude-opus-4-8) in https://github.com/vitest-dev/vitest/issues/10680 (5c18d) vm: Fix external module resolve error with

4.1.9fixed

🐞 Bug Fixes Fix importOriginal with optimizer and query import [backport to v4] - by Hiroshi Ogawa, David Harris, Codexand Vladimir in https://github.com/vitest-dev/vitest/issues/10546 (a5180) browser: Wait for orchestrator readiness befor

4.1.8fixed

🐞 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) Remove orphaned Playwright route when same module is mocked

4.1.7fixed

🐞 Bug Fixes runner: Limit concurrency per task branch in addition to per leaf callbacks (backport) - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/10384 (4f0f2) View changes on GitHub

4.1.6fixed

🐞 Bug Fixes browser: Provide project reference in ToMatchScreenshotResolvePath - by @macarie and @sheremet-va in https://github.com/vitest-dev/vitest/issues/10138 (31882) Global sequence.concurrent: true with top-level test(..., { concurre

4.1.5fixedremoved

πŸš€ Experimental Features coverage: Istanbul to support instrumenter option - by @BartWaardenburg and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/10119 (0e0ff) 🐞 Bug Fixes --project negation excludes browser instances - by @f

4.1.4addedfixed

πŸš€ Experimental Features coverage: Default to text reporter skipFull if agent detected - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/10018 (53757) experimental: Expose assertion as a public field - by @sheremet-va in https:/

4.1.3addedfixedchanged

πŸš€ Experimental Features Add experimental.preParse flag - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10070 (78273) Support browser.locators.exact option - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10

4.1.2fixedremoved

This release bumps Vitest's flatted version and removes version pinning to resolve flatted's CVE related issues (https://github.com/vitest-dev/vitest/issues/9975). 🐞 Bug Fixes Don't resolve setupFiles from parent directory - by @hi-ogawa i

4.1.1addedfixed

πŸš€ Features experimental: Expose matchesTags to test if the current filter matches tags - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9913 (eec53) Introduce experimental.vcsProvider - by @sheremet-va in https://github.com

4.1.0addedfixedchanged

Vitest 4.1 is out! This release page lists all changes made to the project during the 4.1 beta. To get a review of all the new features, read our blog post. πŸš€ Features Return a disposable from doMock() - by @kirkwaiblinger in https://githu

4.0.18addedfixed

πŸš€ Experimental Features experimental: Add onModuleRunner hook to worker.init - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9286 (ea837) 🐞 Bug Fixes Use meta.url in createRequire - by @sheremet-va in https://github.com/v

4.0.17addedfixedchanged

πŸš€ Experimental Features Support openTelemetry for browser mode - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/9180 (1ec3a) Support TRACEPARENT and TRACESTATE environment variables for OpenTelemetry context propagation - by @

4.0.16fixeddeprecated

🐞 Bug Fixes Fix browser mode default testTimeout back to 15 seconds - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/9167 (da0ad) Avoid crashing on process.versions stub - by @AriPerkkio in https://github.com/vitest-dev/vitest

4.0.15addedfixedchanged

πŸš€ Experimental Features cache: Add opt-out on a plugin level, fix internal root cache - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9154 (a68f7) reporters: Print import duration breakdown - by @sheremet-va in https://git

4.0.14addedfixed

πŸš€ Experimental Features browser: Expose utils.configurePrettyDOM - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9103 (2cc34) runner: Add full names to tasks - by @macarie in https://github.com/vitest-dev/vitest/issues/908

4.0.13fixed

🐞 Bug Fixes types: Don't use type from Vite 7.1 - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9071 (6356b) Don't import node.js dependent types in vitest/browser - by @sheremet-va in https://github.com/vitest-dev/vitest/

4.0.12fixed

🐞 Bug Fixes Inherit fsModuleCachePath by default - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9063 (9a8bc) Don't import from @opentelemetry/api in public types - by @sheremet-va in https://github.com/vitest-dev/vitest/i

4.0.11added

πŸš€ Experimental Features api: Add extensible test artifact API - by @macarie in https://github.com/vitest-dev/vitest/issues/8987 (77292) See more at https://vitest.dev/api/advanced/artifacts expect: Provide task in MatchState - by @macarie

4.0.10addedfixed

🐞 Bug Fixes Remove onCancel when worker is terminated - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9033 (6d7f0) browser: Don't scale the iframe if UI is disabled - by @sheremet-va in https://github.com/vitest-dev/vitest

4.0.9addedfixed

πŸš€ Experimental Features expect: Add Set support to toBeOneOf - by @tim-we and @sheremet-va in https://github.com/vitest-dev/vitest/issues/8906 (a415d) 🐞 Bug Fixes browser: Add favicon icons to the browser mode ui - by @userquin in https:/

4.0.8fixedchanged

🐞 Bug Fixes Workaround noExternal merging bug on Vite 6 - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/8950 (bcb13) Missed context.d.ts file - by @termorey in https://github.com/vitest-dev/vitest/issues/8965 (9044d) Incorrec

4.0.7addedfixeddeprecated

🐞 Bug Fixes Bind process in case global is overwritten - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8916 (6240d) Create environment once per worker with isolate: false - by @sheremet-va in https://github.com/vitest-dev/v

4.0.6fixedchanged

🐞 Bug Fixes Don't merge errors with different diffs for reporting - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/8871 (3e19f) Do not throw when importing a type from an external package - by @sheremet-va in https://github.co

4.0.5fixed

🐞 Bug Fixes Respect ssr.noExternal when externalizing dependencies, fix Svelte and Astro - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8862 (a4f86) Allow module in --config - by @sheremet-va in https://github.com/vitest-

4.0.4addedfixed

🐞 Bug Fixes browser: Correct typo - by @benmccann in https://github.com/vitest-dev/vitest/issues/8796 (ede1f) Publish a missing context file for webdriverio - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8824 (7c7b6) mock

4.0.3fixed

🐞 Bug Fixes Preserve reporter options from config when CLI reporters override them - by @Copilot and sheremet-va in https://github.com/vitest-dev/vitest/issues/8794 (15552) browser: More stable in-source testing validation - by @sheremet-v

4.0.2fixeddeprecated

🐞 Bug Fixes browser: Don't print the deprecation notice in node_modules - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8779 (588f7) pool: Assign envs before running tests to keep in sync with process.env - by @sheremet-va

4.0.1fixed

🐞 Bug Fixes Move the getBuiltins check - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8765 (81000) pool: Don't teardown the communication channel too soon if something is running after the test - by @sheremet-va in https:

4.0.0breakingaddedfixed

Vitest 4.0 is out! To stay updated, read our blog post and check the migration guide. 🚨 Breaking Changes Remove 'basic' reporter - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7884 (82fcf) Simplify default exclude pattern