pending: summary queued
Detected 2026-11-03 at 02:31 UTC. Summaries usually land within a few hours; the full release notes are already below.
release-notesgithub.com/vitest-dev/vitest · 100 lines
- ### 🚀 Features
- - Add `--last-failed` to run only failed tests - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11558 [<samp>(82f63)</samp>](https://github.com/vitest-dev/vitest/commit/82f634220)
- - Support `Temporal.Instant` and `Temporal.ZonedDateTime` in `vi.setSystemTime()` - by @Prajwal2246, **Prajwal2246**, **Claude Opus 5.5 (1M context)**, @hi-ogawa and **Codex (GPT-6)** in https://github.com/vitest-dev/vitest/issues/11321 [<samp>(f150f)</samp>](https://github.com/vitest-dev/vitest/commit/f150f5108)
- - Introduce `--since-last-run` flag - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11516 [<samp>(08bd9)</samp>](https://github.com/vitest-dev/vitest/commit/08bd93b7e)
- - Expose per-retry/repeat attempt result - by @hi-ogawa, **Codex (GPT-6)** and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11232 [<samp>(21be4)</samp>](https://github.com/vitest-dev/vitest/commit/21be412ed)
- - Support fake timers for `node:timers` and `node:timers/promise` - by @hi-ogawa, **OpenCode** and **Codex (GPT-6)** in https://github.com/vitest-dev/vitest/issues/10899 [<samp>(fbe97)</samp>](https://github.com/vitest-dev/vitest/commit/fbe973cae)
- - Allow coverage providers to store data in fs module cache - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/11747 [<samp>(54a2b)</samp>](https://github.com/vitest-dev/vitest/commit/54a2bdb81)
- - Interactively review failed snapshots - by @macarie and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/11325 [<samp>(54e5b)</samp>](https://github.com/vitest-dev/vitest/commit/54e5b8a8a)
- - **browser**:
- - Mock modules through an import map - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11534 [<samp>(707f8)</samp>](https://github.com/vitest-dev/vitest/commit/707f8adf4)
- - Drop experimental label from trace view - by @hi-ogawa and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11518 [<samp>(44c3c)</samp>](https://github.com/vitest-dev/vitest/commit/44c3c2fcf)
- - Introduce experimental `pointer` API - by @macarie in https://github.com/vitest-dev/vitest/issues/10780 [<samp>(5dc09)</samp>](https://github.com/vitest-dev/vitest/commit/5dc09f0ea)
- - Capture aria snapshot in trace view - by @hi-ogawa and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11492 [<samp>(0cc39)</samp>](https://github.com/vitest-dev/vitest/commit/0cc39fb90)
- - Show trace steps timeline on terminal on test failure - by @hi-ogawa and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11594 [<samp>(973dc)</samp>](https://github.com/vitest-dev/vitest/commit/973dc84be)
- - Add failure-only trace view mode - by @hi-ogawa and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11612 [<samp>(d5d7d)</samp>](https://github.com/vitest-dev/vitest/commit/d5d7d2f06)
- - Enable failure-only trace view by default - by @hi-ogawa and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11766 [<samp>(f37b6)</samp>](https://github.com/vitest-dev/vitest/commit/f37b6b707)
- - **coverage**:
- - V8 to support `ignoreNode` option - by @erickserra and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/11688 [<samp>(e02db)</samp>](https://github.com/vitest-dev/vitest/commit/e02db0869)
- - **experimental**:
- - Add trace timeline for node - by @hi-ogawa and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11753 [<samp>(4e985)</samp>](https://github.com/vitest-dev/vitest/commit/4e9855151)
- - Add message option to vi.waitFor and vi.waitUntil - by @hi-ogawa and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11754 [<samp>(fd145)</samp>](https://github.com/vitest-dev/vitest/commit/fd145d8d6)
- ### 🐞 Bug Fixes
- - Rerun setup files after `--changed` filtering - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11621 [<samp>(3a39c)</samp>](https://github.com/vitest-dev/vitest/commit/3a39cfc54)
- - Return the mock to concurrent imports - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11623 [<samp>(1453b)</samp>](https://github.com/vitest-dev/vitest/commit/1453ba690)
- - Don't fail on console log pending at teardown - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11619 [<samp>(a60b8)</samp>](https://github.com/vitest-dev/vitest/commit/a60b8e132)
- - Reference chai types in every d.ts chunk - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11618 [<samp>(fb150)</samp>](https://github.com/vitest-dev/vitest/commit/fb150158b)
- - Detect mock factory cycles that form later - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11642 [<samp>(e9554)</samp>](https://github.com/vitest-dev/vitest/commit/e95541584)
- - Skip fs module cache for typed import.meta.glob - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11666 [<samp>(79501)</samp>](https://github.com/vitest-dev/vitest/commit/79501f3a1)
- - Run tests that import a deleted file - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11669 [<samp>(80aa1)</samp>](https://github.com/vitest-dev/vitest/commit/80aa13dd6)
- - Keep syntax highlighting in code frames - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11705 [<samp>(d39f5)</samp>](https://github.com/vitest-dev/vitest/commit/d39f51548)
- - Respect CLI filters when prewarming browsers - by @sheremet-va and **Benjamin Tang** in https://github.com/vitest-dev/vitest/issues/11706 [<samp>(10947)</samp>](https://github.com/vitest-dev/vitest/commit/109474892)
- - Read cached source as utf-8 - by @juan-fernandez in https://github.com/vitest-dev/vitest/issues/11682 and https://github.com/vitest-dev/vitest/issues/11709 [<samp>(867a5)</samp>](https://github.com/vitest-dev/vitest/commit/867a5e41c)
- - Inherit `watch` from the root config in projects - by @nstepien and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11724 [<samp>(77c12)</samp>](https://github.com/vitest-dev/vitest/commit/77c122c6b)
- - Prefix expect.poll message to all errors - by @hi-ogawa and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11756 [<samp>(cab58)</samp>](https://github.com/vitest-dev/vitest/commit/cab5877db)
- - Support api.port 0 - by @hi-ogawa and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11641 [<samp>(3667c)</samp>](https://github.com/vitest-dev/vitest/commit/3667cf8a3)
- - Show attempts in test error logs of retried tests - by @hi-ogawa and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11696 [<samp>(77a94)</samp>](https://github.com/vitest-dev/vitest/commit/77a94328a)
- - Preserve rootDir in project paths - by @btea in https://github.com/vitest-dev/vitest/issues/11816 [<samp>(bf96d)</samp>](https://github.com/vitest-dev/vitest/commit/bf96dad6a)
- - **browser**:
- - Change default port to 23315 - by @hi-ogawa and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11640 [<samp>(a2ec4)</samp>](https://github.com/vitest-dev/vitest/commit/a2ec4166d)
- - Advance fake timers in actions and expect.element - by @julienw, @hi-ogawa and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11242 [<samp>(68190)</samp>](https://github.com/vitest-dev/vitest/commit/6819008ce)
- - Drop trace view warning without html reporter - by @hi-ogawa and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11665 [<samp>(e6407)</samp>](https://github.com/vitest-dev/vitest/commit/e64075ef5)
- - Detect shared chunks via the optimizer - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11661 [<samp>(e2e9c)</samp>](https://github.com/vitest-dev/vitest/commit/e2e9c64b0)
- - Clear screenshot stability timeout - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11659 [<samp>(fbe37)</samp>](https://github.com/vitest-dev/vitest/commit/fbe37c083)
- - Measure prepare duration with one clock - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11667 [<samp>(a3ed4)</samp>](https://github.com/vitest-dev/vitest/commit/a3ed42a14)
- - Keep failure screenshot per attempt - by @hi-ogawa and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11694 [<samp>(a5022)</samp>](https://github.com/vitest-dev/vitest/commit/a5022655d)
- - Print trace timeline of each attempt - by @hi-ogawa and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11695 [<samp>(27229)</samp>](https://github.com/vitest-dev/vitest/commit/272296e5d)
- - Don't hang in `page.viewport()` - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11738 [<samp>(49ff4)</samp>](https://github.com/vitest-dev/vitest/commit/49ff4420c)
- - Skip trace entries after their attempt ended - by @hi-ogawa and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11771 [<samp>(7a56f)</samp>](https://github.com/vitest-dev/vitest/commit/7a56fea53)
- - Focus the iframe before clicking in playwright - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11798 [<samp>(eb20a)</samp>](https://github.com/vitest-dev/vitest/commit/eb20a3af1)
- - Fail the run when a tester cannot connect - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11802 [<samp>(605bf)</samp>](https://github.com/vitest-dev/vitest/commit/605bf22b7)
- - Treat edge as chromium in toHaveStyle - by @aliamanatali in https://github.com/vitest-dev/vitest/issues/11813 [<samp>(f4dd9)</samp>](https://github.com/vitest-dev/vitest/commit/f4dd97652)
- - **cache**:
- - Handle concurrent cache clearing - by @7rulnik in https://github.com/vitest-dev/vitest/issues/11697 [<samp>(09076)</samp>](https://github.com/vitest-dev/vitest/commit/090766a42)
- - Key module cache on the deps optimizer - by @MO2k4 and **Martin Oehlert** in https://github.com/vitest-dev/vitest/issues/11775 [<samp>(52485)</samp>](https://github.com/vitest-dev/vitest/commit/524856ed0)
- - Do not fail when the cache dir is unwritable - by @ezefernandezyf in https://github.com/vitest-dev/vitest/issues/11781 [<samp>(274ab)</samp>](https://github.com/vitest-dev/vitest/commit/274ab70c4)
- - **cli**:
- - Use camelCase for sinceLastRun help - by @fengmk2 in https://github.com/vitest-dev/vitest/issues/11707 [<samp>(5c674)</samp>](https://github.com/vitest-dev/vitest/commit/5c674859b)
- - **coverage**:
- - V8 `autoAttachSubprocess` to use `.tmp` directory - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/11632 [<samp>(de5af)</samp>](https://github.com/vitest-dev/vitest/commit/de5af2939)
- - V8 to ignore Vite's generated CJS namespace import helper - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/11676 [<samp>(5901f)</samp>](https://github.com/vitest-dev/vitest/commit/5901fb458)
- - **deps**:
- - Update all non-major dependencies - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11637 [<samp>(2b18e)</samp>](https://github.com/vitest-dev/vitest/commit/2b18e3724)
- - **expect**:
- - Keep soft .resolves/.rejects error location - by @hi-ogawa and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11792 [<samp>(42770)</samp>](https://github.com/vitest-dev/vitest/commit/42770759f)
- - **mocker**:
- - Don't change the original prototype chain - by @sheremet-va and **Max Schwenk** in https://github.com/vitest-dev/vitest/issues/11737 [<samp>(cca42)</samp>](https://github.com/vitest-dev/vitest/commit/cca423de9)
- - Use root __mocks__ for linked packages - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7708 and https://github.com/vitest-dev/vitest/issues/11739 [<samp>(810ec)</samp>](https://github.com/vitest-dev/vitest/commit/810ec66e1)
- - **runner**:
- - Don't drop throttled task updates - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11795 [<samp>(8e837)</samp>](https://github.com/vitest-dev/vitest/commit/8e837b87a)
- - **ui**:
- - Escape search text in explorer highlight - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11672 [<samp>(3c6d6)</samp>](https://github.com/vitest-dev/vitest/commit/3c6d6dd24)
- - Fix html reporter crash when --bail cancels files - by @hi-ogawa and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11693 [<samp>(36a5f)</samp>](https://github.com/vitest-dev/vitest/commit/36a5fa132)
- - Fix quirks mode in trace view replay - by @hi-ogawa and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11744 [<samp>(b9b73)</samp>](https://github.com/vitest-dev/vitest/commit/b9b73596c)
- - Let coverage report follow UI color scheme - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/11765 [<samp>(59c2d)</samp>](https://github.com/vitest-dev/vitest/commit/59c2dd3a7)
- - Open trace view only for tests with a trace - by @hi-ogawa and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11770 [<samp>(c022d)</samp>](https://github.com/vitest-dev/vitest/commit/c022d630f)
- - **vm**:
- - Strip hashbang before compiling CommonJS dependencies - by @cwoebker in https://github.com/vitest-dev/vitest/issues/11731 [<samp>(1a77c)</samp>](https://github.com/vitest-dev/vitest/commit/1a77c6cbc)
- - Keep node globals after teardown - by @francesco-agnoletto in https://github.com/vitest-dev/vitest/issues/11380 and https://github.com/vitest-dev/vitest/issues/11681 [<samp>(a57b4)</samp>](https://github.com/vitest-dev/vitest/commit/a57b4d8a3)
- - Reset fake timers after each test file - by @francesco-agnoletto in https://github.com/vitest-dev/vitest/issues/11679 and https://github.com/vitest-dev/vitest/issues/11779 [<samp>(78c46)</samp>](https://github.com/vitest-dev/vitest/commit/78c46acdf)
- - Keep assignable accessor globals writable in node environment - by @MO2k4 and **Martin Oehlert** in https://github.com/vitest-dev/vitest/issues/11834 [<samp>(a5ec3)</samp>](https://github.com/vitest-dev/vitest/commit/a5ec316f8)
- ### 🏎 Performance
- - Reuse fsModuleCache in static collection - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11622 [<samp>(1766c)</samp>](https://github.com/vitest-dev/vitest/commit/1766c257d)
- - Cache setup/mock resolves in reused workers - by @hi-ogawa and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11760 [<samp>(5de10)</samp>](https://github.com/vitest-dev/vitest/commit/5de103a9c)
- - Don't refetch warm modules in reused runners - by @hi-ogawa and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11761 [<samp>(4f135)</samp>](https://github.com/vitest-dev/vitest/commit/4f135cc1d)
- - **browser**:
- - Map only first frame for trace locations - by @hi-ogawa and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11613 [<samp>(a967d)</samp>](https://github.com/vitest-dev/vitest/commit/a967d8f39)
- - Disable WebSocketServer's allowSynchronousEvents - by @nstepien in https://github.com/vitest-dev/vitest/issues/11794 [<samp>(d4572)</samp>](https://github.com/vitest-dev/vitest/commit/d4572032f)
- - **coverage**:
- - Istanbul to use `magic-string`+`rolldown` for instrumentation - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/11648 [<samp>(2470b)</samp>](https://github.com/vitest-dev/vitest/commit/2470befec)
- - Istanbul to collect uncovered files in `Promise.all` - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/11713 [<samp>(f1092)</samp>](https://github.com/vitest-dev/vitest/commit/f1092b34b)
- - Istanbul to not store input source maps in coverage data - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/11686 [<samp>(2debb)</samp>](https://github.com/vitest-dev/vitest/commit/2debb4e51)
- - **expect**:
- - Compare typed arrays in one loop - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11658 [<samp>(908eb)</samp>](https://github.com/vitest-dev/vitest/commit/908eb573f)
- ##### [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v5.0.5...v5.1.0)