# 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]_