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

On this page
5.0.0
- Removed
bench
bench was removed in vitest 5.0.0 npmjs.com - Removed
BenchFactory
BenchFactory was removed in vitest 5.0.0 npmjs.com - Removed
BenchFunction
BenchFunction was removed in vitest 5.0.0 npmjs.com - Removed
Benchmark
Benchmark was removed in vitest 5.0.0 npmjs.com - Removed
BenchmarkAPI
BenchmarkAPI was removed in vitest 5.0.0 npmjs.com - Removed
BenchmarkResult
BenchmarkResult was removed in vitest 5.0.0 npmjs.com - Removed
BenchmarkRunner
BenchmarkRunner was removed in vitest 5.0.0 npmjs.com - Removed
BenchTask
BenchTask was removed in vitest 5.0.0 npmjs.com - Removed
BenchTaskResult
BenchTaskResult was removed in vitest 5.0.0 npmjs.com - Removed
config:TestUserConfig.compare
TestUserConfig.compare was removed in vitest 5.0.0 npmjs.com
And 331 more in this version.
5.0.0-rc.4
- Default changed
vitest list now parses test files statically by default instead of loading them. github.com
5.0.0-rc.3
- Behavior changed
toMatchFileSnapshot
Using the same snapshot file for toMatchFileSnapshot and toMatchSnapshot now rejects, so such tests must use separate files. github.com
5.0.0-rc.2
- Behavior changed
The coverage report and all UI subtree requests now require authentication, so unauthenticated access will fail. github.com - Behavior changed
Redirect mocks now only work for paths on the fs allowlist, so mocks outside it will no longer apply. github.com - Behavior changed
getBy*
Filter-only options passed to getBy* locators are now disallowed and will throw. github.com
5.0.0-rc.1
- Behavior changed
Unawaited asynchronous assertions now fail the test, so code that relied on them being ignored will fail. github.com - Behavior changed
Inline projects share a single Vite server instead of each having their own. github.com - Behavior changed
Failure screenshots are now saved in attachmentsDir instead of their previous location. github.com - Behavior changed
Class mock prototype methods are now preserved on instances, which changes what mocked instances expose. github.com - Behavior changed
Projects can now be nested, which changes how project configs are resolved. github.com - Behavior changed
Expect and matcher types now handle promises differently, which can change type checks in existing code. github.com - Behavior changed
Temporal can now be mocked without fake timers, which changes how Temporal mocks behave. github.com - Behavior changed
-t
Test name filters with -t use > between names instead of the previous separator. github.com - Default changed
Inline projects inherit the root config unless users opt out, so their settings may change. github.com
5.0.0-beta.7
- 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 - Default changed
The Node compile cache is off by default and must be enabled explicitly. github.com
Check your code
These are the changes. To see which of them reach your code, scan a public repository, or have your coding agent call check_code with your manifest or lockfile over MCP. The 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.
Tell your agent what changed since it was trained.
claude mcp add --transport http since https://api.since.dev/mcp