Vitest v3.0.0stable Released Jan 16, 2025
⚠️ Breaking Change Impact Score: 7/10

Vitest v3.0.0 β€” Release Notes & Engineering Impact

Source available β€” automated, not human-reviewed

Component: vitest Β· Channel: stable. Automated analysis, not a compatibility certification. How this works.

Analysis updated: 2026-11-01.

Breaking-change evidence from the source

  • 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](https://vitest.dev/guide/migration.html#migrating-to-vitest-2-0).
  • &nbsp;&nbsp;&nbsp;🚨 Breaking Changes - `spy.mockReset` changes &nbsp;-&nbsp; by @Lordfirespeed in https://github.com/vitest-dev/vitest/issues/6426 [<samp>(db7a8)</samp>](https://github.com/vitest-dev/vitest/commit/db7a8888)
Read the original context β†—
Source flags breaking changes β€” review applicability
πŸ“„ .MD
⚑ Executive Summary (TL;DR)

Vitest v3.0.0. Source highlight: 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.

Who Does This Impact? (Role-Based Analysis)

πŸ’» Software Engineers & Devs

Check the source notes against the package and APIs you use before upgrading.

πŸ“Š Product & Engineering Leads

Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.

βš™οΈ DevOps & Security

Verify the target version, runtime requirements and rollback procedure in the official documentation.

⚠️ Breaking Changes & Deprecations (2)

  • 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](https://vitest.dev/guide/migration.html#migrating-to-vitest-2-0).
  • &nbsp;&nbsp;&nbsp;🚨 Breaking Changes - `spy.mockReset` changes &nbsp;-&nbsp; by @Lordfirespeed in https://github.com/vitest-dev/vitest/issues/6426 [<samp>(db7a8)</samp>](https://github.com/vitest-dev/vitest/commit/db7a8888)

✨ New Features & Capabilities (6)

  • Support inline `diff` options and support `printBasicPrototype` &nbsp;-&nbsp; by @hi-ogawa, @sheremet-va and **MichaΕ‚ Grzegorzewski** in https://github.com/vitest-dev/vitest/issues/6740 <samp>(39186)</samp>
  • Allow a custom note when calling `ctx.skip()` dynamically &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6805 <samp>(697c3)</samp>
  • Allow inline workspace configuration &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6923 <samp>(562e1)</samp>
  • Provide the current project to the global setup &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6942 <samp>(a5bbc)</samp>
  • Print project name as a label &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6925 <samp>(a3bef)</samp>
  • Print a deprecation warning if suite or test uses object as the third argument &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7031 <samp>(407f1)</samp>

πŸ”§ Bug Fixes & Patches (6)

  • Misc fix for vite 6 ecosystem ci &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6867 <samp>(80f8b)</samp>
  • Respect `cacheDir` when optimizer is enabled &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6910 <samp>(0b08b)</samp>
  • Reset runningPromise after `finally` in case there is an error to avoid it getting stuck &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6951 <samp>(02194)</samp>
  • Revert support for Vite 6 &nbsp;-&nbsp; by @sheremet-va <samp>(fbe5c)</samp>
  • Support Node 21 &nbsp;-&nbsp; by @sheremet-va <samp>(92f7a)</samp>
  • Don't use `Custom` type internally &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7032 <samp>(7957f)</samp>
πŸ“„ View Raw Release Notes (Original Developer Log)
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](https://vitest.dev/guide/migration.html#migrating-to-vitest-2-0). ### &nbsp;&nbsp;&nbsp;🚨 Breaking Changes - `spy.mockReset` changes &nbsp;-&nbsp; by @Lordfirespeed in https://github.com/vitest-dev/vitest/issues/6426 [<samp>(db7a8)</samp>](https://github.com/vitest-dev/vitest/commit/db7a8888) - Pass down context to test hooks &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7034 [<samp>(82c2e)</samp>](https://github.com/vitest-dev/vitest/commit/82c2e244) - Support Vite 6 &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7026 [<samp>(7abe8)</samp>](https://github.com/vitest-dev/vitest/commit/7abe854c) - **coverage**: Always exclude test files &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7254 [<samp>(b5268)</samp>](https://github.com/vitest-dev/vitest/commit/b5268965) - **deps**: Update fake-timers to v14.0.0 &nbsp;-&nbsp; by @xxzefgh and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7097 [<samp>(c98b4)</samp>](https://github.com/vitest-dev/vitest/commit/c98b4b1c) - **expect**: Check more properties for error equality &nbsp;-&nbsp; by @hi-ogawa and @sheremet-va in https://github.com/vitest-dev/vitest/issues/5876 [<samp>(10023)</samp>](https://github.com/vitest-dev/vitest/commit/100230e9) - **runner**: Support `describe(..., { shuffle: boolean })` and inherit from parent suite &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6670 [<samp>(aa1da)</samp>](https://github.com/vitest-dev/vitest/commit/aa1dac3d) - **snapshot**: Reset snapshot state for `retry` and `repeats` &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6817 [<samp>(e8ce9)</samp>](https://github.com/vitest-dev/vitest/commit/e8ce94cf) - **spy**: SpyOn reuses mock if method is already spyed on &nbsp;-&nbsp; by @sheremet-va and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6464 [<samp>(b3e43)</samp>](https://github.com/vitest-dev/vitest/commit/b3e43d04) - **vitest**: Don't expose default toFake config &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6288 [<samp>(e3144)</samp>](https://github.com/vitest-dev/vitest/commit/e3144fd8) ### &nbsp;&nbsp;&nbsp;πŸš€ Features - Support inline `diff` options and support `printBasicPrototype` &nbsp;-&nbsp; by @hi-ogawa, @sheremet-va and **MichaΕ‚ Grzegorzewski** in https://github.com/vitest-dev/vitest/issues/6740 [<samp>(39186)</samp>](https://github.com/vitest-dev/vitest/commit/391860f7) - Allow a custom note when calling `ctx.skip()` dynamically &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6805 [<samp>(697c3)</samp>](https://github.com/vitest-dev/vitest/commit/697c35c5) - Allow inline workspace configuration &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6923 [<samp>(562e1)</samp>](https://github.com/vitest-dev/vitest/commit/562e1b14) - Provide the current project to the global setup &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6942 [<samp>(a5bbc)</samp>](https://github.com/vitest-dev/vitest/commit/a5bbc0a9) - Print project name as a label &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6925 [<samp>(a3bef)</samp>](https://github.com/vitest-dev/vitest/commit/a3bef598) - Print a deprecation warning if suite or test uses object as the third argument &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7031 [<samp>(407f1)</samp>](https://github.com/vitest-dev/vitest/commit/407f10e4) - Expose versions from `vitest/node` entry point and statically on Vitest &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7029 [<samp>(be8d4)</samp>](https://github.com/vitest-dev/vitest/commit/be8d479b) - `diff.printBasicPrototype: false` by default &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7043 [<samp>(2b5c5)</samp>](https://github.com/vitest-dev/vitest/commit/2b5c5201) - Prepare the Vitest API to be stable &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6962 [<samp>(9a1b5)</samp>](https://github.com/vitest-dev/vitest/commit/9a1b5012) - Support Vite v6 in mocker package &nbsp;-&nbsp; by @cexbrayat in https://github.com/vitest-dev/vitest/issues/7058 [<samp>(96f47)</samp>](https://github.com/vitest-dev/vitest/commit/96f47d37) - Allow multi-browser configuration &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6975 [<samp>(78b62)</samp>](https://github.com/vitest-dev/vitest/commit/78b62ffe) - Add resolved project names to the reporter API &nbsp;-&nbsp; by @userquin in https://github.com/vitest-dev/vitest/issues/7213 [<samp>(91758)</samp>](https://github.com/vitest-dev/vitest/commit/91758360) - Introduce the new reporter API &nbsp;-&nbsp; by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7069 [<samp>(76662)</samp>](https://github.com/vitest-dev/vitest/commit/766624ab) - Add `describe.for` &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7253 [<samp>(0ad28)</samp>](https://github.com/vitest-dev/vitest/commit/0ad2860b) - **api**: - Add onBrowserInit event &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7255 [<samp>(80ce0)</samp>](https://github.com/vitest-dev/vitest/commit/80ce0e1c) - **browser**: - Support `actionTimeout` as playwright provider options &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6984 [<samp>(e2c29)</samp>](https://github.com/vitest-dev/vitest/commit/e2c29eaf) - Support clipboard api `userEvent.copy, cut, paste` &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6769 [<samp>(843a6)</samp>](https://github.com/vitest-dev/vitest/commit/843a621e) - Implement locator.nth() &nbsp;-&nbsp; by @xeger and @sheremet-va in https://github.com/vitest-dev/vitest/issues/7137 [<samp>(38458)</samp>](https://github.com/vitest-dev/vitest/commit/38458ea6) - **cli**: - Support excluding projects with `--project=!pattern` &nbsp;-&nbsp; by @haines in https://github.com/vitest-dev/vitest/issues/6924 [<samp>(ebfe9)</samp>](https://github.com/vitest-dev/vitest/commit/ebfe942c) - Support specifying a line number when filtering tests &nbsp;-&nbsp; by @mzhubail and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6411 [<samp>(4d94b)</samp>](https://github.com/vitest-dev/vitest/commit/4d94b956) - Support location filters for suites &nbsp;-&nbsp; by @mzhubail in https://github.com/vitest-dev/vitest/issues/7048 [<samp>(751e2)</samp>](https://github.com/vitest-dev/vitest/commit/751e2dce) - **coverage**: - `thresholds` to support maximum uncovered items &nbsp;-&nbsp; by @jonahkagan in https://github.com/vitest-dev/vitest/issues/7061 [<samp>(bde98)</samp>](https://github.com/vitest-dev/vitest/commit/bde98b6d) - **expect**: - Add `toHaveBeenCalledExactlyOnceWith` expect matcher &nbsp;-&nbsp; by @jacoberdman2147 and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6894 [<samp>(ff662)</samp>](https://github.com/vitest-dev/vitest/commit/ff66206a) - Add `toHaveBeenCalledAfter` and `toHaveBeenCalledBefore` utility &nbsp;-&nbsp; by @Barbapapazes and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6056 [<samp>(85e6f)</samp>](https://github.com/vitest-dev/vitest/commit/85e6f99f) - Add `toSatisfy` asymmetric matcher &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7022 [<samp>(f691a)</samp>](https://github.com/vitest-dev/vitest/commit/f691ad76) - Add `toBeOneOf` matcher &nbsp;-&nbsp; by @zirkelc and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6974 [<samp>(3d742)</samp>](https://github.com/vitest-dev/vitest/commit/3d742b2b) - **reporter**: - Add support for function type to classname option in the junit reporter &nbsp;-&nbsp; by @jpleclerc, **Jean-Philippe Leclerc** and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6839 [<samp>(dc238)</samp>](https://github.com/vitest-dev/vitest/commit/dc238e92) - **reporters**: - `summary` option for `verbose` and `default` reporters &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6893 [<samp>(511b7)</samp>](https://github.com/vitest-dev/vitest/commit/511b73c7) - **runner**: - Test context can inject values from the config's `provide` &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6813 [<samp>(85c64)</samp>](https://github.com/vitest-dev/vitest/commit/85c64e35) - Add "queued" state &nbsp;-&nbsp; by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6931 [<samp>(5f8d2)</samp>](https://github.com/vitest-dev/vitest/commit/5f8d2091) - **snapshot**: - Provide `config` to `resolveSnapshotPath` &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6800 [<samp>(746d8)</samp>](https://github.com/vitest-dev/vitest/commit/746d8986) - **ui**: - Allow run individual tests/suites from the UI &nbsp;-&nbsp; by @userquin in https://github.com/vitest-dev/vitest/issues/6641 [<samp>(d9cc8)</samp>](https://github.com/vitest-dev/vitest/commit/d9cc81dd) - Make clicking on a test in the UI open the report section and scroll to the test failure if applicable &nbsp;-&nbsp; by @jacoberdman2147 in https://github.com/vitest-dev/vitest/issues/6900 [<samp>(1bf27)</samp>](https://github.com/vitest-dev/vitest/commit/1bf27f0d) - Allow hide/show node_modules in module graph tab &nbsp;-&nbsp; by @userquin in https://github.com/vitest-dev/vitest/issues/7217 [<samp>(50cf6)</samp>](https://github.com/vitest-dev/vitest/commit/50cf61b8) - **vitest**: - Include `coverageMap` in json report &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6606 [<samp>(9c8f7)</samp>](https://github.com/vitest-dev/vitest/commit/9c8f7e3e) - Add `onTestsRerun` method to global setup context &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6803 [<samp>(e26e0)</samp>](https://github.com/vitest-dev/vitest/commit/e26e066c) ### &nbsp;&nbsp;&nbsp;🐞 Bug Fixes - Misc fix for vite 6 ecosystem ci &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6867 [<samp>(80f8b)</samp>](https://github.com/vitest-dev/vitest/commit/80f8bbf4) - Respect `cacheDir` when optimizer is enabled &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6910 [<samp>(0b08b)</samp>](https://github.com/vitest-dev/vitest/commit/0b08bc11) - Reset runningPromise after `finally` in case there is an error to avoid it getting stuck &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6951 [<samp>(02194)</samp>](https://github.com/vitest-dev/vitest/commit/021944cd) - Revert support for Vite 6 &nbsp;-&nbsp; by @sheremet-va [<samp>(fbe5c)</samp>](https://github.com/vitest-dev/vitest/commit/fbe5c39d) - Support Node 21 &nbsp;-&nbsp; by @sheremet-va [<samp>(92f7a)</samp>](https://github.com/vitest-dev/vitest/commit/92f7a2ad) - Don't use `Custom` type internally &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7032 [<samp>(7957f)</samp>](https://github.com/vitest-dev/vitest/commit/7957f912) - Persist cli filters as watch mode file filter &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6955 [<samp>(cc703)</samp>](https://github.com/vitest-dev/vitest/commit/cc703362) - Don't use dim color for succeeded tests &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7059 [<samp>(8a6f5)</samp>](https://github.com/vitest-dev/vitest/commit/8a6f5f16) - Fix missing chai types &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7149 [<samp>(6a09c)</samp>](https://github.com/vitest-dev/vitest/commit/6a09cc3b) - `cancelCurrentRun` awaits `runningPromise` &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7168 [<samp>(1dbf5)</samp>](https://github.com/vitest-dev/vitest/commit/1dbf5140) - Add Locator typings for nth, first and last. &nbsp;-&nbsp; by @xeger in https://github.com/vitest-dev/vitest/issues/7176 [<samp>(d262e)</samp>](https://github.com/vitest-dev/vitest/commit/d262e059) - Batch console logs by microtask &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7183 [<samp>(53d1d)</samp>](https://github.com/vitest-dev/vitest/commit/53d1d5f5) - Allow `getMockImplementation` to return "once" implementation &nbsp;-&nbsp; by @chaptergy in https://github.com/vitest-dev/vitest/issues/7033 [<samp>(39125)</samp>](https://github.com/vitest-dev/vitest/commit/3912554b) - `capturePrintError` logger duplicate event handlers &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7197 [<samp>(e89c3)</samp>](https://github.com/vitest-dev/vitest/commit/e89c3693) - Allow slots in vitest-browser-vue &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7120 [<samp>(2319f)</samp>](https://github.com/vitest-dev/vitest/commit/2319f849) - Reset root workspace project on restart &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7238 [<samp>(6e518)</samp>](https://github.com/vitest-dev/vitest/commit/6e51843a) - Cleanup `vitest/reporters` entrypoint &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7241 [<samp>(aec0b)</samp>](https://github.com/vitest-dev/vitest/commit/aec0b530) - Colors on `forks` pool &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7090 [<samp>(8cab9)</samp>](https://github.com/vitest-dev/vitest/commit/8cab9601) - Export `VitestRunner` type from `vitest/runners` &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7240 [<samp>(9b218)</samp>](https://github.com/vitest-dev/vitest/commit/9b218854) - Return test fn result to runner &nbsp;-&nbsp; by @wmertens in https://github.com/vitest-dev/vitest/issues/7239 [<samp>(48645)</samp>](https://github.com/vitest-dev/vitest/commit/48645bf4) - Re-apply default conditions if using vite 6 or later &nbsp;-&nbsp; by @thebanjomatic, **thebanjomatic** and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7071 [<samp>(84287)</samp>](https://github.com/vitest-dev/vitest/commit/84287fc2) - Prevent infinite loop on prettyDOM calls &nbsp;-&nbsp; by @tsirlucas in https://github.com/vitest-dev/vitest/issues/7250 [<samp>(a3a46)</samp>](https://github.com/vitest-dev/vitest/commit/a3a46a53) - **api**: - Don't report events during `vitest list` &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7257 [<samp>(1c2b2)</samp>](https://github.com/vitest-dev/vitest/commit/1c2b210d) - **benchmark**: - Disable type testing while benchmarking &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7068 [<samp>(4e603)</samp>](https://github.com/vitest-dev/vitest/commit/4e60333d) - Rewrite reporter without `log-update` &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7019 [<samp>(6d23f)</samp>](https://github.com/vitest-dev/vitest/commit/6d23f4b1) - **browser**: - Improve source maps when `vi.mock` is present &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6810 [<samp>(8d179)</samp>](https://github.com/vitest-dev/vitest/commit/8d179afc) - Explain TypeScript support in docs and add asymmetric matchers to types &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6934 [<samp>(ac1a7)</samp>](https://github.com/vitest-dev/vitest/commit/ac1a7fdc) - Fix matchers.d.ts &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6995 [<samp>(a485b)</samp>](https://github.com/vitest-dev/vitest/commit/a485b32b) - Fix user event state on preview provider &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7041 [<samp>(8e944)</samp>](https://github.com/vitest-dev/vitest/commit/8e94427e) - Fix provider options types &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7115 [<samp>(579bd)</samp>](https://github.com/vitest-dev/vitest/commit/579bda97) - Only use locator.element on last expect.element attempt &nbsp;-&nbsp; by @tsirlucas in https://github.com/vitest-dev/vitest/issues/7139 and https://github.com/vitest-dev/vitest/issues/7152 [<samp>(847d3)</samp>](https://github.com/vitest-dev/vitest/commit/847d3221) - Use correct project when filtering `entries` in the browser mode &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7167 [<samp>(423d6)</samp>](https://github.com/vitest-dev/vitest/commit/423d6345) - Fix `console.time` with fake timers &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7207 [<samp>(903f3)</samp>](https://github.com/vitest-dev/vitest/commit/903f3b9b) - Add instance validation to resolve coverage error &nbsp;-&nbsp; by @DevJoaoLopes and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7231 [<samp>(1e791)</samp>](https://github.com/vitest-dev/vitest/commit/1e7915b5) - **coverage**: - Exclude browser mode iframe results &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6905 [<samp>(e04a1)</samp>](https://github.com/vitest-dev/vitest/commit/e04a1368) - Correct coverage when `isolate: false` is used &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6957 [<samp>(426ce)</samp>](https://github.com/vitest-dev/vitest/commit/426ce6d8) - Prevent crash when v8 incorrectly merges static_initializer's &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7150 [<samp>(cb6db)</samp>](https://github.com/vitest-dev/vitest/commit/cb6db13e) - **deps**: - Update all non-major dependencies &nbsp;-&nbsp; in https://github.com/vitest-dev/vitest/issues/7085 [<samp>(8cc92)</samp>](https://github.com/vitest-dev/vitest/commit/8cc92c2f) - Update all non-major dependencies &nbsp;-&nbsp; in https://github.com/vitest-dev/vitest/issues/7116 [<samp>(de5ce)</samp>](https://github.com/vitest-dev/vitest/commit/de5ce3d9) - Update dependency pathe to v2 &nbsp;-&nbsp; in https://github.com/vitest-dev/vitest/issues/7181 [<samp>(74dbe)</samp>](https://github.com/vitest-dev/vitest/commit/74dbe03f) - **diff**: - Truncate to avoid crash on diff large objects &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7133 [<samp>(2a9d6)</samp>](https://github.com/vitest-dev/vitest/commit/2a9d67a2) - **junit**: - Fix testsuites time to be sum of all testsuite items &nbsp;-&nbsp; by @saitonakamura in https://github.com/vitest-dev/vitest/issues/6985 [<samp>(ca37a)</samp>](https://github.com/vitest-dev/vitest/commit/ca37a06a) - **pretty-format**: - Support react 19 &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6909 [<samp>(bd29b)</samp>](https://github.com/vitest-dev/vitest/commit/bd29bcc7) - **reporters**: - Write buffered stdout/stderr on process exit &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6932 [<samp>(80cde)</samp>](https://github.com/vitest-dev/vitest/commit/80cde2a0) - Rewrite `dot` reporter without `log-update` &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6943 [<samp>(be969)</samp>](https://github.com/vitest-dev/vitest/commit/be969cfb) - Check `--hideSkippedTests` in base reporter &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6988 [<samp>(721a5)</samp>](https://github.com/vitest-dev/vitest/commit/721a5b84) - Show `retry` and `repeats` counts &nbsp;-&nbsp; by @AriPerkkio and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7004 [<samp>(3496a)</samp>](https://github.com/vitest-dev/vitest/commit/3496a015) - **runner**: - Long synchronous tasks does not time out &nbsp;-&nbsp; by @ferdodo and @sheremet-va in https://github.com/vitest-dev/vitest/issues/2920 and https://github.com/vitest-dev/vitest/issues/6944 [<samp>(2fb58)</samp>](https://github.com/vitest-dev/vitest/commit/2fb585ae) - Mark tests of `describe.todo` as `'todo'` &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7171 [<samp>(1d458)</samp>](https://github.com/vitest-dev/vitest/commit/1d458955) - **snapshot**: - Fix "obsolete" message on snapshot update re-run &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7129 [<samp>(c2beb)</samp>](https://github.com/vitest-dev/vitest/commit/c2beb8ca) - Preserve white space of `toMatchFileSnapshot` &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7156 [<samp>(a437b)</samp>](https://github.com/vitest-dev/vitest/commit/a437b656) - Fix obsoleteness check of `toMatchSnapshot("...")` &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7126 [<samp>(ac9ba)</samp>](https://github.com/vitest-dev/vitest/commit/ac9ba151) - **typecheck**: - Fix typecheck collect on Vite 6 &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6972 [<samp>(7b35d)</samp>](https://github.com/vitest-dev/vitest/commit/7b35d13a) - Use unique temp and tsbuildinfo file for each tsconfig file &nbsp;-&nbsp; by @masnormen in https://github.com/vitest-dev/vitest/issues/7107 and https://github.com/vitest-dev/vitest/issues/7112 [<samp>(61b30)</samp>](https://github.com/vitest-dev/vitest/commit/61b30162) - Fix error test case mapping for `@ts-expect-error` &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7125 [<samp>(27d34)</samp>](https://github.com/vitest-dev/vitest/commit/27d340aa) - **types**: - Make parameters non-nullable for Playwright options &nbsp;-&nbsp; by @apple-yagi in https://github.com/vitest-dev/vitest/issues/6989 [<samp>(fe2a1)</samp>](https://github.com/vitest-dev/vitest/commit/fe2a187f) - **ui**: - Wrong module graph when generating html.meta.json.gz in browser mode &nbsp;-&nbsp; by @userquin in https://github.com/vitest-dev/vitest/issues/7214 [<samp>(dccdd)</samp>](https://github.com/vitest-dev/vitest/commit/dccdd550) - Add errors and draft state (*) to the code editor &nbsp;-&nbsp; by @userquin in https://github.com/vitest-dev/vitest/issues/7044 [<samp>(faca4)</samp>](https://github.com/vitest-dev/vitest/commit/faca4de8) - **vite-node**: - Fix error stack on Windows &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6786 [<samp>(bf7b3)</samp>](https://github.com/vitest-dev/vitest/commit/bf7b36ac) - Properly normalize file url import &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7087 [<samp>(31675)</samp>](https://github.com/vitest-dev/vitest/commit/31675e3b) - Fix mandatory node prefix &nbsp;-&nbsp; by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7179 [<samp>(b6284)</samp>](https://github.com/vitest-dev/vitest/commit/b6284642) - **watch**: - Don't indicate exit when no matching files &nbsp;-&nbsp; by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7246 [<samp>(003c0)</samp>](https://github.com/vitest-dev/vitest/commit/003c0bef) - **workspace**: - `extends: true` correctly inherits all root config properties &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7232 [<samp>(798c0)</samp>](https://github.com/vitest-dev/vitest/commit/798c0da2) ##### &nbsp;&nbsp;&nbsp;&nbsp;[View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v2.1.8...v3.0.0)