Catalog / Testing

Vitest changelog

Test runner for JavaScript and TypeScript projects, using the Vite transform pipeline to load the files under test.

Latest
4.1.11
Shipped
18 Aug 202612 days ago
Collected
60 releasesback to 13 Nov 2024
Source
vitest-dev/vitest
Project
vitest.dev
Advisories
7 publishednewest 2026
Breaking
3 releasestagged by the publisher
Feed
RSS

Every release of a major line in one list, which is the one view the publisher never writes: 2 to 3, 3 to 4. Only the lines whose first release the archive holds are listed, because a partial major would read as the whole of one.

Read today, the first day on record. Collection status

Version history

4.x31 releases
4.1.11

🐞 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

fixed
4.1.10

🐞 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

fixed
4.1.9

🐞 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

fixed
4.1.8

🐞 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

fixed
4.1.7

🐞 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

fixed
4.1.6

🐞 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

fixed
4.1.5

🚀 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

fixedremoved
4.1.4

🚀 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:/

addedfixed
4.1.3

🚀 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

addedfixedchanged
4.1.2

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

fixedremoved
4.1.1

🚀 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

addedfixed
4.1.0

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

addedfixedchanged
4.0.18

🚀 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

addedfixed
4.0.17

🚀 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 @

addedfixedchanged
4.0.16

🐞 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

fixeddeprecated
4.0.15

🚀 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

addedfixedchanged
4.0.14

🚀 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

addedfixed
4.0.13

🐞 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/

fixed
4.0.12

🐞 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

fixed
4.0.11

🚀 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

added
4.0.10

🐞 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

addedfixed
4.0.9

🚀 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:/

addedfixed
4.0.8

🐞 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

fixedchanged
4.0.7

🐞 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

addedfixeddeprecated
4.0.6

🐞 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

fixedchanged
4.0.5

🐞 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-

fixed
4.0.4

🐞 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

addedfixed
4.0.3

🐞 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

fixed
4.0.2

🐞 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

fixeddeprecated
4.0.1

🐞 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:

fixed
4.0.0

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

breakingaddedfixed
3.x23 releases
3.2.7

🐞 Bug Fixes browser: Check fs access in builtin commands [backport to v3] - by @hi-ogawa, Hiroshi Ogawa and OpenCode (claude-opus-4-8) in https://github.com/vitest-dev/vitest/issues/10679 (b795e) View changes on GitHub

fixed
3.2.6

🐞 Bug Fixes Pin last supported vite-node version - by @sheremet-va (16f12) View changes on GitHub

fixed
3.2.5

🚀 Features api: Add allowWrite and allowExec options to api [backport to v3] - by @hi-ogawa and Codex in https://github.com/vitest-dev/vitest/issues/10445 (af88b) 🐞 Bug Fixes browser: Disable client cdp API when allowWrite/allowExec: fals

addedfixed
3.2.4

🐞 Bug Fixes Use correct path for optimisation of strip-literal - by @mrginglymus in https://github.com/vitest-dev/vitest/issues/8139 (44940) Print uint and buffer as a simple string - by @sheremet-va in https://github.com/vitest-dev/vitest

fixedchanged
3.2.3

🚀 Features browser: Use base url instead of vitest - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8126 (1d8eb) ui: Show test annotations and metadata in the test report tab - by @sheremet-va in https://github.com/vitest-d

fixedchanged
3.2.2

🚀 Features Support rolldown-vite - by @sheremet-va and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7509 (c8d62) 🐞 Bug Fixes browser: Calculate prepare time from createTesters call on the main thread - by @sheremet-va in https

fixed
3.2.1

🐞 Bug Fixes Use sha1 instead of md5 for hashing - by @sheremet-va (e4c73) expect: Fix chai import in dts - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/8077 (a7593) Export DeeplyAllowMatchers - by @sheremet-va in https://git

fixed
3.2.0

🚀 Features Provide ctx.signal - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7878 (e761f) Support custom colors for test.name - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7809 (4af5d) Add vi.mockObject

addedfixeddeprecated
3.1.4

🐞 Bug Fixes Apply browser CLI options only if the project has the browser set in the config already - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8002 (64f2b) View changes on GitHub

fixed
3.1.3

🐞 Bug Fixes Correctly resolve vitest import if inline: true is set - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7856 (a83f3) Fix fixture parsing with lowered async with esbuild 0.25.3 - by @hi-ogawa in https://github.co

fixedchanged
3.1.2

🐞 Bug Fixes Add global chai variable in vitest/globals (fix: #7474) - by @Jay-Karia in https://github.com/vitest-dev/vitest/issues/7771 and https://github.com/vitest-dev/vitest/issues/7474 (d9297) Prevent modifying test.exclude when same o

addedfixedchanged
3.1.1

🐞 Bug Fixes reporter: Report tests in correct order - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7752 (b166e) Print test only once in the verbose mode - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/773

fixed
3.1.0

🚀 Features Introduce %$ option to add number of the test to its title - by @kemuridama in https://github.com/vitest-dev/vitest/issues/7412 (df347) Add diff.maxDepth option and set non-Infinity value as a default to reduce crash - by @hi-og

addedfixedchanged
3.0.9

🐞 Bug Fixes Typings of ctx.skip() as never - by @sirlancelot in https://github.com/vitest-dev/vitest/issues/7608 (09f35) Cleanup vitest in public resolveConfig API - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7623 (db14a)

fixed
3.0.8

🐞 Bug Fixes Fix fetch cache multiple writes - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7546 (1a8b4) Use browser.isolate instead of config.isolate - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7560 (4b5

fixedchanged
3.0.7

🐞 Bug Fixes browser: Support webdriverio 9 - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7553 (b1949) deps: Update all non-major dependencies - in https://github.com/vitest-dev/vitest/issues/7543 (365ff) expect: Correct

fixedchanged
3.0.6

🐞 Bug Fixes Fix getMockedSystemTime for useFakeTimer - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7405 (03912) Compat for jest-image-snapshot - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7390 (9542b) Ensur

fixedchanged
3.0.5

This release includes security patches for: Remote Code Execution when accessing a malicious website while Vitest API server is listening | CVE-2025-24964 🚀 Features ui: Insert message "no tests found" in ui - by @DevJoaoLopes in https://g

securityfixed
3.0.4

This release includes security patches for: Browser mode serves arbitrary files | CVE-2025-24963 🐞 Bug Fixes Filter projects eagerly during config resolution - by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/

securityfixedchanged
3.0.3

🐞 Bug Fixes browser: Don't throw a validation error if v8 coverage is used with filtered instances - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7306 (fa463) Don't fail when running --browser.headless if the browser proj

fixedchanged
3.0.2

🐞 Bug Fixes Don't await an empty timeout after every test - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7281 (ef1aa) expect: Fix expect().resolves/rejects chain typings - by @hi-ogawa in https://github.com/vitest-dev/vit

fixed
3.0.1

🐞 Bug Fixes Revert "fix: re-apply default conditions if using vite 6 or later (https://github.com/vitest-dev/vitest/issues/7071)" - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7071 and https://github.com/vitest-dev/vites

fixedchanged
3.0.0

Vitest 3 is here! There are a few breaking changes, but we expect the migration to be smooth. This release page lists all changes made to the project during the beta. For the migration guide, please refer to the documentation. 🚨 Breaking C

breakingaddedfixed
2.x5 releases
2.1.9

This release includes security patches for: Browser mode serves arbitrary files | CVE-2025-24963 Remote Code Execution when accessing a malicious website while Vitest API server is listening | CVE-2025-24964 🐞 Bug Fixes backport https://gi

securityfixed
2.1.8

🐞 Bug Fixes Support Node 21 - by @sheremet-va (92f7a) View changes on GitHub

fixed
2.1.7

🐞 Bug Fixes Revert support for Vite 6 - by @sheremet-va (fbe5c) This introduced some breaking changes (https://github.com/vitest-dev/vitest/issues/6992). We will enable support for it later. In the meantime, you can still use pnpm.override

breakingfixed
2.1.6

🚀 Features Support Vite 6 View changes on GitHub

2.1.5

🐞 Bug Fixes dangerouslyIgnoreUnhandledErrors without base reporter - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6808 (0bf0a) Capture unhandledRejection even when base reporter is not used - by @AriPerkkio in https://gith

fixedchanged
1.x1 release
1.6.1

This release includes security patches for: Remote Code Execution when accessing a malicious website while Vitest API server is listening | CVE-2025-24964 🐞 Bug Fixes backport https://github.com/vitest-dev/vitest/issues/7317 to v1 - by @hi

securityfixed