Releases: vitest-dev/vitest
Releases · vitest-dev/vitest
v5.0.0-beta.5
Immutable
release. Only release title and notes can be modified.
🚨 Breaking Changes
- Don't lookup config file from ancestor directories - by @hi-ogawa, Codex and Hiroshi Ogawa in #10428 (945d9)
- Inline
@vitest/runnerpackage, do not publish it anymore - by @sheremet-va in #10511 (6d6e4) - Allow mutating happy-dom/jsdom window object - by @hi-ogawa, Hiroshi Ogawa and Codex in #10373 (206e8)
- Expose
concurrencyId/workerIdon TestModule's diagnostics, make id 1-based - by @sheremet-va in #10516 (bdd98) - browser: Require
sessionIdfor orchestrator html request - by @hi-ogawa, Hiroshi Ogawa and Codex in #10522 (79b7d) - coverage: Allow
thresholds.perFileto accept an object - by @vladlenskiy and @AriPerkkio in #10190 (13b78)
🚀 Features
- browser: Display nested mark trace in UI - by @hi-ogawa, Hiroshi Ogawa and Codex in #10437 (86ffc)
- cli: Add
--repeatsCLI option - by @todor-a in #10504 (ee48b) - coverage:
thresholds.autoUpdateto receive previous threshold as argument - by @wouterkroes in #10495 (04f81)
🐞 Bug Fixes
- Fix mixed stdout/stderr log timestamps in
onUserConsoleLog- by @Copilot, Hiroshi Ogawa, @hi-ogawa and @sheremet-va in #10308 (62756) - Fix
importOriginalwith optimizer and query import - by @davidhwilliams, David Harris, @hi-ogawa, Hiroshi Ogawa and Codex in #10469 (6a3bb) - Correct transform time calculation in merged report - by @potatomatoooo and @hi-ogawa in #10570 and #10578 (b7897)
- browser:
- Wait for orchestrator readiness before resolving browser sessions - by @soconnor-seeq in #10397 (fe5ed)
- Wait for iframe tester readiness before preparing - by @soconnor-seeq in #10497 (f2655)
- Encode iframeId in tester iframe URL - by @Pduhard, Pduhard and Claude Opus 4.8 (1M context) in #10520 and #10521 (c8bf1)
- coverage:
- Avoid matching sibling project roots - by @innoprej, Shin JaeHee and @AriPerkkio in #10311 (e30dd)
- mocker:
- Hoist vi.mock() for vite-plus/test imports - by @Brooooooklyn and Claude Opus 4.8 (1M context) in #10489 (88376)
- pool:
- Prevent test run hang on worker crash - by @jaxalo and @AriPerkkio in #10543 (40878)
- vitest:
- Strip non-serializable functions from inline diff config - by @DucMinhNe in #10573 (5b81a)
View changes on GitHub
v4.1.9
Immutable
release. Only release title and notes can be modified.
🐞 Bug Fixes
- Fix
importOriginalwith optimizer and query import [backport to v4] - by Hiroshi Ogawa, David Harris, Codexand Vladimir in #10546 (a5180) - browser:
- mocker:
- pool:
View changes on GitHub
v5.0.0-beta.4
Immutable
release. Only release title and notes can be modified.
🚨 Breaking Changes
- Throw an error if hoistable methods are outside the top level scope - by @sheremet-va in #10460 (d0b4f)
toHaveTextContentis strict, addtoMatchTextContentas alternative - by @sheremet-va in #10473 (18f30)- benchmark: Rewrite the public API - by @sheremet-va in #10113 (19f6e)
- browser: Enable
locators.exactby default - by @sheremet-va in #10430 (e2032)
🚀 Features
- browser: Show trace view steps in editor panel - by @hi-ogawa and Codex in #10404 (8c4b6)
- reporter: Support html reporter single file output - by @hi-ogawa, Codex and Claude Opus 4.7 (1M context) in #10235 (f757e)
🐞 Bug Fixes
- Preserve
vi.defineHelpercallsite for async error stack - by @macayu17 and @hi-ogawa in #10415 (ac697) - Respect
disableConsoleInterceptin browser mode - by @Copilot, hi-ogawa, @hi-ogawa and Codex in #10391 (66110) - ForceRerunTriggers uses directory globs against files - by @Patrick-Clausen and Patrick Clausen in #10421 and #10420 (4fee2)
- Unify typechecking and ast collection - by @sheremet-va in #10449 (af993)
- Don't print typecheck warning more than once - by @sheremet-va in #10461 (15275)
- Correct collumn when parsing tests - by @sheremet-va in #10467 (7c2fc)
- browser:
- mocker:
- ui:
- webdriverio:
- Allow gpu in headless chrome - by @rotempasharel1 in #10376 (f310a)
🏎 Performance
- Improve performance in hot paths - by @sheremet-va in #10446 (03faf)
View changes on GitHub
v4.1.8
Immutable
release. Only release title and notes can be modified.
v3.2.6
Immutable
release. Only release title and notes can be modified.
v3.2.5
Immutable
release. Only release title and notes can be modified.
v5.0.0-beta.3
Immutable
release. Only release title and notes can be modified.
🚨 Breaking Changes
- Require Node.js 22 and Vite 6.4 - by @sheremet-va in #10178 (38762)
- Fail
expect.pollwhen function didn't resolve in time - by @hi-ogawa and Codex in #10233 (4df04)
🚀 Features
- Support typescript build mode - by @lishaduck in #9870 (106da)
- api:
- Expose logs recorded during the test - by @sheremet-va in #10277 (cba20)
- browser:
- Show aria tree on locator element error - by @hi-ogawa and Codex in #10257 (04f04)
- Support custom
kindinpage.mark- by @AriPerkkio in #10302 (053e8) - Live update trace view on watch UI - by @hi-ogawa and Codex in #10296 (78c11)
- Add
context.markfor custom command tracing - by @AriPerkkio in #10329 (aa514)
🐞 Bug Fixes
- Shell injection safety via github.ref_name in publish workflow - by @lloyd-c137 and lloyd-c137 in #10327 (dd020)
- Make
attachmentsDirroot only config - by @hi-ogawa and Codex in #10334 (fab1b) - Apply cjs interop for truthy
__esModule- by @hi-ogawa in #10363 (2b135) - browser:
- cli:
- coverage:
excludeto not inherit negation globs fromtest.include- by @AriPerkkio in #10299 (28685)
- deps:
- expect:
- junit:
- reporter:
- Guard against non-finite slowTestThreshold in summary reporter - by @OfekDanny, Ofek Danny, Claude Sonnet 4.6 and @AriPerkkio in #10202 (f362f)
- Fix non-existing import subpath module blob serialization - by @hi-ogawa in #10318 (29cb0)
- reporters:
- Fix blob file name with label - by @hi-ogawa in #10346 (c5e2e)
summaryto intercept logger's streams even when they are notprocess.std*streams - by @AriPerkkio in #10340 (f79e7)- Fix missing
testModulesinonTestRunEndwhen merging blobs from different root directory test runs - by @hi-ogawa and Codex in #10348 (745b3)
- runner:
- Remove AbortSignal listener leak in withCancel - by @tomohiro86 and @AriPerkkio in #10265 (ab098)
- ui:
🏎 Performance
- Stringify diff objects only once - by @sheremet-va in #10276 (d006a)
- browser: Reduce matching screenshot overhead - by @kasperpeulen in #10278 (511c0)
View changes on GitHub
v4.1.7
Immutable
release. Only release title and notes can be modified.
🐞 Bug Fixes
- runner: Limit concurrency per task branch in addition to per leaf callbacks (backport) - by @hi-ogawa in #10384 (4f0f2)
View changes on GitHub
v4.1.6
Immutable
release. Only release title and notes can be modified.
🐞 Bug Fixes
- browser: Provide project reference in
ToMatchScreenshotResolvePath- by @macarie and @sheremet-va in #10138 (31882) - Global
sequence.concurrent: truewith top-leveltest(..., { concurrent: false })+ depreactesequentialtest API and options - by @hi-ogawa, Codex and @sheremet-va in #10196 (2847d) - browser: Simplify orchestrator otel carrier - by @hi-ogawa in #10285 (18af9)
🏎 Performance
- Stringify diff objects only once - by @sheremet-va in #10276 (9f7b1)
View changes on GitHub
v5.0.0-beta.2
Immutable
release. Only release title and notes can be modified.
🚨 Breaking Changes
- Default
attachmentsDirfrom.vitest-attachements/to.vitest/attachments/- by @MdSadiqMd in #10186 (1ba73) - Remove
sequentialtest/suite options in favor ofconcurrent- by @hi-ogawa and Codex in #10198 (9229f) - Represent locator as an object instead of a string - by @sheremet-va in #10212 (80f07)
- Inline
expectpackage - by @sheremet-va in #10221 (ad162) - Remove deprecated entry points - by @sheremet-va in #10222 (994c6)
- mocker: Deserialize automock as automock - by @nami8824 in #10192 (2f892)
- reporters:
blobreporter and--merge-reportsdefault to.vitest/blob/- by @AriPerkkio in #10232 (d22b0)
🚀 Features
- Expose default reporters through
configDefaults.reporters- by @hi-ogawa and Claude Sonnet 4.6 in #10219 (083f6) - Support merge reports for non-sharded multi-environment runs (take 2) - by @hi-ogawa, Claude Sonnet 4.6, Codex and @AriPerkkio in #10031 (e60b2)
- Add
logger.formatError- by @hi-ogawa and Codex in #10268 (2c5f3) - browser: Provide project reference in
ToMatchScreenshotResolvePath- by @macarie and @sheremet-va in #10138 (16654) - coverage: V8 to track
node:child_processandnode:worker_threadscontexts - by @AriPerkkio in #9976 (9baa5) - junit-reporter: Add jest-junit-compatible naming options - by @neumaennl, neumaennl, @neumann4soft and Copilot in #10189 (27393)
🐞 Bug Fixes
- Global
sequence.concurrent: truewith top-leveltest(..., { concurrent: false })+ depreactesequentialtest API and options - by @hi-ogawa, Codex and @sheremet-va in #10194 (9387f) - Test
tagsoptions should overwrite inherited suite options + inherit suite options intaskAPI - by @hi-ogawa and Codex in #10216 (457db) - Udpate optimize deps config - by @sheremet-va in #10223 (95dc6)
- browser:
- deps:
- runner:
- snapshot:
- spy:
- Support private method spy types - by @cyphercodes in #10172 and #10213 (628ab)