Sourced from @vitest/coverage-v8's releases.
v5.0.0
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 for the official announcement.
🚨 Breaking Changes
- Replace
loupe.inspectwith pretty-format - by@hi-ogawa, Claude Opus 5 (1M context) and OpenAI Codex in vitest-dev/vitest#9609 (3f802)- Remove quotes from string values in
test.for/eachtitle$variable (take 2) - by@hi-ogawain vitest-dev/vitest#10170 (04d37)- Default
attachmentsDirfrom.vitest-attachements/to.vitest/attachments/- by@MdSadiqMdin vitest-dev/vitest#10186 (1ba73)- Remove
sequentialtest/suite options in favor ofconcurrent- by@hi-ogawaand OpenAI Codex in vitest-dev/vitest#10198 (9229f)- Represent locator as an object instead of a string - by
@sheremet-vain vitest-dev/vitest#10212 (80f07)- Inline
expectpackage - by@sheremet-vain vitest-dev/vitest#10221 (ad162)- Remove deprecated entry points - by
@sheremet-vain vitest-dev/vitest#10222 (994c6)- Require Node.js 22 and Vite 6.4 - by
@sheremet-vain vitest-dev/vitest#10178 (38762)- Fail
expect.pollwhen function didn't resolve in time - by@hi-ogawaand OpenAI Codex in vitest-dev/vitest#10233 (4df04)- Throw an error if hoistable methods are outside the top level scope - by
@sheremet-vain vitest-dev/vitest#10460 (d0b4f)toHaveTextContentis strict, addtoMatchTextContentas alternative - by@sheremet-vain vitest-dev/vitest#10473 (18f30)- Don't lookup config file from ancestor directories - by
@hi-ogawa, OpenAI Codex and Hiroshi Ogawa in vitest-dev/vitest#10428 (945d9)- Inline
@vitest/runnerpackage, do not publish it anymore - by@sheremet-vain vitest-dev/vitest#10511 (6d6e4)- Allow mutating happy-dom/jsdom window object - by
@hi-ogawa, Hiroshi Ogawa and OpenAI Codex in vitest-dev/vitest#10373 (206e8)- Expose
concurrencyId/workerIdon TestModule's diagnostics, make id 1-based - by@sheremet-vain vitest-dev/vitest#10516 (bdd98)- Add
screenshotDirectoryconfig tobrowser.expect.toMatchScreenshot- by@macariein vitest-dev/vitest#10592 (a60de)- Update
@sinonjs/fake-timersand support mockingTemporal- by@hi-ogawa, Hiroshi Ogawa and OpenCode (gpt-5.6-sol) in vitest-dev/vitest#10654 (f8b15)- Remove webdriverio package - by
@sheremet-vain vitest-dev/vitest#10675 (5fed6)- Clear mocks by default before each test - by
@sheremet-vain vitest-dev/vitest#10613 (0f646)- Don't emit localStorage warnings on Node 26, fail gracefully when worker fails to start - by
@sheremet-vain vitest-dev/vitest#10293 (334ed)- Separate config resolution from the server creation - by
@sheremet-vain vitest-dev/vitest#10554 (1c0ec)- Inline projects extend the root config by default - by
@sheremet-vain vitest-dev/vitest#10750 (fec00)- Enable mocking Temporal without fake timers - by
@fabon-f, Hiroshi Ogawa and OpenCode (gpt-5.6-sol) in vitest-dev/vitest#10757 (ac2d4)- Support nested projects - by
@sheremet-vain vitest-dev/vitest#10846 (ec367)- Use
>as separator in-t, calculateonlyonce - by@sheremet-vain vitest-dev/vitest#10686 (a0b20)- Fail the test when an asynchronous assertion is not awaited - by
@sheremet-vain vitest-dev/vitest#10868 (86d4a)- Share the Vite server between inline projects - by
@sheremet-vain vitest-dev/vitest#10848 (d87c9)- Parse files statically in vitest list by default - by
@sheremet-vain vitest-dev/vitest#11088 (51e94)- benchmark:
- Rewrite the public API - by
@sheremet-vain vitest-dev/vitest#10113 (19f6e)- browser:
- Iframe scale - by
@macariein vitest-dev/vitest#9745 (b6398)- Enable
locators.exactby default - by@sheremet-vain vitest-dev/vitest#10430 (e2032)- Require
sessionIdfor orchestrator html request - by@hi-ogawa, Hiroshi Ogawa and OpenAI Codex in vitest-dev/vitest#10522 (79b7d)- Save failure screenshots in
attachmentsDir- by@macariein vitest-dev/vitest#10917 (3b5bb)- coverage:
include/excludeglobs too eager - by@AriPerkkioin vitest-dev/vitest#9818 (edacb)- Allow
thresholds.perFileto accept an object - by@vladlenskiyand@AriPerkkioin vitest-dev/vitest#10190 (13b78)- expect:
- Fix
toThrow("")behavior by reverting #6710 - by@hi-ogawain vitest-dev/vitest#9643 and vitest-dev/vitest#6710 (6c3e4)- mocker:
- Deserialize automock as automock - by
@nami8824in vitest-dev/vitest#10192 (2f892)- reporters:
blobreporter and--merge-reportsdefault to.vitest/blob/- by@AriPerkkioin vitest-dev/vitest#10232 (d22b0)- Write json and junit reporter output files to
.vitestby default - by@hi-ogawa, Hiroshi Ogawa, OpenCode (gpt-5.6-sol) and@AriPerkkioin vitest-dev/vitest#10621 (58577)
... (truncated)
f441c6f
chore: release v5.0.0 (#11130)c4473e4
fix(coverage): prevent crash on /@fs/ prepended virtual
files (#11119)897f51f
chore: release v5.0.0-rc.4 (#11107)7db80dc
chore: release v5.0.0-rc.3 (#11089)5f6a5e8
feat(coverage): switch to @vitest/istanbuljs packages (#11053)c6174a6
fix(coverage): v8 to ignore Vite SSR's generated import bindings (#11023)af83d1b
chore: release v5.0.0-rc.2 (#10976)a7fa111
chore: release v5.0.0-rc.1 (#10920)0553851
chore: add Knip checks (#10847)b7be731
chore: release v5.0.0-beta.7 (#10825)Sourced from vitest's releases.
v5.0.0
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 for the official announcement.
🚨 Breaking Changes
- Replace
loupe.inspectwith pretty-format - by@hi-ogawa, Claude Opus 5 (1M context) and OpenAI Codex in vitest-dev/vitest#9609 (3f802)- Remove quotes from string values in
test.for/eachtitle$variable (take 2) - by@hi-ogawain vitest-dev/vitest#10170 (04d37)- Default
attachmentsDirfrom.vitest-attachements/to.vitest/attachments/- by@MdSadiqMdin vitest-dev/vitest#10186 (1ba73)- Remove
sequentialtest/suite options in favor ofconcurrent- by@hi-ogawaand OpenAI Codex in vitest-dev/vitest#10198 (9229f)- Represent locator as an object instead of a string - by
@sheremet-vain vitest-dev/vitest#10212 (80f07)- Inline
expectpackage - by@sheremet-vain vitest-dev/vitest#10221 (ad162)- Remove deprecated entry points - by
@sheremet-vain vitest-dev/vitest#10222 (994c6)- Require Node.js 22 and Vite 6.4 - by
@sheremet-vain vitest-dev/vitest#10178 (38762)- Fail
expect.pollwhen function didn't resolve in time - by@hi-ogawaand OpenAI Codex in vitest-dev/vitest#10233 (4df04)- Throw an error if hoistable methods are outside the top level scope - by
@sheremet-vain vitest-dev/vitest#10460 (d0b4f)toHaveTextContentis strict, addtoMatchTextContentas alternative - by@sheremet-vain vitest-dev/vitest#10473 (18f30)- Don't lookup config file from ancestor directories - by
@hi-ogawa, OpenAI Codex and Hiroshi Ogawa in vitest-dev/vitest#10428 (945d9)- Inline
@vitest/runnerpackage, do not publish it anymore - by@sheremet-vain vitest-dev/vitest#10511 (6d6e4)- Allow mutating happy-dom/jsdom window object - by
@hi-ogawa, Hiroshi Ogawa and OpenAI Codex in vitest-dev/vitest#10373 (206e8)- Expose
concurrencyId/workerIdon TestModule's diagnostics, make id 1-based - by@sheremet-vain vitest-dev/vitest#10516 (bdd98)- Add
screenshotDirectoryconfig tobrowser.expect.toMatchScreenshot- by@macariein vitest-dev/vitest#10592 (a60de)- Update
@sinonjs/fake-timersand support mockingTemporal- by@hi-ogawa, Hiroshi Ogawa and OpenCode (gpt-5.6-sol) in vitest-dev/vitest#10654 (f8b15)- Remove webdriverio package - by
@sheremet-vain vitest-dev/vitest#10675 (5fed6)- Clear mocks by default before each test - by
@sheremet-vain vitest-dev/vitest#10613 (0f646)- Don't emit localStorage warnings on Node 26, fail gracefully when worker fails to start - by
@sheremet-vain vitest-dev/vitest#10293 (334ed)- Separate config resolution from the server creation - by
@sheremet-vain vitest-dev/vitest#10554 (1c0ec)- Inline projects extend the root config by default - by
@sheremet-vain vitest-dev/vitest#10750 (fec00)- Enable mocking Temporal without fake timers - by
@fabon-f, Hiroshi Ogawa and OpenCode (gpt-5.6-sol) in vitest-dev/vitest#10757 (ac2d4)- Support nested projects - by
@sheremet-vain vitest-dev/vitest#10846 (ec367)- Use
>as separator in-t, calculateonlyonce - by@sheremet-vain vitest-dev/vitest#10686 (a0b20)- Fail the test when an asynchronous assertion is not awaited - by
@sheremet-vain vitest-dev/vitest#10868 (86d4a)- Share the Vite server between inline projects - by
@sheremet-vain vitest-dev/vitest#10848 (d87c9)- Parse files statically in vitest list by default - by
@sheremet-vain vitest-dev/vitest#11088 (51e94)- benchmark:
- Rewrite the public API - by
@sheremet-vain vitest-dev/vitest#10113 (19f6e)- browser:
- Iframe scale - by
@macariein vitest-dev/vitest#9745 (b6398)- Enable
locators.exactby default - by@sheremet-vain vitest-dev/vitest#10430 (e2032)- Require
sessionIdfor orchestrator html request - by@hi-ogawa, Hiroshi Ogawa and OpenAI Codex in vitest-dev/vitest#10522 (79b7d)- Save failure screenshots in
attachmentsDir- by@macariein vitest-dev/vitest#10917 (3b5bb)- coverage:
include/excludeglobs too eager - by@AriPerkkioin vitest-dev/vitest#9818 (edacb)- Allow
thresholds.perFileto accept an object - by@vladlenskiyand@AriPerkkioin vitest-dev/vitest#10190 (13b78)- expect:
- Fix
toThrow("")behavior by reverting #6710 - by@hi-ogawain vitest-dev/vitest#9643 and vitest-dev/vitest#6710 (6c3e4)- mocker:
- Deserialize automock as automock - by
@nami8824in vitest-dev/vitest#10192 (2f892)- reporters:
blobreporter and--merge-reportsdefault to.vitest/blob/- by@AriPerkkioin vitest-dev/vitest#10232 (d22b0)- Write json and junit reporter output files to
.vitestby default - by@hi-ogawa, Hiroshi Ogawa, OpenCode (gpt-5.6-sol) and@AriPerkkioin vitest-dev/vitest#10621 (58577)
... (truncated)
f441c6f
chore: release v5.0.0 (#11130)d46a747
fix: treat test.describe as a suite during static collection (#11128)584cf30
fix: add a warning if inline project has duplicate plugins due to
unexpected ...f08ce4b
fix: apply queued mocks from doMock() in queue order (fixes #10706)
(#11127)897f51f
chore: release v5.0.0-rc.4 (#11107)1339b06
chore(deps): update all non-major dependencies (#11104)51e9494
feat!: parse files statically in vitest list by default (#11088)2122ffd
fix: propagate --maxWorkers to projects (#11102)dc10f5f
fix(browser): report the action error when a task times out (#11101)d4fe198
feat: promote clearCache out of experimental (#11086)