# Vitest v5.0.0-rc.1 - Product: Vitest (https://whatsnew.fyi/product/vitest) - Vendor: VoidZero - Date: 2026-08-11 - Version: v5.0.0-rc.1 - Original notes: https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-rc.1 - Permalink: https://whatsnew.fyi/product/vitest/releases/v5.0.0-rc.1 - Labels: Pre-release What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **changed** — Inline projects extend the root config by default - **changed** — Enable mocking Temporal without fake timers - **added** — Support nested projects - **changed** — Use > as separator in -t and calculate only once - **changed** — Fail the test when an asynchronous assertion is not awaited - **changed** — Share the Vite server between inline projects - **changed** — Save failure screenshots in attachmentsDir in browser mode - **changed** — Preserve class mock prototype methods on instances in spy - **changed** — Add better promise support in expects and matchers in types - **added** — Report the duration breakdown as percentages - **added** — Support -p shorthand for --project in CLI - **added** — Support require(esm) in vm pools - **fixed** — Coalesce concurrent watch-mode restarts - **fixed** — Prevent vitest --typecheck from reporting false success when tsc process crashes - **fixed** — Collect in-source tests when the module is cached - **fixed** — Swap replace() arguments so timeout error stack shows the real message - **fixed** — Fix stale mock metadata breaking automocking with isolate:false - **fixed** — Don't lose worker output on teardown - **fixed** — Ignore channel events in a tester opened as a top-level window in browser mode - **fixed** — Resolve connectTimeout from the project config in browser mode ######    🚨 Breaking Changes - Inline projects extend the root config by default  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10750 [(fec00)](https://github.com/vitest-dev/vitest/commit/fec001ad3) - Enable mocking Temporal without fake timers  -  by @fabon-f, **Hiroshi Ogawa** and **OpenCode** in https://github.com/vitest-dev/vitest/issues/10757 [(ac2d4)](https://github.com/vitest-dev/vitest/commit/ac2d46b42) - Support nested projects  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10846 [(ec367)](https://github.com/vitest-dev/vitest/commit/ec367cf2a) - Use `>` as separator in `-t`, calculate `only` once  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10686 [(a0b20)](https://github.com/vitest-dev/vitest/commit/a0b20bc86) - Fail the test when an asynchronous assertion is not awaited  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10868 [(86d4a)](https://github.com/vitest-dev/vitest/commit/86d4a9da9) - Share the Vite server between inline projects  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10848 [(d87c9)](https://github.com/vitest-dev/vitest/commit/d87c96ee4) - **browser**: Save failure screenshots in `attachmentsDir`  -  by @macarie in https://github.com/vitest-dev/vitest/issues/10917 [(3b5bb)](https://github.com/vitest-dev/vitest/commit/3b5bbd8b4) - **spy**: Preserve class mock prototype methods on instances  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10910 [(6093d)](https://github.com/vitest-dev/vitest/commit/6093d764a) - **types**: Add better promise support in expects and matchers  -  by @samchungy and @sheremet-va in https://github.com/vitest-dev/vitest/issues/8266 [(41f55)](https://github.com/vitest-dev/vitest/commit/41f551bce) ######    🚀 Features - Report the duration breakdown as percentages  -  by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/10820 [(c67d2)](https://github.com/vitest-dev/vitest/commit/c67d296f4) - **cli**: Support -p shorthand for --project  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10826 [(1addd)](https://github.com/vitest-dev/vitest/commit/1adddde12) - **vm**: Support `require(esm)` in vm pools  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10829 [(01298)](https://github.com/vitest-dev/vitest/commit/01298e5b3) ######    🐞 Bug Fixes - Coalesce concurrent watch-mode restarts, deflake the pool stderr fixture  -  by @sheremet-va in https://github.com/vitest-dev/vitest/issues/10822 [(a31f8)](https://github.com/vitest-dev/vitest/commit/a31f86af7) - Prevent `vitest --typecheck` from reporting a false success when the `tsc` process crashes  -  by @hitenkalda and **Hiten Kalda** in https://github.com/vitest-dev/vitest/issues/10705 [(a1b05)](https://github.com/vitest-dev/vitest/commit/a1b0565c9) - Collect in-source tests when the module is cached  -  by @koutaro-masaki in https://github.com/vitest-dev/vitest/issues/10577 and https://github.com/vitest-dev/vitest/issues/10589 [(a7bf2)](https://github.com/vitest-dev/vitest/commit/a7bf2b2c8) - Swap replace() arguments so timeout error stack shows the real message  -  by @lazerg in https://github.com/vitest-dev/vitest/issues/10875 [(aba0f)](https://github.com/vitest-dev/vitest/commit/aba0f9b7b) - Stale mock metadata breaks automocking with isolate:false  -  by @kade-robertson in https://github.com/vitest-dev/vitest/issues/10145 and https://github.com/vitest-dev/vitest/issues/10541 [(8e210)](https://github.com/vitest-dev/vitest/commi _[Truncated at 4000 characters — full notes: https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-rc.1]_