---
title: "vitest Breaking Changes on npm | Since.dev"
description: "What each vitest release removed, renamed or changed: 387 breaking changes in 13 versions on npm, each with its source."
canonical_url: https://since.dev/packages/npm/vitest
last_updated: 2026-09-03
---

# vitest breaking changes

Every breaking API change we have recorded in vitest on npm: 387 breaking changes in 13 versions. Below are its newest 6 versions, removals and renames first, each with its source.

Newest change September 3, 2026

## 5.0.0

341 breaking changes, first published September 3, 2026.

- **Removed** `bench`  

bench was removed in vitest 5.0.0 [npmjs.com](https://www.npmjs.com/package/vitest/v/5.0.0)
- **Removed** `BenchFactory`  

BenchFactory was removed in vitest 5.0.0 [npmjs.com](https://www.npmjs.com/package/vitest/v/5.0.0)
- **Removed** `BenchFunction`  

BenchFunction was removed in vitest 5.0.0 [npmjs.com](https://www.npmjs.com/package/vitest/v/5.0.0)
- **Removed** `Benchmark`  

Benchmark was removed in vitest 5.0.0 [npmjs.com](https://www.npmjs.com/package/vitest/v/5.0.0)
- **Removed** `BenchmarkAPI`  

BenchmarkAPI was removed in vitest 5.0.0 [npmjs.com](https://www.npmjs.com/package/vitest/v/5.0.0)
- **Removed** `BenchmarkResult`  

BenchmarkResult was removed in vitest 5.0.0 [npmjs.com](https://www.npmjs.com/package/vitest/v/5.0.0)
- **Removed** `BenchmarkRunner`  

BenchmarkRunner was removed in vitest 5.0.0 [npmjs.com](https://www.npmjs.com/package/vitest/v/5.0.0)
- **Removed** `BenchTask`  

BenchTask was removed in vitest 5.0.0 [npmjs.com](https://www.npmjs.com/package/vitest/v/5.0.0)
- **Removed** `BenchTaskResult`  

BenchTaskResult was removed in vitest 5.0.0 [npmjs.com](https://www.npmjs.com/package/vitest/v/5.0.0)
- **Removed** `config:TestUserConfig.compare`  

TestUserConfig.compare was removed in vitest 5.0.0 [npmjs.com](https://www.npmjs.com/package/vitest/v/5.0.0)

And 331 more in this version.

## 5.0.0-rc.4

1 breaking change, first published September 3, 2026.

- **Default changed**  

vitest list now parses test files statically by default instead of loading them. [github.com](https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-rc.4)

## 5.0.0-rc.3

1 breaking change, first published September 3, 2026.

- **Behavior changed** `toMatchFileSnapshot`  

Using the same snapshot file for toMatchFileSnapshot and toMatchSnapshot now rejects, so such tests must use separate files. [github.com](https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-rc.3)

## 5.0.0-rc.2

3 breaking changes, first published September 3, 2026.

- **Behavior changed**  

The coverage report and all UI subtree requests now require authentication, so unauthenticated access will fail. [github.com](https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-rc.2)
- **Behavior changed**  

Redirect mocks now only work for paths on the fs allowlist, so mocks outside it will no longer apply. [github.com](https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-rc.2)
- **Behavior changed** `getBy*`  

Filter-only options passed to getBy\* locators are now disallowed and will throw. [github.com](https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-rc.2)

## 5.0.0-rc.1

9 breaking changes, first published September 3, 2026.

- **Behavior changed**  

Unawaited asynchronous assertions now fail the test, so code that relied on them being ignored will fail. [github.com](https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-rc.1)
- **Behavior changed**  

Inline projects share a single Vite server instead of each having their own. [github.com](https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-rc.1)
- **Behavior changed**  

Failure screenshots are now saved in attachmentsDir instead of their previous location. [github.com](https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-rc.1)
- **Behavior changed**  

Class mock prototype methods are now preserved on instances, which changes what mocked instances expose. [github.com](https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-rc.1)
- **Behavior changed**  

Projects can now be nested, which changes how project configs are resolved. [github.com](https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-rc.1)
- **Behavior changed**  

Expect and matcher types now handle promises differently, which can change type checks in existing code. [github.com](https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-rc.1)
- **Behavior changed**  

Temporal can now be mocked without fake timers, which changes how Temporal mocks behave. [github.com](https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-rc.1)
- **Behavior changed** `-t`  

Test name filters with -t use > between names instead of the previous separator. [github.com](https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-rc.1)
- **Default changed**  

Inline projects inherit the root config unless users opt out, so their settings may change. [github.com](https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-rc.1)

## 5.0.0-beta.7

2 breaking changes, first published September 3, 2026.

- **Behavior changed**  

Config resolution now happens separately from creating the Vite server, which changes how setup code that depends on that order behaves. [github.com](https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-beta.7)
- **Default changed**  

The Node compile cache is off by default and must be enabled explicitly. [github.com](https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-beta.7)

## Check your code

These are the changes. To see which of them reach your code, [scan a public repository](https://since.dev/scan.md), or have your coding agent call `check_code` with your manifest or lockfile over [MCP](https://since.dev/docs.md#mcp). [The API](https://since.dev/docs.md#api) reads every change in every version, not only the newest. On Team and up, a fix pull request opens for the changes that reach a connected repository. Nothing merges or deploys.

## Put your code on continuous management.

Scan a public repository now, or give your agent one line.

### See how out of date your code is.

[Scan a repository](https://since.dev/scan.md). Any public GitHub repository. No sign-in.

### Tell your agent what changed since it was trained.

`claude mcp add --transport http since https://api.since.dev/mcp`

---

Every page on this site as Markdown: https://since.dev/sitemap.md. For agents: https://since.dev/llms.txt.
