note: die Zusammenfassung und die Release Notes sind auf Englisch
note: keine Zusammenfassung für dieses ältere Release
Wir fassen die neueren Releases zusammen. Die originalen Release Notes dieser Version stehen hier unten.
release-notesgithub.com/vitest-dev/vitest · 185 Zeilen
- Vitest 4.0 is out!
- To stay updated, read our [blog post](https://vitest.dev/blog/vitest-4) and check the [migration guide](https://vitest.dev/guide/migration).
- ### 🚨 Breaking Changes
- - Remove `'basic'` reporter - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7884 [<samp>(82fcf)</samp>](https://github.com/vitest-dev/vitest/commit/82fcf5d53)
- - Simplify default exclude pattern - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6287 [<samp>(14c50)</samp>](https://github.com/vitest-dev/vitest/commit/14c507200)
- - Remove deprecated getSourceMap - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8194 [<samp>(ff934)</samp>](https://github.com/vitest-dev/vitest/commit/ff93444f8)
- - Replace deprecated ErrorWithDiff with TestError - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8195 [<samp>(da59e)</samp>](https://github.com/vitest-dev/vitest/commit/da59eb887)
- - Remove UserConfig type in favor of ViteUserConfig - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8196 [<samp>(22f7f)</samp>](https://github.com/vitest-dev/vitest/commit/22f7f2db5)
- - Remove deprecated coverage options in favor of `vitest/node` exports - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8197 [<samp>(dc848)</samp>](https://github.com/vitest-dev/vitest/commit/dc8486d22)
- - Remove deprecated internal helpers and environment exports - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8198 [<samp>(4703c)</samp>](https://github.com/vitest-dev/vitest/commit/4703cf850)
- - Remove deprecated typecheck and runner types - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8199 [<samp>(89a1c)</samp>](https://github.com/vitest-dev/vitest/commit/89a1cb626)
- - Remove Node types from the main entry point, use `vitest/node` instead - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8200 [<samp>(1e60c)</samp>](https://github.com/vitest-dev/vitest/commit/1e60c4f44)
- - Remove support for Vite 5 - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8202 [<samp>(cb8b0)</samp>](https://github.com/vitest-dev/vitest/commit/cb8b03bac)
- - Remove deprecated types - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8203 [<samp>(66bee)</samp>](https://github.com/vitest-dev/vitest/commit/66bee836f)
- - Remove deprecated environmentMatchGlobs and poolMatchGlobs - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8205 [<samp>(be11d)</samp>](https://github.com/vitest-dev/vitest/commit/be11d374c)
- - Remove deprecated `workspace` option in favor of `projects` - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8218 [<samp>(76fb7)</samp>](https://github.com/vitest-dev/vitest/commit/76fb75d42)
- - Ignore `--standalone` when CLI filename filter is used - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8262 [<samp>(013bf)</samp>](https://github.com/vitest-dev/vitest/commit/013bf2cb2)
- - Use module-runner instead of vite-node - by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8208 [<samp>(9be01)</samp>](https://github.com/vitest-dev/vitest/commit/9be01ba59)
- - Rewrite spying implementation to make module mocking more intuitive - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8363 [<samp>(9e412)</samp>](https://github.com/vitest-dev/vitest/commit/9e412de35)
- - Remove deprecated APIs - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8428 [<samp>(a1cb9)</samp>](https://github.com/vitest-dev/vitest/commit/a1cb9719a)
- - Remove `minWorkers` and set it automatically to 0 in non watch mode - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8454 [<samp>(2c2d1)</samp>](https://github.com/vitest-dev/vitest/commit/2c2d1d4ce)
- - Verbose reporter prints tests in a list, introduce `tree` reporter - by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8500 [<samp>(25fd3)</samp>](https://github.com/vitest-dev/vitest/commit/25fd32bf0)
- - Include shadow root contents in pretty-format output - by @wkillerud in https://github.com/vitest-dev/vitest/issues/8545 [<samp>(9e722)</samp>](https://github.com/vitest-dev/vitest/commit/9e722834a)
- - Remove deprecated order from test() API - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8594 [<samp>(4d419)</samp>](https://github.com/vitest-dev/vitest/commit/4d41928c6)
- - Rewrite pools without `tinypool` - by @AriPerkkio and @sheremet-va in https://github.com/vitest-dev/vitest/issues/8705 [<samp>(4822d)</samp>](https://github.com/vitest-dev/vitest/commit/4822d047a)
- - **browser**: Require a provider factory instead of a string - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8445 [<samp>(606cb)</samp>](https://github.com/vitest-dev/vitest/commit/606cb9e3e)
- - **expect**: Pass current equality testers to asymmetric matcher - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6825 [<samp>(965ce)</samp>](https://github.com/vitest-dev/vitest/commit/965cefc19)
- - **projects**: Allow only files that have "vitest.config" or "vite.config" in the name - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8542 [<samp>(304bc)</samp>](https://github.com/vitest-dev/vitest/commit/304bc20f0)
- - **reporter**: Remove deprecated APIs - by @AriPerkkio and @sheremet-va in https://github.com/vitest-dev/vitest/issues/8223 [<samp>(149f8)</samp>](https://github.com/vitest-dev/vitest/commit/149f8e509)
- - **runner**: Set mode to `todo` if no function is passed down to `test` or `describe` - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8346 [<samp>(1a81c)</samp>](https://github.com/vitest-dev/vitest/commit/1a81c21d2)
- - **snapshot**: Fail test with obsolete snapshot on CI - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7963 [<samp>(4d84f)</samp>](https://github.com/vitest-dev/vitest/commit/4d84f0ac6)
- - **spy**: Support spying on classes - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6160 [<samp>(abc0d)</samp>](https://github.com/vitest-dev/vitest/commit/abc0d8273)
- ### 🚀 Features
- - Provide entity to onConsoleLog - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8159 [<samp>(437d4)</samp>](https://github.com/vitest-dev/vitest/commit/437d461aa)
- - Add `onUnhandledError` callback - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8162 [<samp>(924cb)</samp>](https://github.com/vitest-dev/vitest/commit/924cb6961)
- - Add spy option to vi.mockObject - by @rChaoz in https://github.com/vitest-dev/vitest/issues/8285 [<samp>(81d76)</samp>](https://github.com/vitest-dev/vitest/commit/81d7601e4)
- - Don't use vite-node in coverage packages - by @sheremet-va [<samp>(ffdb4)</samp>](https://github.com/vitest-dev/vitest/commit/ffdb4d5fd)
- - Clickable dashboard numbers - by @shairez in https://github.com/vitest-dev/vitest/issues/7406 [<samp>(2344c)</samp>](https://github.com/vitest-dev/vitest/commit/2344c1f6e)
- - Display test "path" when filtering - by @userquin in https://github.com/vitest-dev/vitest/issues/8547 [<samp>(2e491)</samp>](https://github.com/vitest-dev/vitest/commit/2e4918954)
- - Introduce separate packages for browser mode providers - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8629 [<samp>(0dc93)</samp>](https://github.com/vitest-dev/vitest/commit/0dc93ea98)
- - Add hooks with type-safe extra context to TestAPI - by @ysfaran in https://github.com/vitest-dev/vitest/issues/8623 [<samp>(6b21c)</samp>](https://github.com/vitest-dev/vitest/commit/6b21cfe55)
- - Support `expect.assert` for type narrowing - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8695 [<samp>(fe589)</samp>](https://github.com/vitest-dev/vitest/commit/fe5895d2b)
- - Add `displayAnnotations` option to `github-options` - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8706 [<samp>(4a66d)</samp>](https://github.com/vitest-dev/vitest/commit/4a66df625)
- - Add schema validation matchers - by @zirkelc in https://github.com/vitest-dev/vitest/issues/8527 [<samp>(c0b25)</samp>](https://github.com/vitest-dev/vitest/commit/c0b250e5c)
- - Add a way to dump transformed content - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8711 [<samp>(931c0)</samp>](https://github.com/vitest-dev/vitest/commit/931c0ee63)
- - **api**:
- - Expose `experimental_parseSpecifications` - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8408 [<samp>(fdeb2)</samp>](https://github.com/vitest-dev/vitest/commit/fdeb2f482)
- - Expose Vitest watcher - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8413 [<samp>(aaa6e)</samp>](https://github.com/vitest-dev/vitest/commit/aaa6e6512)
- - Add `enableCoverage` and `disableCoverage` methods - by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8412 [<samp>(61eb7)</samp>](https://github.com/vitest-dev/vitest/commit/61eb7dd9c)
- - Add `getGlobalTestNamePattern` method - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8438 [<samp>(bdb70)</samp>](https://github.com/vitest-dev/vitest/commit/bdb7067f1)
- - Add `relativeModuleId` to `TestModule` - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8505 [<samp>(3be09)</samp>](https://github.com/vitest-dev/vitest/commit/3be0986aa)
- - Add `getSeed` method - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8592 [<samp>(438c4)</samp>](https://github.com/vitest-dev/vitest/commit/438c44e7f)
- - **browser**:
- - Support `toBeInViewport` utility method to assert element is in viewport or not - by @Shinyaigeek in https://github.com/vitest-dev/vitest/issues/8234 [<samp>(ceed5)</samp>](https://github.com/vitest-dev/vitest/commit/ceed5b622)
- - Add qwik to the `vitest init` cli command - by @thejackshelton in https://github.com/vitest-dev/vitest/issues/8330 [<samp>(1638b)</samp>](https://github.com/vitest-dev/vitest/commit/1638b44e8)
- - Introduce `toMatchScreenshot` for Visual Regression Testing - by @macarie in https://github.com/vitest-dev/vitest/issues/8041 [<samp>(d45f9)</samp>](https://github.com/vitest-dev/vitest/commit/d45f964c1)
- - Add `trackUnhandledErrors` option - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8386 [<samp>(c0ec0)</samp>](https://github.com/vitest-dev/vitest/commit/c0ec08a90)
- - Support iframe locator with playwright provider - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8016 [<samp>(57b2c)</samp>](https://github.com/vitest-dev/vitest/commit/57b2cca2e)
- - Add `length` property to locators, `toHaveLength` now accepts locators - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8512 [<samp>(2308c)</samp>](https://github.com/vitest-dev/vitest/commit/2308cbf13)
- - Support playwright tracing - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8584 [<samp>(1aac5)</samp>](https://github.com/vitest-dev/vitest/commit/1aac59cd2)
- - Expose `options` on `BrowserProviderOption` - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8609 [<samp>(0d0e5)</samp>](https://github.com/vitest-dev/vitest/commit/0d0e5cdf6)
- - Support `--inspect` option in webdriverio - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8613 [<samp>(38adc)</samp>](https://github.com/vitest-dev/vitest/commit/38adc86cf)
- - Support custom screenshot comparison algorithms - by @macarie in https://github.com/vitest-dev/vitest/issues/8687 [<samp>(e63b1)</samp>](https://github.com/vitest-dev/vitest/commit/e63b17efc)
- - **coverage**:
- - `autoUpdate` to support percentage formatting - by @Battjmo and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8456 [<samp>(99e01)</samp>](https://github.com/vitest-dev/vitest/commit/99e016bec)
- - **expect**:
- - Support `toBeNullable` expect function to check provided value is nullish - by @Shinyaigeek and @sheremet-va in https://github.com/vitest-dev/vitest/issues/8294 [<samp>(eeec5)</samp>](https://github.com/vitest-dev/vitest/commit/eeec501de)
- - **mocker**:
- - Add `automocker` entry - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8301 [<samp>(e9c92)</samp>](https://github.com/vitest-dev/vitest/commit/e9c928252)
- ### 🐞 Bug Fixes
- - Allow overriding globals in types - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8215 [<samp>(2248b)</samp>](https://github.com/vitest-dev/vitest/commit/2248b06d4)
- - Remove unused dependencies - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8184 [<samp>(feadc)</samp>](https://github.com/vitest-dev/vitest/commit/feadc60af)
- - Distribute test files to shards more evenly - by @Shinyaigeek and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8288 [<samp>(7b489)</samp>](https://github.com/vitest-dev/vitest/commit/7b489959a)
- - Use suite's timeout when `test.extend` - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8278 [<samp>(43977)</samp>](https://github.com/vitest-dev/vitest/commit/43977c2b8)
- - Support snapshot with no object key sorting - by @hi-ogawa and @sheremet-va in https://github.com/vitest-dev/vitest/issues/8136 [<samp>(e85e3)</samp>](https://github.com/vitest-dev/vitest/commit/e85e396f0)
- - Annotation location always points to the test file - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8315 [<samp>(88071)</samp>](https://github.com/vitest-dev/vitest/commit/88071a8f2)
- - Add `--changed` flag support to `vitest list` command - by @haakonjackfloat in https://github.com/vitest-dev/vitest/issues/8270 and https://github.com/vitest-dev/vitest/issues/8272 [<samp>(e71a5)</samp>](https://github.com/vitest-dev/vitest/commit/e71a5d0ec)
- - Prevent rpc timeout on slow thread blocking synchronous methods - by @AriPerkkio and @sheremet-va in https://github.com/vitest-dev/vitest/issues/8297 [<samp>(bea87)</samp>](https://github.com/vitest-dev/vitest/commit/bea874610)
- - Forbid setting environment to `browser` - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8334 [<samp>(0417a)</samp>](https://github.com/vitest-dev/vitest/commit/0417a2c1a)
- - Invalidate modules in all module graphs when the file is changed - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8352 [<samp>(94ab3)</samp>](https://github.com/vitest-dev/vitest/commit/94ab392b3)
- - Screenshot masks with Playwright provider - by @macarie in https://github.com/vitest-dev/vitest/issues/8357 [<samp>(459ef)</samp>](https://github.com/vitest-dev/vitest/commit/459efba6b)
- - Configure `oxc` instead of `esbuild` on `rolldown-vite` - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/8378 [<samp>(e922e)</samp>](https://github.com/vitest-dev/vitest/commit/e922e9266)
- - Make sure test errors always have `stacks` property in Node.js context - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8392 [<samp>(b825e)</samp>](https://github.com/vitest-dev/vitest/commit/b825ef87c)
- - Support `import.meta.resolve` on Vite 7 - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/8493 [<samp>(549d3)</samp>](https://github.com/vitest-dev/vitest/commit/549d321e2)
- - Show the assertion error first when `expect.poll` assertion fails - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8483 [<samp>(fb450)</samp>](https://github.com/vitest-dev/vitest/commit/fb4500bec)
- - Override fake timers when `useFakeTimers` is called multiple times - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8504 [<samp>(ed7e3)</samp>](https://github.com/vitest-dev/vitest/commit/ed7e3ad5d)
- - Custom expect messages for `expect.extend` matchers - by @lzl0304 in https://github.com/vitest-dev/vitest/issues/8520 [<samp>(96945)</samp>](https://github.com/vitest-dev/vitest/commit/969456b4a)
- - Process sourcemaps for stack traces from `globalSetup` files - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8534 [<samp>(8978a)</samp>](https://github.com/vitest-dev/vitest/commit/8978a23b7)
- - Resolve performance issue when throwing errors with stackTraceLimit = 0 - by @Copilot, **sheremet-va** and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8531 [<samp>(6d5b5)</samp>](https://github.com/vitest-dev/vitest/commit/6d5b5b1a5)
- - Avoid recursively applying `$` and `%` formatting to `test.for/each` title - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/8557 [<samp>(ea6d7)</samp>](https://github.com/vitest-dev/vitest/commit/ea6d7322e)
- - Replace wildcard exports `"./*"` with specific files in vitest package - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/8560 [<samp>(ce746)</samp>](https://github.com/vitest-dev/vitest/commit/ce7466408)
- - Don't publish unused d.ts files - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8562 [<samp>(42dfd)</samp>](https://github.com/vitest-dev/vitest/commit/42dfd1c43)
- - Remove loupe dependencies from `optimizeDeps.include` for browser mode - by @jake-danton in https://github.com/vitest-dev/vitest/issues/8570 [<samp>(cdcf7)</samp>](https://github.com/vitest-dev/vitest/commit/cdcf7e854)
- - Update `engines` field to drop Node 18 support - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8608 [<samp>(9a0bf)</samp>](https://github.com/vitest-dev/vitest/commit/9a0bf2254)
- - Correctly inherit test options on extended tests - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8618 [<samp>(15c09)</samp>](https://github.com/vitest-dev/vitest/commit/15c091a99)
- - Update @types/node peer deps - by @sheremet-va [<samp>(ee6b2)</samp>](https://github.com/vitest-dev/vitest/commit/ee6b27b5f)
- - Re-export CDP Session directly from playwright - by @mrginglymus in https://github.com/vitest-dev/vitest/issues/8702 [<samp>(9553a)</samp>](https://github.com/vitest-dev/vitest/commit/9553ab923)
- - Disable trackUnhandledErrors if inspector is enabled - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8732 [<samp>(acac7)</samp>](https://github.com/vitest-dev/vitest/commit/acac7104d)
- - `base` option doesn't crash vitest - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8760 [<samp>(9f0ec)</samp>](https://github.com/vitest-dev/vitest/commit/9f0ecccb8)
- - **browser**:
- - Run in-source tests only when the file itsels is a test file - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8204 [<samp>(bdd2e)</samp>](https://github.com/vitest-dev/vitest/commit/bdd2e01c3)
- - `locator.element()` returns `HTMLElement` or `SVGElement` - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8440 [<samp>(c1ac1)</samp>](https://github.com/vitest-dev/vitest/commit/c1ac15c6b)
- - Don't import from `vite` directly - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8541 [<samp>(d7fca)</samp>](https://github.com/vitest-dev/vitest/commit/d7fca0389)
- - Update expect.element type to match the implementation - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8597 [<samp>(b2804)</samp>](https://github.com/vitest-dev/vitest/commit/b2804a1f9)
- - Throw an error if iframe is not accessible anymore - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8601 [<samp>(6acdc)</samp>](https://github.com/vitest-dev/vitest/commit/6acdc3a5e)
- - Stop creating unnecessary directories when taking screenshots - by @macarie in https://github.com/vitest-dev/vitest/issues/8605 [<samp>(b1c8f)</samp>](https://github.com/vitest-dev/vitest/commit/b1c8fdbe9)
- - Always define commands - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8626 [<samp>(acbe0)</samp>](https://github.com/vitest-dev/vitest/commit/acbe0e973)
- - Exclude deprecated context import from optimization - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8658 [<samp>(a96ea)</samp>](https://github.com/vitest-dev/vitest/commit/a96ea140e)
- - Allow importing BrowserCommand if no browser package is installed - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8666 [<samp>(95c36)</samp>](https://github.com/vitest-dev/vitest/commit/95c367f5e)
- - Define an export for browser/utils - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8678 [<samp>(529ab)</samp>](https://github.com/vitest-dev/vitest/commit/529ab46ac)
- - Allow service workers to mock the network in chromium without breaking vi.mock - by @Georgegriff and @sheremet-va in https://github.com/vitest-dev/vitest/issues/8668 [<samp>(87108)</samp>](https://github.com/vitest-dev/vitest/commit/87108db33)
- - Support sync `not.toBeInTheDocument()` - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8751 [<samp>(f5d06)</samp>](https://github.com/vitest-dev/vitest/commit/f5d06434f)
- - **core**:
- - Fix `objectContaining` expect utility to have more compatibility to jest's one - by @Shinyaigeek in https://github.com/vitest-dev/vitest/issues/8241 [<samp>(480be)</samp>](https://github.com/vitest-dev/vitest/commit/480be1a78)
- - **coverage**:
- - Include files based on `--project` filter - by @gtbuchanan in https://github.com/vitest-dev/vitest/issues/7885 [<samp>(761be)</samp>](https://github.com/vitest-dev/vitest/commit/761beeeea)
- - Prevent encoding filenames of uncovered files - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8239 [<samp>(8a998)</samp>](https://github.com/vitest-dev/vitest/commit/8a9988043)
- - Handle query param based transforms correctly - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8418 [<samp>(a400a)</samp>](https://github.com/vitest-dev/vitest/commit/a400a9d2a)
- - Enforce order of `vitest:coverage-transform` plugin - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8477 [<samp>(ff517)</samp>](https://github.com/vitest-dev/vitest/commit/ff5170cff)
- - V8 to ignore Vite's generated cjs import helpers - by @mrginglymus and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8718 [<samp>(35816)</samp>](https://github.com/vitest-dev/vitest/commit/35816fe8d)
- - Keep only strings in `coverage.exclude` - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8731 [<samp>(c9c30)</samp>](https://github.com/vitest-dev/vitest/commit/c9c303178)
- - **deps**:
- - Update all non-major dependencies - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8235 [<samp>(a1e57)</samp>](https://github.com/vitest-dev/vitest/commit/a1e576ae0)
- - Update all non-major dependencies - in https://github.com/vitest-dev/vitest/issues/8328 [<samp>(aa79e)</samp>](https://github.com/vitest-dev/vitest/commit/aa79e2733)
- - Update all non-major dependencies - in https://github.com/vitest-dev/vitest/issues/8348 [<samp>(13f94)</samp>](https://github.com/vitest-dev/vitest/commit/13f946229)
- - Update all non-major dependencies - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8382 [<samp>(704eb)</samp>](https://github.com/vitest-dev/vitest/commit/704eba24b)
- - Update all non-major dependencies - in https://github.com/vitest-dev/vitest/issues/8550 [<samp>(048f7)</samp>](https://github.com/vitest-dev/vitest/commit/048f7a1ca)
- - **jsdom**:
- - Override globals that Fetch API relies on - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8390 [<samp>(05b41)</samp>](https://github.com/vitest-dev/vitest/commit/05b4178e8)
- - Support AbortSignal API - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8704 [<samp>(f6690)</samp>](https://github.com/vitest-dev/vitest/commit/f6690ed46)
- - **mocker**:
- - Fix `regexpHoistable` to allow whitespace before parentheses - by @cszhjh in https://github.com/vitest-dev/vitest/issues/8231 [<samp>(a0f9a)</samp>](https://github.com/vitest-dev/vitest/commit/a0f9ae3f0)
- - **module-runner**:
- - Resolve `resolvedSources` correctly - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8736 [<samp>(8fc52)</samp>](https://github.com/vitest-dev/vitest/commit/8fc52974f)
- - Support getBuiltins - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8746 [<samp>(87bb8)</samp>](https://github.com/vitest-dev/vitest/commit/87bb8f49c)
- - **pool**:
- - Properly reuse the vm pool - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8758 [<samp>(08498)</samp>](https://github.com/vitest-dev/vitest/commit/08498f0e9)
- - **reporter**:
- - Invisible CLI menus when `vitest --standalone` - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8248 [<samp>(37cc2)</samp>](https://github.com/vitest-dev/vitest/commit/37cc26994)
- - **rolldown-vite**:
- - Properly disable minifier in the browser client - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8306 [<samp>(f55bb)</samp>](https://github.com/vitest-dev/vitest/commit/f55bb81e6)
- - **runner**:
- - Don't bundle runner with utils - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8496 [<samp>(2b4b0)</samp>](https://github.com/vitest-dev/vitest/commit/2b4b05823)
- - **spy**:
- - Fix spyOn types with optional method - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8499 [<samp>(d3afa)</samp>](https://github.com/vitest-dev/vitest/commit/d3afa601a)
- - Can respy on an exported method - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8521 [<samp>(bf450)</samp>](https://github.com/vitest-dev/vitest/commit/bf450b433)
- - Don't fail when spying on static getters - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8589 [<samp>(ac1d9)</samp>](https://github.com/vitest-dev/vitest/commit/ac1d92f14)
- - **types**:
- - Ensure Chai declaration merge works with TS-Go - by @LukeAbby in https://github.com/vitest-dev/vitest/issues/8188 [<samp>(5261d)</samp>](https://github.com/vitest-dev/vitest/commit/5261df0b9)
- - Allow returning a promise from defineConfig - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8651 [<samp>(c3474)</samp>](https://github.com/vitest-dev/vitest/commit/c347487e6)
- - **ui**:
- - Keep the same tab open when clicking on different tests - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8599 [<samp>(3e535)</samp>](https://github.com/vitest-dev/vitest/commit/3e535f78b)
- - **utils**:
- - Remove ast export - by @bluwy in https://github.com/vitest-dev/vitest/issues/8435 [<samp>(21622)</samp>](https://github.com/vitest-dev/vitest/commit/21622b5ae)
- - **vitest**:
- - Override `config.include` option with `config.browser.instances[].include` option if it is specified - by @Shinyaigeek in https://github.com/vitest-dev/vitest/issues/8260 [<samp>(010fc)</samp>](https://github.com/vitest-dev/vitest/commit/010fc55b5)
- - **watch**:
- - Filename filter runs duplicate tests in workspaces - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8250 [<samp>(932d8)</samp>](https://github.com/vitest-dev/vitest/commit/932d837c6)
- - **wdio**:
- - Wait for the driver to be properly closed - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8305 [<samp>(c16ab)</samp>](https://github.com/vitest-dev/vitest/commit/c16abe71e)
- - Properly construct the shadow root selector if there are multiple elements - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8354 [<samp>(28765)</samp>](https://github.com/vitest-dev/vitest/commit/28765b4bb)
- ### 🏎 Performance
- - Avoid spawning extra workers if no tests will run there - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8446 [<samp>(3fb3e)</samp>](https://github.com/vitest-dev/vitest/commit/3fb3e8036)
- - Don't set `process.title` - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8453 [<samp>(0a766)</samp>](https://github.com/vitest-dev/vitest/commit/0a7666323)
- - Remove chai as a direct dependency, keep it in `@vitest/expect` - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8461 [<samp>(cc98c)</samp>](https://github.com/vitest-dev/vitest/commit/cc98c611f)
- - Reduce the amount of dynamic imports - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8465 [<samp>(db6cd)</samp>](https://github.com/vitest-dev/vitest/commit/db6cd73ba)
- - Use ES2022 language features - by @TrevorBurnham in https://github.com/vitest-dev/vitest/issues/8492 [<samp>(bb34c)</samp>](https://github.com/vitest-dev/vitest/commit/bb34c64dc)
- - Delay populating node-globals - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8506 [<samp>(41cbc)</samp>](https://github.com/vitest-dev/vitest/commit/41cbc5328)
- - Get `workerId` from a global object - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8507 [<samp>(46b13)</samp>](https://github.com/vitest-dev/vitest/commit/46b13f669)
- - Replace startsWith with strict equality - by @btea in https://github.com/vitest-dev/vitest/issues/8546 [<samp>(c42e6)</samp>](https://github.com/vitest-dev/vitest/commit/c42e64e62)
- - Reduce the number of unused imports - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8508 [<samp>(9a79b)</samp>](https://github.com/vitest-dev/vitest/commit/9a79b90c9)
- - Use experimental `meta.resolve` flag instead of a custom loader - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8567 [<samp>(2e063)</samp>](https://github.com/vitest-dev/vitest/commit/2e0630b76)
- - Create only one fetcher per project - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8762 [<samp>(8e15b)</samp>](https://github.com/vitest-dev/vitest/commit/8e15bc8f9)
- - **pool**: Resolve all environments first - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8759 [<samp>(d3ef4)</samp>](https://github.com/vitest-dev/vitest/commit/d3ef4f29c)
- ##### [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v3.2.4...v4.0.0)