# Vitest v5.1.0 — Release & Upgrade Intelligence
- **Product:** Vitest (https://vitest.dev)
- **Version:** v5.1.0
- **Released:** Nov 02, 2026
- **Impact Score:** 5/10
- **Breaking Changes:** Not verified
- **Canonical Analysis:** https://changelogs.us/vitest/updates/v5.1.0/

## Executive Summary (TL;DR)
Vitest v5.1.0. Source highlight: &nbsp;&nbsp;&nbsp;🚀 Features

## New Features
- Add `--last-failed` to run only failed tests &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11558 <samp>(82f63)</samp>
- Support `Temporal.Instant` and `Temporal.ZonedDateTime` in `vi.setSystemTime()` &nbsp;-&nbsp; 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>
- Introduce `--since-last-run` flag &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11516 <samp>(08bd9)</samp>
- Expose per-retry/repeat attempt result &nbsp;-&nbsp; 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>
- Support fake timers for `node:timers` and `node:timers/promise` &nbsp;-&nbsp; by @hi-ogawa, **OpenCode** and **Codex (GPT-6)** in https://github.com/vitest-dev/vitest/issues/10899 <samp>(fbe97)</samp>
- Allow coverage providers to store data in fs module cache &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/11747 <samp>(54a2b)</samp>

## Improvements
- Reuse fsModuleCache in static collection &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11622 <samp>(1766c)</samp>
- Cache setup/mock resolves in reused workers &nbsp;-&nbsp; by @hi-ogawa and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11760 <samp>(5de10)</samp>
- Don&#39;t refetch warm modules in reused runners &nbsp;-&nbsp; by @hi-ogawa and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11761 <samp>(4f135)</samp>
- Map only first frame for trace locations &nbsp;-&nbsp; by @hi-ogawa and **Claude Opus 5.5 (1M context)** in https://github.com/vitest-dev/vitest/issues/11613 <samp>(a967d)</samp>
- Disable WebSocketServer&#39;s allowSynchronousEvents &nbsp;-&nbsp; by @nstepien in https://github.com/vitest-dev/vitest/issues/11794 <samp>(d4572)</samp>
- Istanbul to use `magic-string`+`rolldown` for instrumentation &nbsp;-&nbsp; by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/11648 <samp>(2470b)</samp>

## Bug Fixes
- Rerun setup files after `--changed` filtering &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11621 <samp>(3a39c)</samp>
- Return the mock to concurrent imports &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11623 <samp>(1453b)</samp>
- Don&#39;t fail on console log pending at teardown &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11619 <samp>(a60b8)</samp>
- Reference chai types in every d.ts chunk &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11618 <samp>(fb150)</samp>
- Detect mock factory cycles that form later &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11642 <samp>(e9554)</samp>
- Skip fs module cache for typed import.meta.glob &nbsp;-&nbsp; by @sheremet-va in https://github.com/vitest-dev/vitest/issues/11666 <samp>(79501)</samp>
