⚠️ Breaking Change
Impact Score: 7/10
Vitest v0.25.0 — Release Notes & Engineering Impact
Source available — automated, not human-reviewed
Component: vitest · Channel: stable. Automated analysis, not a compatibility certification. How this works.
Analysis updated: 2026-11-01.
Breaking-change evidence from the source
🚨 Breaking Changes - Return context in `startVitest()` - by @antfu in https://github.com/vitest-dev/vitest/issues/2072
⚡ Executive Summary (TL;DR)
Vitest v0.25.0. Source highlight: ✅ Builtin TypeChecking
Who Does This Impact? (Role-Based Analysis)
💻 Software Engineers & Devs
Check the source notes against the package and APIs you use before upgrading.
📊 Product & Engineering Leads
Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.
⚙️ DevOps & Security
Verify the target version, runtime requirements and rollback procedure in the official documentation.
⚠️ Breaking Changes & Deprecations (1)
- 🚨 Breaking Changes - Return context in `startVitest()` - by @antfu in https://github.com/vitest-dev/vitest/issues/2072
✨ New Features & Capabilities (4)
- `onTestFailed` hook -
- Display error frame if present (like Vite) - by @haikyuu and @sheremet-va in https://github.com/vitest-dev/vitest/issues/2257
- Benchmark table report -
- Add typechecking functionality - by @sheremet-va and @antfu in https://github.com/vitest-dev/vitest/issues/2107
🔧 Bug Fixes & Patches (6)
- Clear full screen only in watch mode - by @sheremet-va <samp>(c3d89)</samp>
- Don't serialize symbols and immutables -
- Use --conditions instead of -C -
- Show correct stack trace in errors and console - by @sheremet-va and @antfu in https://github.com/vitest-dev/vitest/issues/2248
- Align `.each` behavior with jest - by @bartoszgolebiowski and @antfu in https://github.com/vitest-dev/vitest/issues/2064
- Remove undefined values in options - by @g4rry420 and @antfu in https://github.com/vitest-dev/vitest/issues/2281
📄 View Raw Release Notes (Original Developer Log)
### ✅ Builtin TypeChecking
In v0.25.0, Vitest allows you to write tests for your types, using `expectTypeOf` or `assertType` syntaxes. By default all tests inside `*.test-d.ts` files are considered type tests. Run `vitest typecheck` to run type tests.
```ts
// my.test-d.ts
import { assertType, expectTypeOf } from 'vitest'
import { mount } from './mount.js'
test('my types work properly', () => {
expectTypeOf(mount).toBeFunction()
expectTypeOf(mount).parameter(0).toMatchTypeOf<{ name: string }>()
// @ts-expect-error name is a string
assertType(mount({ name: 42 }))
})
```
Learn more at [the documentation](https://vitest.dev/guide/testing-types.html) and this [RFC](https://github.com/vitest-dev/vitest/issues/1954)
### 🚨 Breaking Changes
- Return context in `startVitest()` - by @antfu in https://github.com/vitest-dev/vitest/issues/2072
### 🚀 Features
- `onTestFailed` hook - by @antfu in https://github.com/vitest-dev/vitest/issues/2210
- Display error frame if present (like Vite) - by @haikyuu and @sheremet-va in https://github.com/vitest-dev/vitest/issues/2257
- Benchmark table report - by @poyoho in https://github.com/vitest-dev/vitest/issues/2179
- Add typechecking functionality - by @sheremet-va and @antfu in https://github.com/vitest-dev/vitest/issues/2107
### 🐞 Bug Fixes
- Clear full screen only in watch mode - by @sheremet-va [<samp>(c3d89)</samp>](https://github.com/vitest-dev/vitest/commit/c3d89504)
- Don't serialize symbols and immutables - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/2266
- Use --conditions instead of -C - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/2267
- Show correct stack trace in errors and console - by @sheremet-va and @antfu in https://github.com/vitest-dev/vitest/issues/2248
- Align `.each` behavior with jest - by @bartoszgolebiowski and @antfu in https://github.com/vitest-dev/vitest/issues/2064
- Remove undefined values in options - by @g4rry420 and @antfu in https://github.com/vitest-dev/vitest/issues/2281
- **coverage**: Istanbul provider to preserve implicit else - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/2275
##### [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v0.24.5...v0.25.0)