## vitest-dev/vitest — v5.0.0-beta.7…v5.0.0-rc.1

_64 commits._

### Features
- **feat(browser)!: save failure screenshots in `attachmentsDir` (#10917)** (3b5bbd8)
- **feat!: share the Vite server between inline projects (#10848)** (d87c96e)
- **feat: report the duration breakdown as percentages (#10820)** (c67d296)
- **feat(vm): support `require(esm)` in vm pools (#10829)** (01298e5)
- **feat!: fail the test when an asynchronous assertion is not awaited (#10868)** (86d4a9d)
- **feat!: support nested projects (#10846)** (ec367cf)
- **feat(types)!: add better promise support in expects and matchers (#8266)** (41f551b)
- **feat!: enable mocking Temporal without fake timers (#10757)** (ac2d46b)
- **feat!: inline projects extend the root config by default (#10750)** (fec001a)
- **feat(cli): support -p shorthand for --project (#10826)** (1adddde)

### Fixes
- **fix(vitest): remove broken "./src/*" export from package.json (#10918)** (2e5df75)
- **fix(reporters): print parent describe suites when the passed-test list is hidden (fix #10606) (#10768)** (658affe)
- **fix(expect): handle nullish toHaveProperty values (fix #10735) (#10811)** (99e596d)
- **fix(browser): configure internal optimizer dependencies (#10915)** (a72f46e)
- **fix(spy)!: preserve class mock prototype methods on instances (#10910)** (6093d76)
- **fix(deps): update all non-major dependencies (#10898)** (61c4b80)
- **fix(browser): restore dependency reload warning (#10913)** (90d696d)
- **fix(typecheck): report a checker crash on Windows instead of a spawn failure (#10907)** (77aac87)
- **fix(browser): prebundle vite module runner with vitest (fix #10836) (#10856)** (37c2401)
- **perf(browser): serve framework assets as immutable (#10729)** (7af8755)
- **fix: don't lose worker output on teardown, deflake timing-sensitive tests (#10842)** (1216b5a)
- **fix(vm): stop retaining every finished test file in vm pool workers (#10854)** (3850323)
- **fix(browser): resolve `connectTimeout` from the project config (fix #10879) (#10880)** (62c795d)
- **fix: stale mock metadata breaks automocking with isolate:false (fix #10145) (#10541)** (8e2108d)
- **perf: lowers peak memory usage when using `--changed` on a large graph (#10866)** (9f23f8e)
- **fix(cache): improve `fsModuleCache` resiliency during external modifications (#10869)** (5eb3570)
- **fix: swap replace() arguments so timeout error stack shows the real message (#10875)** (aba0f9b)
- **fix!: use `>` as separator in `-t`, calculate `only` once (#10686)** (a0b20bc)
- **fix(cli): exit on `CTRL+c` even when `globalSetup` runs blocked code (#10863)** (d568f8c)
- **fix(deps): update all non-major dependencies (#10861)** (0188c81)
- **fix(runner): don't fail collection when accessing `error.stack` throws (#10839)** (202e27f)
- **fix(browser): ignore channel events in a tester opened as a top-level window (fix #9379) (#9381)** (46a3cf7)
- **fix: collect in-source tests when the module is cached (fix #10577) (#10589)** (a7bf2b2)
- **fix: prevent `vitest --typecheck` from reporting a false success when the `tsc` process crashes (#10705)** (a1b0565)
- **fix(spy): point ESM namespace spy error to module mocking docs (#10707)** (d6ceca9)
- **fix(deps): update all non-major dependencies (#9958)** (7faa7b0)
- **fix: coalesce concurrent watch-mode restarts, deflake the pool stderr fixture (#10822)** (a31f86a)

### Tests
- **test: remove unused empty fixture configs (#10501)** (7af4b6e)
- **test: deflake tests sharing the watch fixture (#10841)** (d487659)
- **test(browser): cover instance headless overrides (#10851)** (0f86612)

### Docs
- **docs: normalize ordered list number (#10895)** (94a9b1d)
- **docs(browser): clarify special keys supported by userEvent.keyboard (closes #7118) (#10903)** (6ac8cf2)
- **docs: add TestMu AI to sponsors (#10904)** (3cf27ed)
- **docs: fix misleading `toHaveResolved` JSDoc examples (#10874)** (14aa6af)
- **docs: explain vm pool worker recycling cost (#10855)** (96e40fe)

### Chore
- **chore: release v5.0.0-rc.1 (#10920)** (a7fa111)
- **ci: trigger pkg.pr.new on backport branch and workflow dispatch (#10547)** (81001a4)
- **chore(vitest): remove dead code that the "./src/*" export was hiding from knip (#10919)** (6a99eac)
- **chore(deps): update eslint packages (#10897)** (928bbc8)
- **chore(deps): update dependency @testing-library/jest-dom to v7 (#10901)** (b1c7561)
- **chore(deps): update dependency @antfu/ni to v30 (#10900)** (ea8c88f)
- **chore(deps): update dependency @antfu/install-pkg to v2 (#10862)** (64a5731)
- **chore(deps): update dependency @types/jsdom to v28 (#9672)** (2f100b2)
- **chore(deps): update actions/download-artifact action to v8 (#10764)** (9615d44)
- **chore(deps): update dependency fastify to v5.8.5 [security] (#10642)** (2a5a990)
- **chore(deps): update dependency picomatch to v4.0.4 [security] (#10638)** (7899c34)
- **chore(deps): update shiki monorepo to v4 (#10625)** (6fb8143)
- **chore(deps): update dependency @antfu/eslint-config to v9 (#10801)** (4ee06e3)
- **chore(deps): update dependency eslint to ^10.8.0 (#10834)** (621b015)
- **chore: remove direct `esbuild` devDependency (#10849)** (613c770)
- **chore: add Knip checks (#10847)** (0553851)
- **chore(deps): update dependency @babel/core to v7.29.6 [security] (#10786)** (eb16ab8)
- **ci: add semgrep (#10844)** (bef061e)
- **refactor: deduplicate run-level option propagation and document the resolution model (#10823)** (1ffafc0)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/vitest-dev/vitest?utm_source=github-action)._