Vitest Release Notes

Follow

44 release notes curated from 6 sources by the Releasebot Team. Last updated: Jul 6, 2026

Get this feed:
  • Jul 6, 2026
    • Date parsed from source:
      Jul 6, 2026
    • First seen by Releasebot:
      Jul 6, 2026
    Vitest logo

    Vitest

    v5.0.0-beta.6

    Vitest releases a major update with new vi.when(), browser screenshot directory support, and safer defaults for mocks and report output. It also hardens UI and browser handling, improves coverage and worker reliability, and fixes several testing and type issues.

    馃毃 Breaking Changes

    Add screenshotDirectory config to browser.expect.toMatchScreenshot - by @macarie in #10592 (a60de)

    Update @sinonjs/fake-timers and support mocking Temporal - by @hi-ogawa, Hiroshi Ogawa and OpenCode (claude-opus-4-8) in #10654 (f8b15)

    Remove webdriverio package - by @sheremet-va in #10675 (5fed6)

    Clear mocks by default before each test - by @sheremet-va in #10613 (0f646)

    Don't emit localStorage warnings on Node 26, fail gracefully when worker fails to start - by @sheremet-va in #10293 (334ed)

    reporters:

    Write json and junit reporter output files to .vitest by default - by @hi-ogawa, Hiroshi Ogawa, OpenCode (claude-opus-4-8) and @AriPerkkio in #10621 (58577)

    ui:

    Harden UI API access - by @hi-ogawa, Hiroshi Ogawa and Codex in #10583 (4c26d)

    Change html reporter default output to .vitest - by @hi-ogawa and Hiroshi Ogawa in #10620 (29c36)

    馃殌 Features

    vitest: Create vi.when() - by @macarie in #10174 (3900e)

    馃悶 Bug Fixes

    Fix setImmediate await in detect-async-leak - by @hi-ogawa and Hiroshi Ogawa in #10608 (dd62b)

    Fix per-project sequence config - by @hi-ogawa, Hiroshi Ogawa and OpenCode (claude-opus-4-8) in #10659 (40cdc)

    Add handshake timeout to iframe communication - by @sheremet-va in #10656 (3545f)

    Don't print column in test names when includeTaskLocation is enabled - by @sheremet-va in #10681 (bd9cc)

    browser:

    Always derive a positive locator action timeout - by @sheremet-va in #10626 (5b864)

    Resize the browser ui only if it's not headless - by @sheremet-va in #10662 (b5c61)

    Check fs access in builtin commands - by @hi-ogawa, Hiroshi Ogawa and OpenCode (claude-opus-4-8) in #10674 (33f96)

    coverage:

    Non-awaited module imports cause wrong offsets - by @AriPerkkio in #10643 (c4090)

    Fail fast when coverage.reportsDirectory conflicts between concurrent runs - by @jgamaraalv and @AriPerkkio in #10466 (833f0)

    pool:

    Improve error message when worker exits unexpectedly - by @filmaj and @AriPerkkio in #10587 (76139)

    types:

    Allow changed in configuration options - by @AriPerkkio in #10651 (0da12)

    vm:

    Fix external module resolve error with deps optimizer query for encoded URI - by @SveLil in #10658 (90c4e)

    View changes on GitHub

    Original source
  • Jul 6, 2026
    • Date parsed from source:
      Jul 6, 2026
    • First seen by Releasebot:
      Jul 6, 2026
    Vitest logo

    Vitest

    v4.1.10

    Vitest fixes browser fs access checks and vm external module resolution in a backport release.

    馃悶 Bug Fixes

    browser: Check fs access in builtin commands [backport to v4] - by @hi-ogawa, Hiroshi Ogawa and OpenCode (claude-opus-4-8) in #10680 (5c18d)

    vm: Fix external module resolve error with deps optimizer query for encoded URI [backport to v4] - by @SveLil and @hi-ogawa in #10661 (bae52)

    View changes on GitHub

    Original source
  • All of your release notes in one feed

    Join Releasebot and get updates from Vitest and hundreds of other software products.

    Create account
  • Jul 6, 2026
    • Date parsed from source:
      Jul 6, 2026
    • First seen by Releasebot:
      Jul 6, 2026
    Vitest logo

    Vitest

    v3.2.7

    Vitest fixes browser fs access checks in builtin commands, backported to v3.

    馃悶 Bug Fixes

    browser: Check fs access in builtin commands [backport to v3] - by @hi-ogawa, Hiroshi Ogawa and OpenCode (claude-opus-4-8) in #10679 (b795e)

    View changes on GitHub

    Original source
  • Jun 16, 2026
    • Date parsed from source:
      Jun 16, 2026
    • First seen by Releasebot:
      Jun 16, 2026
    Vitest logo

    Vitest

    v4.1.9

    Vitest fixes key bugs in browser sessions, iframe readiness, mocking imports, and worker crashes, improving stability and reliability for v4 users.

    馃悶 Bug Fixes

    Fix importOriginal with optimizer and query import [backport to v4] - by Hiroshi Ogawa, David Harris, Codexand Vladimir in #10546 (a5180)

    browser:

    Wait for orchestrator readiness before resolving browser sessions [backport to v4] - by Vladimir and S茅amus O'Connor in #10555 (7fb29)

    Wait for iframe tester readiness before preparing [backport to v4] - by Vladimir and S茅amus O'Connor in #10497 and #10556 (fbc62)

    mocker:

    Hoist vi.mock() for vite-plus/test imports [backport to v4] - by Hiroshi Ogawa, LongYinan, Claude Opus 4.8 and Vladimir in #10548 (2c955)

    pool:

    Prevent test run hang on worker crash [backport to v4] - by Ari Perkki枚 and Jattioui Ismail in #10543 and #10564 (934b0)

    View changes on GitHub

    Original source
  • Jun 15, 2026
    • Date parsed from source:
      Jun 15, 2026
    • First seen by Releasebot:
      Jun 16, 2026
    Vitest logo

    Vitest

    v5.0.0-beta.5

    Vitest ships breaking changes, new browser and coverage capabilities, and a set of bug fixes. Highlights include inline runner packaging, nested mark traces in the browser UI, a new --repeats CLI option, and improved stability across sessions, imports, mocks, and worker crashes.

    馃毃 Breaking Changes

    Don't lookup config file from ancestor directories - by @hi-ogawa, Codex and Hiroshi Ogawa in #10428 (945d9)

    Inline @vitest/runner package, do not publish it anymore - by @sheremet-va in #10511 (6d6e4)

    Allow mutating happy-dom/jsdom window object - by @hi-ogawa, Hiroshi Ogawa and Codex in #10373 (206e8)

    Expose concurrencyId/workerId on TestModule's diagnostics, make id 1-based - by @sheremet-va in #10516 (bdd98)

    browser: Require sessionId for orchestrator html request - by @hi-ogawa, Hiroshi Ogawa and Codex in #10522 (79b7d)

    coverage: Allow thresholds.perFile to accept an object - by @vladlenskiy and @AriPerkkio in #10190 (13b78)

    馃殌 Features

    browser: Display nested mark trace in UI - by @hi-ogawa, Hiroshi Ogawa and Codex in #10437 (86ffc)

    cli: Add --repeats CLI option - by @todor-a in #10504 (ee48b)

    coverage: thresholds.autoUpdate to receive previous threshold as argument - by @wouterkroes in #10495 (04f81)

    馃悶 Bug Fixes

    Fix mixed stdout/stderr log timestamps in onUserConsoleLog - by @Copilot, Hiroshi Ogawa, @hi-ogawa and @sheremet-va in #10308 (62756)

    Fix importOriginal with optimizer and query import - by @davidhwilliams, David Harris, @hi-ogawa, Hiroshi Ogawa and Codex in #10469 (6a3bb)

    Correct transform time calculation in merged report - by @potatomatoooo and @hi-ogawa in #10570 and #10578 (b7897)

    browser:

    Wait for orchestrator readiness before resolving browser sessions - by @soconnor-seeq in #10397 (fe5ed)

    Wait for iframe tester readiness before preparing - by @soconnor-seeq in #10497 (f2655)

    Encode iframeId in tester iframe URL - by @Pduhard, Pduhard and Claude Opus 4.8 (1M context) in #10520 and #10521 (c8bf1)

    coverage:

    Avoid matching sibling project roots - by @innoprej, Shin JaeHee and @AriPerkkio in #10311 (e30dd)

    mocker:

    Hoist vi.mock() for vite-plus/test imports - by @Brooooooklyn and Claude Opus 4.8 (1M context) in #10489 (88376)

    pool:

    Prevent test run hang on worker crash - by @jaxalo and @AriPerkkio in #10543 (40878)

    vitest:

    Strip non-serializable functions from inline diff config - by @DucMinhNe in #10573 (5b81a)

    View changes on GitHub

    Original source
  • Similar to Vitest with recent updates:

  • Jun 1, 2026
    • Date parsed from source:
      Jun 1, 2026
    • First seen by Releasebot:
      Jun 1, 2026
    Vitest logo

    Vitest

    v5.0.0-beta.4

    Vitest releases breaking changes, new browser and reporter features, and a wide set of bug fixes and performance improvements. Highlights include stricter text matching, browser trace view steps in the editor panel, single-file HTML reporter output, and faster hot paths.

    馃毃 Breaking Changes

    Throw an error if hoistable methods are outside the top level scope - by @sheremet-va in #10460 (d0b4f)

    toHaveTextContent is strict, add toMatchTextContent as alternative - by @sheremet-va in #10473 (18f30)

    benchmark: Rewrite the public API - by @sheremet-va in #10113 (19f6e)

    browser: Enable locators.exact by default - by @sheremet-va in #10430 (e2032)

    馃殌 Features

    browser: Show trace view steps in editor panel - by @hi-ogawa and Codex in #10404 (8c4b6)

    reporter: Support html reporter single file output - by @hi-ogawa, Codex and Claude Opus 4.7 (1M context) in #10235 (f757e)

    馃悶 Bug Fixes

    Preserve vi.defineHelper callsite for async error stack - by @macayu17 and @hi-ogawa in #10415 (ac697)

    Respect disableConsoleIntercept in browser mode - by @Copilot, hi-ogawa, @hi-ogawa and Codex in #10391 (66110)

    ForceRerunTriggers uses directory globs against files - by @Patrick-Clausen and Patrick Clausen in #10421 and #10420 (4fee2)

    Unify typechecking and ast collection - by @sheremet-va in #10449 (af993)

    Don't print typecheck warning more than once - by @sheremet-va in #10461 (15275)

    Correct collumn when parsing tests - by @sheremet-va in #10467 (7c2fc)

    browser:

    Fix stale source map on watch mode - by @hi-ogawa in #10389 (6d772)

    Escape inline orchestrator scripts - by @hi-ogawa and Codex in #10412 (c22cf)

    Disable client cdp API when allowWrite/allowExec: false - by @hi-ogawa and Codex in #10444 (63e3b)

    mocker:

    Skip hoist transform without ast mock calls - by @hi-ogawa and Codex in #10410 (0468e)

    ui:

    Fix module graph in browser mode with --ui - by @hi-ogawa in #10386 (3003c)

    Render ANSI color codes in editor panel inline error widget - by @Copilot, hi-ogawa and @hi-ogawa in #10418 (766b8)

    webdriverio:

    Allow gpu in headless chrome - by @rotempasharel1 in #10376 (f310a)

    馃弾 Performance

    Improve performance in hot paths - by @sheremet-va in #10446 (03faf)

    View changes on GitHub

    Original source
  • Jun 1, 2026
    • Date parsed from source:
      Jun 1, 2026
    • First seen by Releasebot:
      Jun 1, 2026
    Vitest logo

    Vitest

    v4.1.8

    Vitest fixes browser client CDP access controls and cleans up orphaned Playwright routes in a backport release.

    Bug Fixes

    browser:

    Disable client cdp API when allowWrite/allowExec: false [backport to v4] - by @hi-ogawa and Codex in #10450 (e4067)

    Remove orphaned Playwright route when same module is mocked via multiple ids [backport to v4] - by @toxik and @Zelys-DFKH in #10474 (675b4)

    View changes on GitHub

    Original source
  • Jun 1, 2026
    • Date parsed from source:
      Jun 1, 2026
    • First seen by Releasebot:
      Jun 1, 2026
    Vitest logo

    Vitest

    v3.2.6

    Vitest fixes a bug by pinning the last supported vite-node version.

    馃悶 Bug Fixes

    Pin last supported vite-node version - by @sheremet-va (16f12)

    View changes on GitHub

    Original source
  • Jun 1, 2026
    • Date parsed from source:
      Jun 1, 2026
    • First seen by Releasebot:
      Jun 1, 2026
    Vitest logo

    Vitest

    v3.2.5

    Vitest adds allowWrite and allowExec options to the API and disables client CDP access when they are false.

    Features

    api: Add allowWrite and allowExec options to api [backport to v3] - by @hi-ogawa and Codex in #10445 (af88b)

    Bug Fixes

    browser: Disable client cdp API when allowWrite/allowExec: false [backport to v3] - by @hi-ogawa and Codex in #10456 (385a1)

    View changes on GitHub

    Original source
  • May 20, 2026
    • Date parsed from source:
      May 20, 2026
    • First seen by Releasebot:
      Jun 1, 2026
    Vitest logo

    Vitest

    v4.1.7

    Vitest fixes runner concurrency by limiting it per task branch and leaf callbacks.

    馃悶 Bug Fixes

    runner: Limit concurrency per task branch in addition to per leaf callbacks (backport) - by @hi-ogawa in #10384 (4f0f2)

    View changes on GitHub

    Original source
  • May 19, 2026
    • Date parsed from source:
      May 19, 2026
    • First seen by Releasebot:
      May 19, 2026
    Vitest logo

    Vitest

    v5.0.0-beta.3

    Vitest releases a major update with Node.js 22 and Vite 6.4 requirements, plus new TypeScript build mode support, richer test and trace logging, improved browser and reporter tooling, and faster diff and screenshot handling.

    Breaking Changes

    Require Node.js 22 and Vite 6.4 - by @sheremet-va in #10178 (38762)

    Fail expect.poll when function didn't resolve in time - by @hi-ogawa and Codex in #10233 (4df04)

    Features

    Support typescript build mode - by @lishaduck in #9870 (106da)

    api:

    Expose logs recorded during the test - by @sheremet-va in #10277 (cba20)

    browser:

    Show aria tree on locator element error - by @hi-ogawa and Codex in #10257 (04f04)

    Support custom kind in page.mark - by @AriPerkkio in #10302 (053e8)

    Live update trace view on watch UI - by @hi-ogawa and Codex in #10296 (78c11)

    Add context.mark for custom command tracing - by @AriPerkkio in #10329 (aa514)

    Bug Fixes

    Shell injection safety via github.ref_name in publish workflow - by @lloyd-c137 and lloyd-c137 in #10327 (dd020)

    Make attachmentsDir root only config - by @hi-ogawa and Codex in #10334 (fab1b)

    Apply cjs interop for truthy __esModule - by @hi-ogawa in #10363 (2b135)

    browser:

    Simplify orchestrator otel carrier - by @hi-ogawa in #10283 (3514f)

    Remove orphaned Playwright route when same module is mocked via multiple ids - by @Zelys-DFKH in #9957 and #10267 (41db6)

    Skip wrapDynamicImport transform on ssr environment - by @hi-ogawa in #10355 (d3c96)

    cli:

    Respect FORCE_COLOR over agent detection - by @dokson in #10272 (7e66b)

    coverage:

    exclude to not inherit negation globs from test.include - by @AriPerkkio in #10299 (28685)

    deps:

    Update fake-timers to 15.3.2. support toNotFake - by @BPScott, @hi-ogawa and Codex in #10043 (bbf2f)

    expect:

    Allow readonly arrays and sets in toBeOneOf - by @YBJ0000 in #10264 and #10374 (fed11)

    junit:

    Include unhandled errors in JUnit XML report - by @gbleu and Claude Sonnet 4.6 in #10244 (6f74e)

    reporter:

    Guard against non-finite slowTestThreshold in summary reporter - by @OfekDanny, Ofek Danny, Claude Sonnet 4.6 and @AriPerkkio in #10202 (f362f)

    Fix non-existing import subpath module blob serialization - by @hi-ogawa in #10318 (29cb0)

    reporters:

    Fix blob file name with label - by @hi-ogawa in #10346 (c5e2e)

    summary to intercept logger's streams even when they are not process.std* streams - by @AriPerkkio in #10340 (f79e7)

    Fix missing testModules in onTestRunEnd when merging blobs from different root directory test runs - by @hi-ogawa and Codex in #10348 (745b3)

    runner:

    Remove AbortSignal listener leak in withCancel - by @tomohiro86 and @AriPerkkio in #10265 (ab098)

    ui:

    Fix duplicate colored error message - by @hi-ogawa and Codex in #10258 (035e3)

    Fix missing source code in html reporter metadata when merging blobs with different root directory test runs - by @hi-ogawa and Codex in #10338 (4f7c2)

    Performance

    Stringify diff objects only once - by @sheremet-va in #10276 (d006a)

    browser: Reduce matching screenshot overhead - by @kasperpeulen in #10278 (511c0)

    View changes on GitHub

    Original source
  • May 19, 2026
    • Date parsed from source:
      May 19, 2026
    • First seen by Releasebot:
      May 19, 2026
    Vitest logo

    Vitest

    v4.1.7

    Vitest ships v4.1.7.

    chore: release v4.1.7

    Original source
  • May 11, 2026
    • Date parsed from source:
      May 11, 2026
    • First seen by Releasebot:
      May 11, 2026
    Vitest logo

    Vitest

    v4.1.6

    Vitest fixes browser screenshots, concurrent test handling, and diff performance.

    Bug Fixes

    browser: Provide project reference in ToMatchScreenshotResolvePath - by @macarie and @sheremet-va in #10138 (31882)

    Global sequence.concurrent: true with top-level test(..., { concurrent: false }) + depreacte sequential test API and options - by @hi-ogawa, Codex and @sheremet-va in #10196 (2847d)

    browser: Simplify orchestrator otel carrier - by @hi-ogawa in #10285 (18af9)

    Performance

    Stringify diff objects only once - by @sheremet-va in #10276 (9f7b1)

    View changes on GitHub

    Original source
  • May 5, 2026
    • Date parsed from source:
      May 5, 2026
    • First seen by Releasebot:
      May 6, 2026
    Vitest logo

    Vitest

    v5.0.0-beta.2

    Vitest ships a major update with breaking changes around attachments, reporters, locator handling, inline expect, and deprecated entry points, while adding new reporter defaults, merged report support, richer error logging, screenshot path context, and coverage and JUnit improvements.

    馃毃 Breaking Changes

    Default attachmentsDir from .vitest-attachements/ to .vitest/attachments/ - by @MdSadiqMd in #10186 (1ba73)

    Remove sequential test/suite options in favor of concurrent - by @hi-ogawa and Codex in #10198 (9229f)

    Represent locator as an object instead of a string - by @sheremet-va in #10212 (80f07)

    Inline expect package - by @sheremet-va in #10221 (ad162)

    Remove deprecated entry points - by @sheremet-va in #10222 (994c6)

    mocker: Deserialize automock as automock - by @nami8824 in #10192 (2f892)

    reporters: blob reporter and --merge-reports default to .vitest/blob/ - by @AriPerkkio in #10232 (d22b0)

    馃殌 Features

    Expose default reporters through configDefaults.reporters - by @hi-ogawa and Claude Sonnet 4.6 in #10219 (083f6)

    Support merge reports for non-sharded multi-environment runs (take 2) - by @hi-ogawa, Claude Sonnet 4.6, Codex and @AriPerkkio in #10031 (e60b2)

    Add logger.formatError - by @hi-ogawa and Codex in #10268 (2c5f3)

    browser: Provide project reference in ToMatchScreenshotResolvePath - by @macarie and @sheremet-va in #10138 (16654)

    coverage: V8 to track node:child_process and node:worker_threads contexts - by @AriPerkkio in #9976 (9baa5)

    junit-reporter: Add jest-junit-compatible naming options - by @neumaennl, neumaennl, @neumann4soft and Copilot in #10189 (27393)

    馃悶 Bug Fixes

    Global sequence.concurrent: true with top-level test(..., { concurrent: false }) + depreacte sequential test API and options - by @hi-ogawa, Codex and @sheremet-va in #10194 (9387f)

    Test tags options should overwrite inherited suite options + inherit suite options in task API - by @hi-ogawa and Codex in #10216 (457db)

    Udpate optimize deps config - by @sheremet-va in #10223 (95dc6)

    browser:

    Fix trace highlight of shadow dom on webdriverio - by @hi-ogawa in #10227 (b01af)

    deps:

    Update ivya to fix empty aria tree snapshot - by @hi-ogawa in #10218 (f7822)

    runner:

    Propagate chainable flags in describe.for - by @DORI2001, Dor Alagem and @hi-ogawa in #10187 (db678)

    Limit concurrency per task branch in addition to per leaf callbacks - by @hi-ogawa in #10179 (3112a)

    snapshot:

    Treat empty string as valid snapshot - by @mayrang and @hi-ogawa in #10188 (e145d)

    spy:

    Support private method spy types - by @cyphercodes in #10172 and #10213 (628ab)

    View changes on GitHub

    Original source
  • Apr 23, 2026
    • Date parsed from source:
      Apr 23, 2026
    • First seen by Releasebot:
      Apr 23, 2026
    Vitest logo

    Vitest

    v5.0.0-beta.1

    Vitest adds report generation and a new .vitest report directory convention, supports DOM snapshot trace view and browser aria tree utils, and fixes several snapshot, coverage, browser, and expect issues while making a few breaking changes.

    Breaking Changes

    Replace loupe.inspect with pretty-format - by @hi-ogawa, Claude Sonnet 4.6 and Codex in #9609 (3f802)

    Remove quotes from string values in test.for/each title $ variable (take 2) - by @hi-ogawa in #10170 (04d37)

    browser: Iframe scale - by @macarie in #9745 (b6398)

    coverage: include/exclude globs too eager - by @AriPerkkio in #9818 (edacb)

    expect: Fix toThrow("") behavior by reverting #6710 - by @hi-ogawa in #9643 and #6710 (6c3e4)

    Features

    Add createReport and .vitest report directory convention - by @AriPerkkio in #9993 (72a6d)

    browser:

    Export aria tree utils - by @hi-ogawa in #10171 (c3423)

    Support dom snapshot trace view - by @hi-ogawa, Claude Sonnet 4.6 and Codex in #10102 (7eddd)

    Bug Fixes

    snapshot: Fail test when snapshot assertion is used with test.fails - by @hi-ogawa in #10090 (e1aa7)

    View changes on GitHub

    Original source
Releasebot

Curated by the Releasebot team

Releasebot is an aggregator of official release notes from hundreds of software vendors and thousands of sources.

Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.