Skip to content

fix: use meta.url in createRequire#9441

Merged
sheremet-va merged 1 commit intovitest-dev:mainfrom
sheremet-va:fix/use-meta-url-instead-of-filename-create-require
Jan 13, 2026
Merged

fix: use meta.url in createRequire#9441
sheremet-va merged 1 commit intovitest-dev:mainfrom
sheremet-va:fix/use-meta-url-instead-of-filename-create-require

Conversation

@sheremet-va
Copy link
Copy Markdown
Member

Description

Resolves #9310

Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

  • It's really useful if your PR references an issue where it is discussed ahead of time. If the feature is substantial or introduces breaking changes without a discussion, PR might be closed.
  • Ideally, include a test that fails without this PR but passes with it.
  • Please, don't make changes to pnpm-lock.yaml unless you introduce a new test example.
  • Please check Allow edits by maintainers to make review process faster. Note that this option is not available for repositories that are owned by Github organizations.

Tests

  • Run the tests with pnpm test:ci.

Documentation

  • If you introduce new functionality, document it. You can run documentation with pnpm run docs command.

Changesets

  • Changes in changelog are generated from PR name. Please, make sure that it explains your changes in an understandable manner. Please, prefix changeset messages with feat:, fix:, perf:, docs:, or chore:.

@netlify
Copy link
Copy Markdown

netlify bot commented Jan 13, 2026

Deploy Preview for vitest-dev ready!

Name Link
🔨 Latest commit bdde694
🔍 Latest deploy log https://app.netlify.com/projects/vitest-dev/deploys/69665b0ccbb6860008020c89
😎 Deploy Preview https://deploy-preview-9441--vitest-dev.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@sheremet-va sheremet-va merged commit e342255 into vitest-dev:main Jan 13, 2026
16 checks passed
sheremet-va added a commit to sheremet-va/vitest that referenced this pull request Jan 22, 2026
saschazepter pushed a commit to saschazepter/forgejo that referenced this pull request Feb 3, 2026
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/main/packages/coverage-v8#readme) ([source](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8)) | [`4.0.16` → `4.0.18`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-v8/4.0.16/4.0.18) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fcoverage-v8/4.0.18?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fcoverage-v8/4.0.16/4.0.18?slim=true) |
| [vitest](https://vitest.dev) ([source](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`4.0.16` → `4.0.18`](https://renovatebot.com/diffs/npm/vitest/4.0.16/4.0.18) | ![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/4.0.18?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/4.0.16/4.0.18?slim=true) |

---

### Release Notes

<details>
<summary>vitest-dev/vitest (@&#8203;vitest/coverage-v8)</summary>

### [`v4.0.18`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.18)

[Compare Source](vitest-dev/vitest@v4.0.17...v4.0.18)

#####    🚀 Experimental Features

- **experimental**: Add `onModuleRunner` hook to `worker.init`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9286](vitest-dev/vitest#9286) [<samp>(ea837)</samp>](vitest-dev/vitest@ea837de7d)

#####    🐞 Bug Fixes

- Use `meta.url` in `createRequire`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9441](vitest-dev/vitest#9441) [<samp>(e0572)</samp>](vitest-dev/vitest@e057281ca)
- **browser**: Hide injected data-testid attributes  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9503](vitest-dev/vitest#9503) [<samp>(f8989)</samp>](vitest-dev/vitest@f89899cd8)
- **ui**: Process artifact attachments when generating HTML reporter  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;9472](vitest-dev/vitest#9472) [<samp>(22543)</samp>](vitest-dev/vitest@225435647)

#####     [View changes on GitHub](vitest-dev/vitest@v4.0.17...v4.0.18)

### [`v4.0.17`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.17)

[Compare Source](vitest-dev/vitest@v4.0.16...v4.0.17)

#####    🚀 Experimental Features

- Support openTelemetry for browser mode  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9180](vitest-dev/vitest#9180) [<samp>(1ec3a)</samp>](vitest-dev/vitest@1ec3a8b68)
- Support TRACEPARENT and TRACESTATE environment variables for OpenTelemetry context propagation  -  by [@&#8203;Copilot](https://github.com/Copilot), **hi-ogawa** and [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9295](vitest-dev/vitest#9295) [<samp>(876cb)</samp>](vitest-dev/vitest@876cb84c2)

#####    🐞 Bug Fixes

- Improve asymmetric matcher diff readability by unwrapping container matchers  -  by [@&#8203;Copilot](https://github.com/Copilot), **sheremet-va**, **hi-ogawa** and [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9330](vitest-dev/vitest#9330) [<samp>(b2ec7)</samp>](vitest-dev/vitest@b2ec724a8)
- Improve runner error when importing outside of test context  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9335](vitest-dev/vitest#9335) [<samp>(2dd3d)</samp>](vitest-dev/vitest@2dd3dd839)
- Replace crypto.randomUUID to allow insecure environments (fix [#&#8203;9](https://github.com/vitest-dev/vitest/issues/9)…  -  by [@&#8203;plusgut](https://github.com/plusgut) in [#&#8203;9339](vitest-dev/vitest#9339) and [#&#8203;9](vitest-dev/vitest#9) [<samp>(e6a3f)</samp>](vitest-dev/vitest@e6a3f8cc7)
- Handle null options in `addEventHandler` [#&#8203;9371](vitest-dev/vitest#9371)  -  by [@&#8203;ThibautMarechal](https://github.com/ThibautMarechal) in [#&#8203;9372](vitest-dev/vitest#9372) and [#&#8203;9371](vitest-dev/vitest#9371) [<samp>(40841)</samp>](vitest-dev/vitest@40841ff00)
- Typo in browser.provider error  -  by [@&#8203;deammer](https://github.com/deammer) in [#&#8203;9394](vitest-dev/vitest#9394) [<samp>(4b67f)</samp>](vitest-dev/vitest@4b67fc25a)
- **browser**:
  - Fix `process.env` and `import.meta.env` defines in inline project  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9239](vitest-dev/vitest#9239) [<samp>(b70c9)</samp>](vitest-dev/vitest@b70c96121)
  - Fix upload File instance  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9294](vitest-dev/vitest#9294) [<samp>(b6778)</samp>](vitest-dev/vitest@b67788c69)
  - Fix invalid project token for artifacts assets  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9321](vitest-dev/vitest#9321) [<samp>(caa7d)</samp>](vitest-dev/vitest@caa7d73d4)
  - Log `ErrorEvent.message` when unhandled `ErrorEvent.error` is null  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9322](vitest-dev/vitest#9322) [<samp>(5d84e)</samp>](vitest-dev/vitest@5d84eeb91)
  - Support `fileParallelism` on an instance  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9328](vitest-dev/vitest#9328) [<samp>(15006)</samp>](vitest-dev/vitest@150065459)
- **coverage**:
  - Remove unnecessary `istanbul-lib-source-maps` usage  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9344](vitest-dev/vitest#9344) [<samp>(b0940)</samp>](vitest-dev/vitest@b09405375)
  - Apply patch from [istanbuljs/istanbuljs#837](istanbuljs/istanbuljs#837)  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) and **sapphi-red** in [#&#8203;9413](vitest-dev/vitest#9413) and [#&#8203;837](vitest-dev/vitest#837) [<samp>(e05ce)</samp>](vitest-dev/vitest@e05cedbf4)
- **fsModuleCache**:
  - Don't store importers in cache  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9422](vitest-dev/vitest#9422) [<samp>(75136)</samp>](vitest-dev/vitest@751364eec)
  - Add importers alongside importedModules  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9423](vitest-dev/vitest#9423) [<samp>(59f92)</samp>](vitest-dev/vitest@59f92d403)
- **mocker**:
  - Fix mock transform with class  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9421](vitest-dev/vitest#9421) [<samp>(d390e)</samp>](vitest-dev/vitest@d390eb527)
- **pool**:
  - Validate environment options when reusing the worker  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9349](vitest-dev/vitest#9349) [<samp>(a8a88)</samp>](vitest-dev/vitest@a8a8836e3)
  - Handle worker start failures gracefully  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9337](vitest-dev/vitest#9337) [<samp>(200da)</samp>](vitest-dev/vitest@200dadb32)
- **reporter**:
  - Report test module if it failed to run  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9272](vitest-dev/vitest#9272) [<samp>(c7888)</samp>](vitest-dev/vitest@c78882985)
- **runner**:
  - Respect nested test.only within describe.only  -  by [@&#8203;Ujjwaljain16](https://github.com/Ujjwaljain16) in [#&#8203;9021](vitest-dev/vitest#9021) and [#&#8203;9213](vitest-dev/vitest#9213) [<samp>(55d5d)</samp>](vitest-dev/vitest@55d5dad69)
- **typecheck**:
  - Improve error message when tsc outputs help text  -  by [@&#8203;Ujjwaljain16](https://github.com/Ujjwaljain16) in [#&#8203;9214](vitest-dev/vitest#9214) [<samp>(7b10a)</samp>](vitest-dev/vitest@7b10ab4cd)
- **ui**:
  - Detect gzip by magic numbers instead of Content-Type header in html reporter  -  by [@&#8203;Copilot](https://github.com/Copilot), **hi-ogawa** and [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9278](vitest-dev/vitest#9278) [<samp>(dd033)</samp>](vitest-dev/vitest@dd0331632)
- **webdriverio**:
  - Fall back to WebDriver Classic [#&#8203;9244](vitest-dev/vitest#9244)  -  by [@&#8203;JustasMonkev](https://github.com/JustasMonkev) in [#&#8203;9373](vitest-dev/vitest#9373) and [#&#8203;9244](vitest-dev/vitest#9244) [<samp>(c23dd)</samp>](vitest-dev/vitest@c23dd11bd)

#####     [View changes on GitHub](vitest-dev/vitest@v4.0.16...v4.0.17)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM, on day 1 of the month ( * 0-3 1 * * ) (UTC), Automerge - Between 12:00 AM and 03:59 AM ( * 0-3 * * * ) (UTC).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45My4xIiwidXBkYXRlZEluVmVyIjoiNDIuOTMuMSIsInRhcmdldEJyYW5jaCI6ImZvcmdlam8iLCJsYWJlbHMiOlsiZGVwZW5kZW5jeS11cGdyYWRlIiwidGVzdC9ub3QtbmVlZGVkIl19-->

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11121
Reviewed-by: Gusted <[email protected]>
Reviewed-by: Michael Kriese <[email protected]>
Co-authored-by: Renovate Bot <[email protected]>
Co-committed-by: Renovate Bot <[email protected]>
736-c41-2c1-e464fc974 added a commit to Swiss-Armed-Forces/Loom that referenced this pull request Feb 21, 2026
This MR contains the following updates:

| Package | Type | Update | Change | OpenSSF |
|---|---|---|---|---|
| [vitest](https://vitest.dev) ([source](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | devDependencies | major | [`^3.2.4` → `^4.0.0`](https://renovatebot.com/diffs/npm/vitest/3.2.4/4.0.18) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/vitest-dev/vitest/badge)](https://securityscorecards.dev/viewer/?uri=github.com/vitest-dev/vitest) |

---

### Release Notes

<details>
<summary>vitest-dev/vitest (vitest)</summary>

### [`v4.0.18`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.18)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.17...v4.0.18)

#####    🚀 Experimental Features

- **experimental**: Add `onModuleRunner` hook to `worker.init`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9286](https://github.com/vitest-dev/vitest/issues/9286) [<samp>(ea837)</samp>](https://github.com/vitest-dev/vitest/commit/ea837de7d)

#####    🐞 Bug Fixes

- Use `meta.url` in `createRequire`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9441](https://github.com/vitest-dev/vitest/issues/9441) [<samp>(e0572)</samp>](https://github.com/vitest-dev/vitest/commit/e057281ca)
- **browser**: Hide injected data-testid attributes  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9503](https://github.com/vitest-dev/vitest/issues/9503) [<samp>(f8989)</samp>](https://github.com/vitest-dev/vitest/commit/f89899cd8)
- **ui**: Process artifact attachments when generating HTML reporter  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;9472](https://github.com/vitest-dev/vitest/issues/9472) [<samp>(22543)</samp>](https://github.com/vitest-dev/vitest/commit/225435647)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.17...v4.0.18)

### [`v4.0.17`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.17)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.16...v4.0.17)

#####    🚀 Experimental Features

- Support openTelemetry for browser mode  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9180](https://github.com/vitest-dev/vitest/issues/9180) [<samp>(1ec3a)</samp>](https://github.com/vitest-dev/vitest/commit/1ec3a8b68)
- Support TRACEPARENT and TRACESTATE environment variables for OpenTelemetry context propagation  -  by [@&#8203;Copilot](https://github.com/Copilot), **hi-ogawa** and [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9295](https://github.com/vitest-dev/vitest/issues/9295) [<samp>(876cb)</samp>](https://github.com/vitest-dev/vitest/commit/876cb84c2)

#####    🐞 Bug Fixes

- Improve asymmetric matcher diff readability by unwrapping container matchers  -  by [@&#8203;Copilot](https://github.com/Copilot), **sheremet-va**, **hi-ogawa** and [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9330](https://github.com/vitest-dev/vitest/issues/9330) [<samp>(b2ec7)</samp>](https://github.com/vitest-dev/vitest/commit/b2ec724a8)
- Improve runner error when importing outside of test context  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9335](https://github.com/vitest-dev/vitest/issues/9335) [<samp>(2dd3d)</samp>](https://github.com/vitest-dev/vitest/commit/2dd3dd839)
- Replace crypto.randomUUID to allow insecure environments (fix [#&#8203;9](https://github.com/vitest-dev/vitest/issues/9)…  -  by [@&#8203;plusgut](https://github.com/plusgut) in [#&#8203;9339](https://github.com/vitest-dev/vitest/issues/9339) and [#&#8203;9](https://github.com/vitest-dev/vitest/issues/9) [<samp>(e6a3f)</samp>](https://github.com/vitest-dev/vitest/commit/e6a3f8cc7)
- Handle null options in `addEventHandler` [#&#8203;9371](https://github.com/vitest-dev/vitest/issues/9371)  -  by [@&#8203;ThibautMarechal](https://github.com/ThibautMarechal) in [#&#8203;9372](https://github.com/vitest-dev/vitest/issues/9372) and [#&#8203;9371](https://github.com/vitest-dev/vitest/issues/9371) [<samp>(40841)</samp>](https://github.com/vitest-dev/vitest/commit/40841ff00)
- Typo in browser.provider error  -  by [@&#8203;deammer](https://github.com/deammer) in [#&#8203;9394](https://github.com/vitest-dev/vitest/issues/9394) [<samp>(4b67f)</samp>](https://github.com/vitest-dev/vitest/commit/4b67fc25a)
- **browser**:
  - Fix `process.env` and `import.meta.env` defines in inline project  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9239](https://github.com/vitest-dev/vitest/issues/9239) [<samp>(b70c9)</samp>](https://github.com/vitest-dev/vitest/commit/b70c96121)
  - Fix upload File instance  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9294](https://github.com/vitest-dev/vitest/issues/9294) [<samp>(b6778)</samp>](https://github.com/vitest-dev/vitest/commit/b67788c69)
  - Fix invalid project token for artifacts assets  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9321](https://github.com/vitest-dev/vitest/issues/9321) [<samp>(caa7d)</samp>](https://github.com/vitest-dev/vitest/commit/caa7d73d4)
  - Log `ErrorEvent.message` when unhandled `ErrorEvent.error` is null  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9322](https://github.com/vitest-dev/vitest/issues/9322) [<samp>(5d84e)</samp>](https://github.com/vitest-dev/vitest/commit/5d84eeb91)
  - Support `fileParallelism` on an instance  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9328](https://github.com/vitest-dev/vitest/issues/9328) [<samp>(15006)</samp>](https://github.com/vitest-dev/vitest/commit/150065459)
- **coverage**:
  - Remove unnecessary `istanbul-lib-source-maps` usage  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9344](https://github.com/vitest-dev/vitest/issues/9344) [<samp>(b0940)</samp>](https://github.com/vitest-dev/vitest/commit/b09405375)
  - Apply patch from [istanbuljs/istanbuljs#837](https://github.com/istanbuljs/istanbuljs/issues/837)  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) and **sapphi-red** in [#&#8203;9413](https://github.com/vitest-dev/vitest/issues/9413) and [#&#8203;837](https://github.com/vitest-dev/vitest/issues/837) [<samp>(e05ce)</samp>](https://github.com/vitest-dev/vitest/commit/e05cedbf4)
- **fsModuleCache**:
  - Don't store importers in cache  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9422](https://github.com/vitest-dev/vitest/issues/9422) [<samp>(75136)</samp>](https://github.com/vitest-dev/vitest/commit/751364eec)
  - Add importers alongside importedModules  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9423](https://github.com/vitest-dev/vitest/issues/9423) [<samp>(59f92)</samp>](https://github.com/vitest-dev/vitest/commit/59f92d403)
- **mocker**:
  - Fix mock transform with class  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9421](https://github.com/vitest-dev/vitest/issues/9421) [<samp>(d390e)</samp>](https://github.com/vitest-dev/vitest/commit/d390eb527)
- **pool**:
  - Validate environment options when reusing the worker  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9349](https://github.com/vitest-dev/vitest/issues/9349) [<samp>(a8a88)</samp>](https://github.com/vitest-dev/vitest/commit/a8a8836e3)
  - Handle worker start failures gracefully  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9337](https://github.com/vitest-dev/vitest/issues/9337) [<samp>(200da)</samp>](https://github.com/vitest-dev/vitest/commit/200dadb32)
- **reporter**:
  - Report test module if it failed to run  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9272](https://github.com/vitest-dev/vitest/issues/9272) [<samp>(c7888)</samp>](https://github.com/vitest-dev/vitest/commit/c78882985)
- **runner**:
  - Respect nested test.only within describe.only  -  by [@&#8203;Ujjwaljain16](https://github.com/Ujjwaljain16) in [#&#8203;9021](https://github.com/vitest-dev/vitest/issues/9021) and [#&#8203;9213](https://github.com/vitest-dev/vitest/issues/9213) [<samp>(55d5d)</samp>](https://github.com/vitest-dev/vitest/commit/55d5dad69)
- **typecheck**:
  - Improve error message when tsc outputs help text  -  by [@&#8203;Ujjwaljain16](https://github.com/Ujjwaljain16) in [#&#8203;9214](https://github.com/vitest-dev/vitest/issues/9214) [<samp>(7b10a)</samp>](https://github.com/vitest-dev/vitest/commit/7b10ab4cd)
- **ui**:
  - Detect gzip by magic numbers instead of Content-Type header in html reporter  -  by [@&#8203;Copilot](https://github.com/Copilot), **hi-ogawa** and [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9278](https://github.com/vitest-dev/vitest/issues/9278) [<samp>(dd033)</samp>](https://github.com/vitest-dev/vitest/commit/dd0331632)
- **webdriverio**:
  - Fall back to WebDriver Classic [#&#8203;9244](https://github.com/vitest-dev/vitest/issues/9244)  -  by [@&#8203;JustasMonkev](https://github.com/JustasMonkev) in [#&#8203;9373](https://github.com/vitest-dev/vitest/issues/9373) and [#&#8203;9244](https://github.com/vitest-dev/vitest/issues/9244) [<samp>(c23dd)</samp>](https://github.com/vitest-dev/vitest/commit/c23dd11bd)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.16...v4.0.17)

### [`v4.0.16`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.16)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.15...v4.0.16)

#####    🐞 Bug Fixes

- Fix browser mode default testTimeout back to 15 seconds  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9167](https://github.com/vitest-dev/vitest/issues/9167) [<samp>(da0ad)</samp>](https://github.com/vitest-dev/vitest/commit/da0ade249)
- Avoid crashing on `process.versions` stub  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9174](https://github.com/vitest-dev/vitest/issues/9174) [<samp>(78cfb)</samp>](https://github.com/vitest-dev/vitest/commit/78cfbf99a)
- Reject calling suite function inside test  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9198](https://github.com/vitest-dev/vitest/issues/9198) [<samp>(1a259)</samp>](https://github.com/vitest-dev/vitest/commit/1a259c340)
- Allow inlining fully dynamic import  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9137](https://github.com/vitest-dev/vitest/issues/9137) [<samp>(56851)</samp>](https://github.com/vitest-dev/vitest/commit/568513ca6)
- Fix module graph UI on html reporter with headless browser mode  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9219](https://github.com/vitest-dev/vitest/issues/9219) [<samp>(60642)</samp>](https://github.com/vitest-dev/vitest/commit/60642b304)
- Log deprecated `test.poolOptions` if it's set  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9226](https://github.com/vitest-dev/vitest/issues/9226) [<samp>(f7f6a)</samp>](https://github.com/vitest-dev/vitest/commit/f7f6aa8ba)
- **browser**:
  - Import `recordArtifact` from the vitest package  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;9186](https://github.com/vitest-dev/vitest/issues/9186) [<samp>(01c56)</samp>](https://github.com/vitest-dev/vitest/commit/01c56454d)
  - Fix `import.meta.env` define  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9205](https://github.com/vitest-dev/vitest/issues/9205) [<samp>(01a9a)</samp>](https://github.com/vitest-dev/vitest/commit/01a9a58d9)
  - String formatting bug when including placeholders in console.log  -  by [@&#8203;michael-debs](https://github.com/michael-debs) and [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9030](https://github.com/vitest-dev/vitest/issues/9030) and [#&#8203;9131](https://github.com/vitest-dev/vitest/issues/9131) [<samp>(84a30)</samp>](https://github.com/vitest-dev/vitest/commit/84a306210)
- **coverage**:
  - Istanbul untested files source maps are off  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9208](https://github.com/vitest-dev/vitest/issues/9208) [<samp>(372e8)</samp>](https://github.com/vitest-dev/vitest/commit/372e86fde)
- **experimental**:
  - Export `setupEnvironment` for custom pools  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9187](https://github.com/vitest-dev/vitest/issues/9187) [<samp>(5d26b)</samp>](https://github.com/vitest-dev/vitest/commit/5d26b87b0)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.15...v4.0.16)

### [`v4.0.15`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.15)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.14...v4.0.15)

#####    🚀 Experimental Features

- **cache**: Add opt-out on a plugin level, fix internal root cache  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9154](https://github.com/vitest-dev/vitest/issues/9154) [<samp>(a68f7)</samp>](https://github.com/vitest-dev/vitest/commit/a68f74e5e)
- **reporters**: Print import duration breakdown  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9105](https://github.com/vitest-dev/vitest/issues/9105) [<samp>(122ff)</samp>](https://github.com/vitest-dev/vitest/commit/122ff321c)

#####    🐞 Bug Fixes

- Keep built-in id as is in bun and deno  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9117](https://github.com/vitest-dev/vitest/issues/9117) [<samp>(075ab)</samp>](https://github.com/vitest-dev/vitest/commit/075ab3520)
- Use `optimizeDeps.rolldownOptions` to fix depreated warning + fix `ssr.external: true`  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9121](https://github.com/vitest-dev/vitest/issues/9121) [<samp>(fd8bd)</samp>](https://github.com/vitest-dev/vitest/commit/fd8bd6dee)
- Fix external behavior with `deps.optimizer`  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9125](https://github.com/vitest-dev/vitest/issues/9125) [<samp>(4c754)</samp>](https://github.com/vitest-dev/vitest/commit/4c75492cc)
- Very minor typo in "Chrome DevTools Protocol"  -  by [@&#8203;HowToTestFrontend](https://github.com/HowToTestFrontend) in [#&#8203;9146](https://github.com/vitest-dev/vitest/issues/9146) [<samp>(20997)</samp>](https://github.com/vitest-dev/vitest/commit/209976419)
- **browser**: Run `toMatchScreenshot` only once when used with `expect.element`  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;9132](https://github.com/vitest-dev/vitest/issues/9132) [<samp>(0d2e7)</samp>](https://github.com/vitest-dev/vitest/commit/0d2e7e3e2)
- **coverage**: Istanbul provider to not break source maps  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9040](https://github.com/vitest-dev/vitest/issues/9040) [<samp>(e4ca9)</samp>](https://github.com/vitest-dev/vitest/commit/e4ca917f1)
- **deps**: Update dependency tinyexec to v1  -  in [#&#8203;9122](https://github.com/vitest-dev/vitest/issues/9122) [<samp>(fd786)</samp>](https://github.com/vitest-dev/vitest/commit/fd7860222)
- **docs**: Remove `--browser.provider` from docs  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9115](https://github.com/vitest-dev/vitest/issues/9115) [<samp>(120b3)</samp>](https://github.com/vitest-dev/vitest/commit/120b3dac1)
- **expect**: Preserve `currentTestName` in extended matchers  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;9106](https://github.com/vitest-dev/vitest/issues/9106) [<samp>(e4345)</samp>](https://github.com/vitest-dev/vitest/commit/e43458e02)
- **pool**: Terminate workers on `CTRL+c` forceful exits  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9140](https://github.com/vitest-dev/vitest/issues/9140) [<samp>(d57d8)</samp>](https://github.com/vitest-dev/vitest/commit/d57d8bf0a)
- **reporters**: Show project in github reporter  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9138](https://github.com/vitest-dev/vitest/issues/9138) [<samp>(bb65e)</samp>](https://github.com/vitest-dev/vitest/commit/bb65e15c7)
- **spy**: Do not mock overriden method, if parent was automocked  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9116](https://github.com/vitest-dev/vitest/issues/9116) [<samp>(1a246)</samp>](https://github.com/vitest-dev/vitest/commit/1a24607b4)
- **web-worker**: MessagePort objects passed to Worker.postMessage work when clone === "native"  -  by [@&#8203;whitphx](https://github.com/whitphx) in [#&#8203;9118](https://github.com/vitest-dev/vitest/issues/9118) [<samp>(deee8)</samp>](https://github.com/vitest-dev/vitest/commit/deee83e54)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.14...v4.0.15)

### [`v4.0.14`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.14)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.13...v4.0.14)

#####    🚀 Experimental Features

- **browser**: Expose `utils.configurePrettyDOM`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9103](https://github.com/vitest-dev/vitest/issues/9103) [<samp>(2cc34)</samp>](https://github.com/vitest-dev/vitest/commit/2cc34e0d4)
- **runner**: Add full names to tasks  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;9087](https://github.com/vitest-dev/vitest/issues/9087) [<samp>(821aa)</samp>](https://github.com/vitest-dev/vitest/commit/821aa2002)
- **ui**: Add tabbed failure view for `toMatchScreenshot` with comparison slider  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;8813](https://github.com/vitest-dev/vitest/issues/8813) [<samp>(c37c2)</samp>](https://github.com/vitest-dev/vitest/commit/c37c2eb0b)

#####    🐞 Bug Fixes

- Externalize before caching  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9077](https://github.com/vitest-dev/vitest/issues/9077) [<samp>(e1b2e)</samp>](https://github.com/vitest-dev/vitest/commit/e1b2e086a)
- Collect the duration of external imports  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9097](https://github.com/vitest-dev/vitest/issues/9097) [<samp>(3326c)</samp>](https://github.com/vitest-dev/vitest/commit/3326cc9f4)
- Rename `collect` to `import`, remove `prepare`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9091](https://github.com/vitest-dev/vitest/issues/9091) [<samp>(1256b)</samp>](https://github.com/vitest-dev/vitest/commit/1256b5ca3)
- **browser**:
  - Unsubscribe `onCancel` on rpc destroy  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9088](https://github.com/vitest-dev/vitest/issues/9088) [<samp>(f5b72)</samp>](https://github.com/vitest-dev/vitest/commit/f5b72374b)
  - Revert the viewport scaling in non-ui mode [#&#8203;9018](https://github.com/vitest-dev/vitest/issues/9018)  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9072](https://github.com/vitest-dev/vitest/issues/9072) and [#&#8203;9018](https://github.com/vitest-dev/vitest/issues/9018) [<samp>(64502)</samp>](https://github.com/vitest-dev/vitest/commit/64502a2c4)
- **coverage**:
  - Invalidate circular modules correctly on rerun with coverage  -  by [@&#8203;aicest](https://github.com/aicest) in [#&#8203;9096](https://github.com/vitest-dev/vitest/issues/9096) [<samp>(6f22c)</samp>](https://github.com/vitest-dev/vitest/commit/6f22c675f)
- **expect**:
  - Allow function as standard schema  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9099](https://github.com/vitest-dev/vitest/issues/9099) [<samp>(ed8a2)</samp>](https://github.com/vitest-dev/vitest/commit/ed8a2ebbd)
- **jsdom**:
  - Reuse abort signals if possible  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9090](https://github.com/vitest-dev/vitest/issues/9090) [<samp>(2c468)</samp>](https://github.com/vitest-dev/vitest/commit/2c468ee95)
- **pool**:
  - Init `VITEST_POOL_ID` + `VITEST_WORKER_ID` before environment setup  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9085](https://github.com/vitest-dev/vitest/issues/9085) [<samp>(37918)</samp>](https://github.com/vitest-dev/vitest/commit/379185b40)
- **web-worker**:
  - `postMessage` to send ports to workers  -  by [@&#8203;whitphx](https://github.com/whitphx) and [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9078](https://github.com/vitest-dev/vitest/issues/9078) [<samp>(9d176)</samp>](https://github.com/vitest-dev/vitest/commit/9d1763d11)

#####    🏎 Performance

- Replace `debug` with `obug`  -  by [@&#8203;sxzz](https://github.com/sxzz) and [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9057](https://github.com/vitest-dev/vitest/issues/9057) [<samp>(acc51)</samp>](https://github.com/vitest-dev/vitest/commit/acc5152b9)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.13...v4.0.14)

### [`v4.0.13`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.13)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.12...v4.0.13)

#####    🐞 Bug Fixes

- **types**:
  - Don't use type from Vite 7.1  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9071](https://github.com/vitest-dev/vitest/issues/9071) [<samp>(6356b)</samp>](https://github.com/vitest-dev/vitest/commit/6356b1d38)
  - Don't import node.js dependent types in vitest/browser  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9068](https://github.com/vitest-dev/vitest/issues/9068) [<samp>(332af)</samp>](https://github.com/vitest-dev/vitest/commit/332afa0de)

#####    🏎 Performance

- Avoid fetchModule roundtrip if the module is cached  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9075](https://github.com/vitest-dev/vitest/issues/9075) [<samp>(b27e0)</samp>](https://github.com/vitest-dev/vitest/commit/b27e002e5)
- **experimental**: If `fsCacheModule` is enabled, read from the memory when possible  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9076](https://github.com/vitest-dev/vitest/issues/9076) [<samp>(6b9a1)</samp>](https://github.com/vitest-dev/vitest/commit/6b9a1b5b1)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.12...v4.0.13)

### [`v4.0.12`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.12)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.11...v4.0.12)

#####    🐞 Bug Fixes

- Inherit `fsModuleCachePath` by default  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9063](https://github.com/vitest-dev/vitest/issues/9063) [<samp>(9a8bc)</samp>](https://github.com/vitest-dev/vitest/commit/9a8bc78c5)
- Don't import from `@opentelemetry/api` in public types  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9066](https://github.com/vitest-dev/vitest/issues/9066) [<samp>(e944a)</samp>](https://github.com/vitest-dev/vitest/commit/e944a37b7)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.11...v4.0.12)

### [`v4.0.11`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.11)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.10...v4.0.11)

#####    🚀 Experimental Features

- **api**: Add extensible test artifact API  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;8987](https://github.com/vitest-dev/vitest/issues/8987) [<samp>(77292)</samp>](https://github.com/vitest-dev/vitest/commit/772923645)
  - See more at <https://vitest.dev/api/advanced/artifacts>
- **expect**: Provide `task` in `MatchState`  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;9022](https://github.com/vitest-dev/vitest/issues/9022) [<samp>(afd1f)</samp>](https://github.com/vitest-dev/vitest/commit/afd1f3e52)
- **experimental**: Support OpenTelemetry traces  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8994](https://github.com/vitest-dev/vitest/issues/8994) [<samp>(d6d33)</samp>](https://github.com/vitest-dev/vitest/commit/d6d3359dd)
  - See more at <https://vitest.dev/guide/open-telemetry>

#####    🏎 Performance

- **experimental**: Add file system cache  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9026](https://github.com/vitest-dev/vitest/issues/9026) [<samp>(1b147)</samp>](https://github.com/vitest-dev/vitest/commit/1b1473712)
  - See more at <https://vitest.dev/config/experimental#experimental-fsmodulecache>

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.10...v4.0.11)

### [`v4.0.10`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.10)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.9...v4.0.10)

#####    🐞 Bug Fixes

- Remove `onCancel` when worker is terminated  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9033](https://github.com/vitest-dev/vitest/issues/9033) [<samp>(6d7f0)</samp>](https://github.com/vitest-dev/vitest/commit/6d7f0a99e)
- **browser**:
  - Don't scale the iframe if UI is disabled  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9018](https://github.com/vitest-dev/vitest/issues/9018) [<samp>(5406e)</samp>](https://github.com/vitest-dev/vitest/commit/5406e8ea4)
  - Handle dependency stack traces with external source maps. Resolves: [#&#8203;9003](https://github.com/vitest-dev/vitest/issues/9003)  -  by [@&#8203;iclectic](https://github.com/iclectic) in [#&#8203;9016](https://github.com/vitest-dev/vitest/issues/9016) and [#&#8203;9003](https://github.com/vitest-dev/vitest/issues/9003) [<samp>(57ae5)</samp>](https://github.com/vitest-dev/vitest/commit/57ae547de)
- **bun**:
  - Parsing of stack trace for bun runtime  -  by [@&#8203;nazarhussain](https://github.com/nazarhussain) in [#&#8203;9032](https://github.com/vitest-dev/vitest/issues/9032) [<samp>(f3ec6)</samp>](https://github.com/vitest-dev/vitest/commit/f3ec6fcb0)
- **core**:
  - Prevent starting new run when cancelling  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8991](https://github.com/vitest-dev/vitest/issues/8991) [<samp>(eb98d)</samp>](https://github.com/vitest-dev/vitest/commit/eb98dd8fd)
- **pool**:
  - Prevent writing to closed worker  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9023](https://github.com/vitest-dev/vitest/issues/9023) [<samp>(042c6)</samp>](https://github.com/vitest-dev/vitest/commit/042c60c80)
- **reporters**:
  - Report correct test run duration at the end  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8969](https://github.com/vitest-dev/vitest/issues/8969) [<samp>(bc3a6)</samp>](https://github.com/vitest-dev/vitest/commit/bc3a6921e)
- **ui**:
  - Use execution time from ws reporter (`onFinished`)  -  by [@&#8203;userquin](https://github.com/userquin) in [#&#8203;8975](https://github.com/vitest-dev/vitest/issues/8975) [<samp>(f56dc)</samp>](https://github.com/vitest-dev/vitest/commit/f56dc0cc4)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.9...v4.0.10)

### [`v4.0.9`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.9)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.8...v4.0.9)

#####    🚀 Experimental Features

- **expect**: Add Set support to toBeOneOf  -  by [@&#8203;tim-we](https://github.com/tim-we) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8906](https://github.com/vitest-dev/vitest/issues/8906) [<samp>(a415d)</samp>](https://github.com/vitest-dev/vitest/commit/a415d0375)

#####    🐞 Bug Fixes

- **browser**: Add favicon icons to the browser mode ui  -  by [@&#8203;userquin](https://github.com/userquin) in [#&#8203;8972](https://github.com/vitest-dev/vitest/issues/8972) [<samp>(353ee)</samp>](https://github.com/vitest-dev/vitest/commit/353ee5bbc)
- **forks**: Increase worker start timeout  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9027](https://github.com/vitest-dev/vitest/issues/9027) [<samp>(5e750)</samp>](https://github.com/vitest-dev/vitest/commit/5e750f4ba)
- **jsdom**: Cloned request is an instance of `Request`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8985](https://github.com/vitest-dev/vitest/issues/8985) [<samp>(506a9)</samp>](https://github.com/vitest-dev/vitest/commit/506a9fd0f)
- **ui**: Collect file/suite/test duration correctly  -  by [@&#8203;userquin](https://github.com/userquin) in [#&#8203;8976](https://github.com/vitest-dev/vitest/issues/8976) [<samp>(8016d)</samp>](https://github.com/vitest-dev/vitest/commit/8016da886)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.8...v4.0.9)

### [`v4.0.8`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.8)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.7...v4.0.8)

#####    🐞 Bug Fixes

- Workaround `noExternal` merging bug on Vite 6  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;8950](https://github.com/vitest-dev/vitest/issues/8950) [<samp>(bcb13)</samp>](https://github.com/vitest-dev/vitest/commit/bcb132fd4)
- Missed context.d.ts file  -  by [@&#8203;termorey](https://github.com/termorey) in [#&#8203;8965](https://github.com/vitest-dev/vitest/issues/8965) [<samp>(9044d)</samp>](https://github.com/vitest-dev/vitest/commit/9044d9356)
- Incorrect error message for non-awaited `expect.element()`  -  by [@&#8203;StyleShit](https://github.com/StyleShit) in [#&#8203;8954](https://github.com/vitest-dev/vitest/issues/8954) [<samp>(9638d)</samp>](https://github.com/vitest-dev/vitest/commit/9638db0f3)
- **browser**: Cleanup frame-ancestors from CSP header at coverage middleware  -  by [@&#8203;userquin](https://github.com/userquin) in [#&#8203;8941](https://github.com/vitest-dev/vitest/issues/8941) [<samp>(1f730)</samp>](https://github.com/vitest-dev/vitest/commit/1f7303738)
- **deps**: Update all non-major dependencies  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8636](https://github.com/vitest-dev/vitest/issues/8636) [<samp>(da8b9)</samp>](https://github.com/vitest-dev/vitest/commit/da8b93aa5)
- **forks**: Do not fail with Windows Defender enabled  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8967](https://github.com/vitest-dev/vitest/issues/8967) [<samp>(c79f4)</samp>](https://github.com/vitest-dev/vitest/commit/c79f47c65)
- **runner**: Properly encode Uint8Array body in annotations  -  by [@&#8203;Livan-pro](https://github.com/Livan-pro) in [#&#8203;8951](https://github.com/vitest-dev/vitest/issues/8951) [<samp>(997ca)</samp>](https://github.com/vitest-dev/vitest/commit/997ca5a82)
- **spy**: Copy static properties if spy is initialised with `vi.fn()`, fix types for `vi.spyOn(obj, class)`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8956](https://github.com/vitest-dev/vitest/issues/8956) [<samp>(75e7f)</samp>](https://github.com/vitest-dev/vitest/commit/75e7fcc51)
- **webdriverio**: When no argument is passed to the .click interaction command, the webdriver command should also have no argument  -  by [@&#8203;julienw](https://github.com/julienw) in [#&#8203;8937](https://github.com/vitest-dev/vitest/issues/8937) [<samp>(069e6)</samp>](https://github.com/vitest-dev/vitest/commit/069e6db9b)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.7...v4.0.8)

### [`v4.0.7`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.7)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.6...v4.0.7)

#####    🐞 Bug Fixes

- Bind `process` in case global is overwritten  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8916](https://github.com/vitest-dev/vitest/issues/8916) [<samp>(6240d)</samp>](https://github.com/vitest-dev/vitest/commit/6240d51a6)
- Create environment once per worker with `isolate: false`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8915](https://github.com/vitest-dev/vitest/issues/8915) [<samp>(c9078)</samp>](https://github.com/vitest-dev/vitest/commit/c9078a26e)
- Add Locator as a possible element type in `toContainElement()` matcher  -  by [@&#8203;vitalybaev](https://github.com/vitalybaev) in [#&#8203;8910](https://github.com/vitest-dev/vitest/issues/8910) and [#&#8203;8927](https://github.com/vitest-dev/vitest/issues/8927) [<samp>(35a27)</samp>](https://github.com/vitest-dev/vitest/commit/35a27d4b3)
- **browser**: Inherit `isolate` option, deprecate `browser.isolate`/`browser.fileParallelism`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8890](https://github.com/vitest-dev/vitest/issues/8890) [<samp>(9d2b4)</samp>](https://github.com/vitest-dev/vitest/commit/9d2b4d501)
- **cli**: Parse `--execArgv` as array  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8924](https://github.com/vitest-dev/vitest/issues/8924) [<samp>(751c3)</samp>](https://github.com/vitest-dev/vitest/commit/751c3926f)
- **jsdom**: Support `URL.createObjectURL`, `FormData.set(prop, blob)`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8935](https://github.com/vitest-dev/vitest/issues/8935) [<samp>(a1b73)</samp>](https://github.com/vitest-dev/vitest/commit/a1b7361ab)
- **pool**: Avoid `--require` argument when running in deno  -  by [@&#8203;pi0](https://github.com/pi0) in [#&#8203;8897](https://github.com/vitest-dev/vitest/issues/8897) [<samp>(d41fa)</samp>](https://github.com/vitest-dev/vitest/commit/d41fa742f)
- **typecheck**: Handle re-runs outside `tsc`  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8920](https://github.com/vitest-dev/vitest/issues/8920) [<samp>(fdb2e)</samp>](https://github.com/vitest-dev/vitest/commit/fdb2e7982)

#####    🏎 Performance

- **pool**:
  - Sort test files by project by default  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8914](https://github.com/vitest-dev/vitest/issues/8914) [<samp>(680a6)</samp>](https://github.com/vitest-dev/vitest/commit/680a612ea)
- **reporters**:
  - Optimize getting the tests stats  -  by [@&#8203;Connormiha](https://github.com/Connormiha) in [#&#8203;8908](https://github.com/vitest-dev/vitest/issues/8908) [<samp>(06d62)</samp>](https://github.com/vitest-dev/vitest/commit/06d6207fb)
  - Remove unnecessary `Array.from` call  -  by [@&#8203;Connormiha](https://github.com/Connormiha) in [#&#8203;8907](https://github.com/vitest-dev/vitest/issues/8907) [<samp>(b6014)</samp>](https://github.com/vitest-dev/vitest/commit/b60149b27)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.6...v4.0.7)

### [`v4.0.6`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.6)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.5...v4.0.6)

#####    🐞 Bug Fixes

- Don't merge errors with different diffs for reporting  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;8871](https://github.com/vitest-dev/vitest/issues/8871) [<samp>(3e19f)</samp>](https://github.com/vitest-dev/vitest/commit/3e19f27d0)
- Do not throw when importing a type from an external package  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8875](https://github.com/vitest-dev/vitest/issues/8875) [<samp>(7e6c3)</samp>](https://github.com/vitest-dev/vitest/commit/7e6c37ae5)
- Improve spying types  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8878](https://github.com/vitest-dev/vitest/issues/8878) [<samp>(ca041)</samp>](https://github.com/vitest-dev/vitest/commit/ca041f51a)
- Reuse the same environment when `isolate` and `fileParallelism` are false  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8889](https://github.com/vitest-dev/vitest/issues/8889) [<samp>(31706)</samp>](https://github.com/vitest-dev/vitest/commit/31706dfe5)
- **browser**:
  - Support module tracking  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8877](https://github.com/vitest-dev/vitest/issues/8877) [<samp>(9e24a)</samp>](https://github.com/vitest-dev/vitest/commit/9e24a59f2)
  - Ensure setup files are re-evaluated on each test run  -  by [@&#8203;yjaaidi](https://github.com/yjaaidi) in [#&#8203;8883](https://github.com/vitest-dev/vitest/issues/8883) and [#&#8203;8884](https://github.com/vitest-dev/vitest/issues/8884) [<samp>(f50ea)</samp>](https://github.com/vitest-dev/vitest/commit/f50ea7a25)
- **coverage**:
  - Prevent filtering out virtual files before remapping to sources  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8860](https://github.com/vitest-dev/vitest/issues/8860) [<samp>(e3b77)</samp>](https://github.com/vitest-dev/vitest/commit/e3b777550)
- **happy-dom**:
  - Properly teardown additional keys  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8888](https://github.com/vitest-dev/vitest/issues/8888) [<samp>(10a06)</samp>](https://github.com/vitest-dev/vitest/commit/10a06d8c9)
- **jsdom**:
  - Pass down Node.js `FormData` to `Request`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8880](https://github.com/vitest-dev/vitest/issues/8880) [<samp>(197ca)</samp>](https://github.com/vitest-dev/vitest/commit/197caf2f9)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.5...v4.0.6)

### [`v4.0.5`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.5)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.4...v4.0.5)

#####    🐞 Bug Fixes

- Respect `ssr.noExternal` when externalizing dependencies, fix Svelte and Astro  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8862](https://github.com/vitest-dev/vitest/issues/8862) [<samp>(a4f86)</samp>](https://github.com/vitest-dev/vitest/commit/a4f86f1ba)
- Allow module in --config  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8864](https://github.com/vitest-dev/vitest/issues/8864) [<samp>(b9521)</samp>](https://github.com/vitest-dev/vitest/commit/b9521e0c2)
- **browser**: Allow `Locator` type in selectOptions element parameter  -  by [@&#8203;rzzf](https://github.com/rzzf) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8848](https://github.com/vitest-dev/vitest/issues/8848) [<samp>(7ee28)</samp>](https://github.com/vitest-dev/vitest/commit/7ee283c96)
- **module-runner**: Don't return node builtins for `getBuiltins` unconditionally  -  by [@&#8203;sapphi-red](https://github.com/sapphi-red) in [#&#8203;8863](https://github.com/vitest-dev/vitest/issues/8863) [<samp>(0e858)</samp>](https://github.com/vitest-dev/vitest/commit/0e858bab4)
- **pool**: Rename `groupId` to `groupOrder` in error message  -  by [@&#8203;Yohannfra](https://github.com/Yohannfra) in [#&#8203;8856](https://github.com/vitest-dev/vitest/issues/8856) [<samp>(b9aab)</samp>](https://github.com/vitest-dev/vitest/commit/b9aabf4e6)

#####    🏎 Performance

- Pass testfiles at once when `--no-isolate --maxWorkers=1`  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8835](https://github.com/vitest-dev/vitest/issues/8835) [<samp>(584aa)</samp>](https://github.com/vitest-dev/vitest/commit/584aa7148)
- **expect**: Optimize checking the input type  -  by [@&#8203;Connormiha](https://github.com/Connormiha) in [#&#8203;8840](https://github.com/vitest-dev/vitest/issues/8840) [<samp>(06968)</samp>](https://github.com/vitest-dev/vitest/commit/0696898b4)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.4...v4.0.5)

### [`v4.0.4`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.4)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.3...v4.0.4)

#####    🐞 Bug Fixes

- **browser**:
  - Correct typo  -  by [@&#8203;benmccann](https://github.com/benmccann) in [#&#8203;8796](https://github.com/vitest-dev/vitest/issues/8796) [<samp>(ede1f)</samp>](https://github.com/vitest-dev/vitest/commit/ede1f39d6)
  - Publish a missing context file for webdriverio  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8824](https://github.com/vitest-dev/vitest/issues/8824) [<samp>(7c7b6)</samp>](https://github.com/vitest-dev/vitest/commit/7c7b6f0b1)
- **mocker**:
  - Support mocking builtins without `node:` prefix  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8829](https://github.com/vitest-dev/vitest/issues/8829) [<samp>(06208)</samp>](https://github.com/vitest-dev/vitest/commit/06208d30b)
- **pool**:
  - Runner's error listener causing `MaxListenersExceededWarning`  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8820](https://github.com/vitest-dev/vitest/issues/8820) [<samp>(d1bff)</samp>](https://github.com/vitest-dev/vitest/commit/d1bff3bb3)
  - Capture workers `stdio` to logger  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8809](https://github.com/vitest-dev/vitest/issues/8809) [<samp>(fb95f)</samp>](https://github.com/vitest-dev/vitest/commit/fb95fc736)
- **spy**:
  - Allow classes in `vi.mocked` utility  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8839](https://github.com/vitest-dev/vitest/issues/8839) [<samp>(f8756)</samp>](https://github.com/vitest-dev/vitest/commit/f87568d64)
- **worker**:
  - Rpc listener leak when `isolate: false`  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8821](https://github.com/vitest-dev/vitest/issues/8821) [<samp>(573dc)</samp>](https://github.com/vitest-dev/vitest/commit/573dc06fe)

#####    🏎 Performance

- **utils**: Optimized reducer to avoid creating new objects  -  by [@&#8203;Connormiha](https://github.com/Connormiha) in [#&#8203;8818](https://github.com/vitest-dev/vitest/issues/8818) [<samp>(d19ce)</samp>](https://github.com/vitest-dev/vitest/commit/d19cece3a)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.3...v4.0.4)

### [`v4.0.3`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.3)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.2...v4.0.3)

#####    🐞 Bug Fixes

- Preserve reporter options from config when CLI reporters override them  -  by [@&#8203;Copilot](https://github.com/Copilot) and **sheremet-va** in [#&#8203;8794](https://github.com/vitest-dev/vitest/issues/8794) [<samp>(15552)</samp>](https://github.com/vitest-dev/vitest/commit/155521a85)
- **browser**: More stable in-source testing validation  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8793](https://github.com/vitest-dev/vitest/issues/8793) [<samp>(62297)</samp>](https://github.com/vitest-dev/vitest/commit/622977e61)
- **happy-dom**: Support fetch globals  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8791](https://github.com/vitest-dev/vitest/issues/8791) [<samp>(0fb74)</samp>](https://github.com/vitest-dev/vitest/commit/0fb74bd3b)
- **init**: Use correct jsx/tsx extension  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8792](https://github.com/vitest-dev/vitest/issues/8792) [<samp>(abc04)</samp>](https://github.com/vitest-dev/vitest/commit/abc046f95)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.2...v4.0.3)

### [`v4.0.2`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.2)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.1...v4.0.2)

#####    🐞 Bug Fixes

- **browser**:
  - Don't print the deprecation notice in node\_modules  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8779](https://github.com/vitest-dev/vitest/issues/8779) [<samp>(588f7)</samp>](https://github.com/vitest-dev/vitest/commit/588f76858)
- **pool**:
  - Assign envs before running tests to keep in sync with process.env  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8769](https://github.com/vitest-dev/vitest/issues/8769) [<samp>(26ce8)</samp>](https://github.com/vitest-dev/vitest/commit/26ce88db6)
- **spy**:
  - Properly inherit implementation's `length`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8778](https://github.com/vitest-dev/vitest/issues/8778) [<samp>(d4c2b)</samp>](https://github.com/vitest-dev/vitest/commit/d4c2b280b)
  - Reset spies if both `restoreMocks` and `mockReset` are set in the config  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8781](https://github.com/vitest-dev/vitest/issues/8781) [<samp>(2eedb)</samp>](https://github.com/vitest-dev/vitest/commit/2eedbce76)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.1...v4.0.2)

### [`v4.0.1`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.1)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.0...v4.0.1)

#####    🐞 Bug Fixes

- Move the `getBuiltins` check  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8765](https://github.com/vitest-dev/vitest/issues/8765) [<samp>(81000)</samp>](https://github.com/vitest-dev/vitest/commit/81000631d)
- **pool**: Don't teardown the communication channel too soon if something is running after the test  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8767](https://github.com/vitest-dev/vitest/issues/8767) [<samp>(3fae7)</samp>](https://github.com/vitest-dev/vitest/commit/3fae73e2e)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.0...v4.0.1)

### [`v4.0.0`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.0)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v3.2.4...v4.0.0)

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 [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;7884](https://github.com/vitest-dev/vitest/issues/7884) [<samp>(82fcf)</samp>](https://github.com/vitest-dev/vitest/commit/82fcf5d53)
- Simplify default exclude pattern  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;6287](https://github.com/vitest-dev/vitest/issues/6287) [<samp>(14c50)</samp>](https://github.com/vitest-dev/vitest/commit/14c507200)
- Remove deprecated getSourceMap  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8194](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8195](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8196](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8197](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8198](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8199](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8200](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8202](https://github.com/vitest-dev/vitest/issues/8202) [<samp>(cb8b0)</samp>](https://github.com/vitest-dev/vitest/commit/cb8b03bac)
- Remove deprecated types  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8203](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8205](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8218](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 [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8262](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) and [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8208](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8363](https://github.com/vitest-dev/vitest/issues/8363) [<samp>(9e412)</samp>](https://github.com/vitest-dev/vitest/commit/9e412de35)
- Remove deprecated APIs  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8428](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8454](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) and [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8500](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 [@&#8203;wkillerud](https://github.com/wkillerud) in [#&#8203;8545](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8594](https://github.com/vitest-dev/vitest/issues/8594) [<samp>(4d419)</samp>](https://github.com/vitest-dev/vitest/commit/4d41928c6)
- Rewrite pools without `tinypool`  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8705](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8445](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 [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;6825](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8542](https://github.com/vitest-dev/vitest/issues/8542) [<samp>(304bc)</samp>](https://github.com/vitest-dev/vitest/commit/304bc20f0)
- **reporter**: Remove deprecated APIs  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8223](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8346](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 [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;7963](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;6160](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8159](https://github.com/vitest-dev/vitest/issues/8159) [<samp>(437d4)</samp>](https://github.com/vitest-dev/vitest/commit/437d461aa)
- Add `onUnhandledError` callback  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8162](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 [@&#8203;rChaoz](https://github.com/rChaoz) in [#&#8203;8285](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) [<samp>(ffdb4)</samp>](https://github.com/vitest-dev/vitest/commit/ffdb4d5fd)
- Clickable dashboard numbers  -  by [@&#8203;shairez](https://github.com/shairez) in [#&#8203;7406](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 [@&#8203;userquin](https://github.com/userquin) in [#&#8203;8547](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8629](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 [@&#8203;ysfaran](https://github.com/ysfaran) in [#&#8203;8623](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8695](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8706](https://github.com/vitest-dev/vitest/issues/8706) [<samp>(4a66d)</samp>](https://github.com/vitest-dev/vitest/commit/4a66df625)
- Add schema validation matchers  -  by [@&#8203;zirkelc](https://github.com/zirkelc) in [#&#8203;8527](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8711](https://github.com/vitest-dev/vitest/issues/8711) [<samp>(931c0)</samp>](https://github.com/vitest-dev/vitest/commit/931c0ee63)
- **api**:
  - Expose `experimental_parseSpecifications`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8408](https://github.com/vitest-dev/vitest/issues/8408) [<samp>(fdeb2)</samp>](https://github.com/vitest-dev/vitest/commit/fdeb2f482)
  - Expose Vitest watcher  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8413](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) and [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8412](https://github.com/vitest-dev/vitest/issues/8412) [<samp>(61eb7)</samp>](https://github.com/vitest-dev/vitest/commit/61eb7dd9c)
  - Add `getGlobalTestNamePattern` method  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8438](https://github.com/vitest-dev/vitest/issues/8438) [<samp>(bdb70)</samp>](https://github.com/vitest-dev/vitest/commit/bdb7067f1)
  - Add `relativeModuleId` to `TestModule`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8505](https://github.com/vitest-dev/vitest/issues/8505) [<samp>(3be09)</samp>](https://github.com/vitest-dev/vitest/commit/3be0986aa)
  - Add `getSeed` method  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8592](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 [@&#8203;Shinyaigeek](https://github.com/Shinyaigeek) in [#&#8203;8234](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 [@&#8203;thejackshelton](https://github.com/thejackshelton) in [#&#8203;8330](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 [@&#8203;macarie](https://github.com/macarie) in [#&#8203;8041](https://github.com/vitest-dev/vitest/issues/8041) [<samp>(d45f9)</samp>](https://github.com/vitest-dev/vitest/commit/d45f964c1)
  - Add `trackUnhandledErrors` option  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8386](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8016](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8512](https://github.com/vitest-dev/vitest/issues/8512) [<samp>(2308c)</samp>](https://github.com/vitest-dev/vitest/commit/2308cbf13)
  - Support playwright tracing  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8584](https://github.com/vitest-dev/vitest/issues/8584) [<samp>(1aac5)</samp>](https://github.com/vitest-dev/vitest/commit/1aac59cd2)
  - Expose `options` on `BrowserProviderOption`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8609](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8613](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 [@&#8203;macarie](https://github.com/macarie) in [#&#8203;8687](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 [@&#8203;Battjmo](https://github.com/Battjmo) and [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8456](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 [@&#8203;Shinyaigeek](https://github.com/Shinyaigeek) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8294](https://github.com/vitest-dev/vitest/issues/8294) [<samp>(eeec5)</samp>](https://github.com/vitest-dev/vitest/commit/eeec501de)
- **mocker**:
  - Add `automocker` entry  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8301](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8215](https://github.com/vitest-dev/vitest/issues/8215) [<samp>(2248b)</samp>](https://github.com/vitest-dev/vitest/commit/2248b06d4)
- Remove unused dependencies  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8184](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 [@&#8203;Shinyaigeek](https://github.com/Shinyaigeek) and [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8288](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 [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8278](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 [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8136](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8315](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 [@&#8203;haakonjackfloat](https://github.com/haakonjackfloat) in [#&#8203;8270](https://github.com/vitest-dev/vitest/issues/8270) and [#&#8203;8272](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 [@&#8203;AriPerkkio](https://github.com/AriPerkkio) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8297](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8334](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8352](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 [@&#8203;macarie](https://github.com/macarie) in [#&#8203;8357](https://github.com/vitest-dev/vitest/issues/8357) [<samp>(459ef)</samp>]…
736-c41-2c1-e464fc974 added a commit to Swiss-Armed-Forces/Loom that referenced this pull request Feb 21, 2026
chore(deps): update vitest (major)

This MR contains the following updates:

| Package | Type | Update | Change | OpenSSF |
|---|---|---|---|---|
| [vitest](https://vitest.dev) ([source](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | devDependencies | major | [`^3.2.4` → `^4.0.0`](https://renovatebot.com/diffs/npm/vitest/3.2.4/4.0.18) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/vitest-dev/vitest/badge)](https://securityscorecards.dev/viewer/?uri=github.com/vitest-dev/vitest) |

---

### Release Notes

<details>
<summary>vitest-dev/vitest (vitest)</summary>

### [`v4.0.18`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.18)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.17...v4.0.18)

#####    🚀 Experimental Features

- **experimental**: Add `onModuleRunner` hook to `worker.init`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9286](https://github.com/vitest-dev/vitest/issues/9286) [<samp>(ea837)</samp>](https://github.com/vitest-dev/vitest/commit/ea837de7d)

#####    🐞 Bug Fixes

- Use `meta.url` in `createRequire`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9441](https://github.com/vitest-dev/vitest/issues/9441) [<samp>(e0572)</samp>](https://github.com/vitest-dev/vitest/commit/e057281ca)
- **browser**: Hide injected data-testid attributes  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9503](https://github.com/vitest-dev/vitest/issues/9503) [<samp>(f8989)</samp>](https://github.com/vitest-dev/vitest/commit/f89899cd8)
- **ui**: Process artifact attachments when generating HTML reporter  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;9472](https://github.com/vitest-dev/vitest/issues/9472) [<samp>(22543)</samp>](https://github.com/vitest-dev/vitest/commit/225435647)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.17...v4.0.18)

### [`v4.0.17`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.17)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.16...v4.0.17)

#####    🚀 Experimental Features

- Support openTelemetry for browser mode  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9180](https://github.com/vitest-dev/vitest/issues/9180) [<samp>(1ec3a)</samp>](https://github.com/vitest-dev/vitest/commit/1ec3a8b68)
- Support TRACEPARENT and TRACESTATE environment variables for OpenTelemetry context propagation  -  by [@&#8203;Copilot](https://github.com/Copilot), **hi-ogawa** and [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9295](https://github.com/vitest-dev/vitest/issues/9295) [<samp>(876cb)</samp>](https://github.com/vitest-dev/vitest/commit/876cb84c2)

#####    🐞 Bug Fixes

- Improve asymmetric matcher diff readability by unwrapping container matchers  -  by [@&#8203;Copilot](https://github.com/Copilot), **sheremet-va**, **hi-ogawa** and [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9330](https://github.com/vitest-dev/vitest/issues/9330) [<samp>(b2ec7)</samp>](https://github.com/vitest-dev/vitest/commit/b2ec724a8)
- Improve runner error when importing outside of test context  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9335](https://github.com/vitest-dev/vitest/issues/9335) [<samp>(2dd3d)</samp>](https://github.com/vitest-dev/vitest/commit/2dd3dd839)
- Replace crypto.randomUUID to allow insecure environments (fix [#&#8203;9](https://github.com/vitest-dev/vitest/issues/9)…  -  by [@&#8203;plusgut](https://github.com/plusgut) in [#&#8203;9339](https://github.com/vitest-dev/vitest/issues/9339) and [#&#8203;9](https://github.com/vitest-dev/vitest/issues/9) [<samp>(e6a3f)</samp>](https://github.com/vitest-dev/vitest/commit/e6a3f8cc7)
- Handle null options in `addEventHandler` [#&#8203;9371](https://github.com/vitest-dev/vitest/issues/9371)  -  by [@&#8203;ThibautMarechal](https://github.com/ThibautMarechal) in [#&#8203;9372](https://github.com/vitest-dev/vitest/issues/9372) and [#&#8203;9371](https://github.com/vitest-dev/vitest/issues/9371) [<samp>(40841)</samp>](https://github.com/vitest-dev/vitest/commit/40841ff00)
- Typo in browser.provider error  -  by [@&#8203;deammer](https://github.com/deammer) in [#&#8203;9394](https://github.com/vitest-dev/vitest/issues/9394) [<samp>(4b67f)</samp>](https://github.com/vitest-dev/vitest/commit/4b67fc25a)
- **browser**:
  - Fix `process.env` and `import.meta.env` defines in inline project  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9239](https://github.com/vitest-dev/vitest/issues/9239) [<samp>(b70c9)</samp>](https://github.com/vitest-dev/vitest/commit/b70c96121)
  - Fix upload File instance  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9294](https://github.com/vitest-dev/vitest/issues/9294) [<samp>(b6778)</samp>](https://github.com/vitest-dev/vitest/commit/b67788c69)
  - Fix invalid project token for artifacts assets  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9321](https://github.com/vitest-dev/vitest/issues/9321) [<samp>(caa7d)</samp>](https://github.com/vitest-dev/vitest/commit/caa7d73d4)
  - Log `ErrorEvent.message` when unhandled `ErrorEvent.error` is null  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9322](https://github.com/vitest-dev/vitest/issues/9322) [<samp>(5d84e)</samp>](https://github.com/vitest-dev/vitest/commit/5d84eeb91)
  - Support `fileParallelism` on an instance  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9328](https://github.com/vitest-dev/vitest/issues/9328) [<samp>(15006)</samp>](https://github.com/vitest-dev/vitest/commit/150065459)
- **coverage**:
  - Remove unnecessary `istanbul-lib-source-maps` usage  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9344](https://github.com/vitest-dev/vitest/issues/9344) [<samp>(b0940)</samp>](https://github.com/vitest-dev/vitest/commit/b09405375)
  - Apply patch from [istanbuljs/istanbuljs#837](https://github.com/istanbuljs/istanbuljs/issues/837)  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) and **sapphi-red** in [#&#8203;9413](https://github.com/vitest-dev/vitest/issues/9413) and [#&#8203;837](https://github.com/vitest-dev/vitest/issues/837) [<samp>(e05ce)</samp>](https://github.com/vitest-dev/vitest/commit/e05cedbf4)
- **fsModuleCache**:
  - Don't store importers in cache  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9422](https://github.com/vitest-dev/vitest/issues/9422) [<samp>(75136)</samp>](https://github.com/vitest-dev/vitest/commit/751364eec)
  - Add importers alongside importedModules  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9423](https://github.com/vitest-dev/vitest/issues/9423) [<samp>(59f92)</samp>](https://github.com/vitest-dev/vitest/commit/59f92d403)
- **mocker**:
  - Fix mock transform with class  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9421](https://github.com/vitest-dev/vitest/issues/9421) [<samp>(d390e)</samp>](https://github.com/vitest-dev/vitest/commit/d390eb527)
- **pool**:
  - Validate environment options when reusing the worker  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9349](https://github.com/vitest-dev/vitest/issues/9349) [<samp>(a8a88)</samp>](https://github.com/vitest-dev/vitest/commit/a8a8836e3)
  - Handle worker start failures gracefully  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9337](https://github.com/vitest-dev/vitest/issues/9337) [<samp>(200da)</samp>](https://github.com/vitest-dev/vitest/commit/200dadb32)
- **reporter**:
  - Report test module if it failed to run  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9272](https://github.com/vitest-dev/vitest/issues/9272) [<samp>(c7888)</samp>](https://github.com/vitest-dev/vitest/commit/c78882985)
- **runner**:
  - Respect nested test.only within describe.only  -  by [@&#8203;Ujjwaljain16](https://github.com/Ujjwaljain16) in [#&#8203;9021](https://github.com/vitest-dev/vitest/issues/9021) and [#&#8203;9213](https://github.com/vitest-dev/vitest/issues/9213) [<samp>(55d5d)</samp>](https://github.com/vitest-dev/vitest/commit/55d5dad69)
- **typecheck**:
  - Improve error message when tsc outputs help text  -  by [@&#8203;Ujjwaljain16](https://github.com/Ujjwaljain16) in [#&#8203;9214](https://github.com/vitest-dev/vitest/issues/9214) [<samp>(7b10a)</samp>](https://github.com/vitest-dev/vitest/commit/7b10ab4cd)
- **ui**:
  - Detect gzip by magic numbers instead of Content-Type header in html reporter  -  by [@&#8203;Copilot](https://github.com/Copilot), **hi-ogawa** and [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9278](https://github.com/vitest-dev/vitest/issues/9278) [<samp>(dd033)</samp>](https://github.com/vitest-dev/vitest/commit/dd0331632)
- **webdriverio**:
  - Fall back to WebDriver Classic [#&#8203;9244](https://github.com/vitest-dev/vitest/issues/9244)  -  by [@&#8203;JustasMonkev](https://github.com/JustasMonkev) in [#&#8203;9373](https://github.com/vitest-dev/vitest/issues/9373) and [#&#8203;9244](https://github.com/vitest-dev/vitest/issues/9244) [<samp>(c23dd)</samp>](https://github.com/vitest-dev/vitest/commit/c23dd11bd)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.16...v4.0.17)

### [`v4.0.16`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.16)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.15...v4.0.16)

#####    🐞 Bug Fixes

- Fix browser mode default testTimeout back to 15 seconds  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9167](https://github.com/vitest-dev/vitest/issues/9167) [<samp>(da0ad)</samp>](https://github.com/vitest-dev/vitest/commit/da0ade249)
- Avoid crashing on `process.versions` stub  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9174](https://github.com/vitest-dev/vitest/issues/9174) [<samp>(78cfb)</samp>](https://github.com/vitest-dev/vitest/commit/78cfbf99a)
- Reject calling suite function inside test  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9198](https://github.com/vitest-dev/vitest/issues/9198) [<samp>(1a259)</samp>](https://github.com/vitest-dev/vitest/commit/1a259c340)
- Allow inlining fully dynamic import  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9137](https://github.com/vitest-dev/vitest/issues/9137) [<samp>(56851)</samp>](https://github.com/vitest-dev/vitest/commit/568513ca6)
- Fix module graph UI on html reporter with headless browser mode  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9219](https://github.com/vitest-dev/vitest/issues/9219) [<samp>(60642)</samp>](https://github.com/vitest-dev/vitest/commit/60642b304)
- Log deprecated `test.poolOptions` if it's set  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9226](https://github.com/vitest-dev/vitest/issues/9226) [<samp>(f7f6a)</samp>](https://github.com/vitest-dev/vitest/commit/f7f6aa8ba)
- **browser**:
  - Import `recordArtifact` from the vitest package  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;9186](https://github.com/vitest-dev/vitest/issues/9186) [<samp>(01c56)</samp>](https://github.com/vitest-dev/vitest/commit/01c56454d)
  - Fix `import.meta.env` define  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9205](https://github.com/vitest-dev/vitest/issues/9205) [<samp>(01a9a)</samp>](https://github.com/vitest-dev/vitest/commit/01a9a58d9)
  - String formatting bug when including placeholders in console.log  -  by [@&#8203;michael-debs](https://github.com/michael-debs) and [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9030](https://github.com/vitest-dev/vitest/issues/9030) and [#&#8203;9131](https://github.com/vitest-dev/vitest/issues/9131) [<samp>(84a30)</samp>](https://github.com/vitest-dev/vitest/commit/84a306210)
- **coverage**:
  - Istanbul untested files source maps are off  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9208](https://github.com/vitest-dev/vitest/issues/9208) [<samp>(372e8)</samp>](https://github.com/vitest-dev/vitest/commit/372e86fde)
- **experimental**:
  - Export `setupEnvironment` for custom pools  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9187](https://github.com/vitest-dev/vitest/issues/9187) [<samp>(5d26b)</samp>](https://github.com/vitest-dev/vitest/commit/5d26b87b0)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.15...v4.0.16)

### [`v4.0.15`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.15)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.14...v4.0.15)

#####    🚀 Experimental Features

- **cache**: Add opt-out on a plugin level, fix internal root cache  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9154](https://github.com/vitest-dev/vitest/issues/9154) [<samp>(a68f7)</samp>](https://github.com/vitest-dev/vitest/commit/a68f74e5e)
- **reporters**: Print import duration breakdown  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9105](https://github.com/vitest-dev/vitest/issues/9105) [<samp>(122ff)</samp>](https://github.com/vitest-dev/vitest/commit/122ff321c)

#####    🐞 Bug Fixes

- Keep built-in id as is in bun and deno  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9117](https://github.com/vitest-dev/vitest/issues/9117) [<samp>(075ab)</samp>](https://github.com/vitest-dev/vitest/commit/075ab3520)
- Use `optimizeDeps.rolldownOptions` to fix depreated warning + fix `ssr.external: true`  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9121](https://github.com/vitest-dev/vitest/issues/9121) [<samp>(fd8bd)</samp>](https://github.com/vitest-dev/vitest/commit/fd8bd6dee)
- Fix external behavior with `deps.optimizer`  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9125](https://github.com/vitest-dev/vitest/issues/9125) [<samp>(4c754)</samp>](https://github.com/vitest-dev/vitest/commit/4c75492cc)
- Very minor typo in "Chrome DevTools Protocol"  -  by [@&#8203;HowToTestFrontend](https://github.com/HowToTestFrontend) in [#&#8203;9146](https://github.com/vitest-dev/vitest/issues/9146) [<samp>(20997)</samp>](https://github.com/vitest-dev/vitest/commit/209976419)
- **browser**: Run `toMatchScreenshot` only once when used with `expect.element`  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;9132](https://github.com/vitest-dev/vitest/issues/9132) [<samp>(0d2e7)</samp>](https://github.com/vitest-dev/vitest/commit/0d2e7e3e2)
- **coverage**: Istanbul provider to not break source maps  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9040](https://github.com/vitest-dev/vitest/issues/9040) [<samp>(e4ca9)</samp>](https://github.com/vitest-dev/vitest/commit/e4ca917f1)
- **deps**: Update dependency tinyexec to v1  -  in [#&#8203;9122](https://github.com/vitest-dev/vitest/issues/9122) [<samp>(fd786)</samp>](https://github.com/vitest-dev/vitest/commit/fd7860222)
- **docs**: Remove `--browser.provider` from docs  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9115](https://github.com/vitest-dev/vitest/issues/9115) [<samp>(120b3)</samp>](https://github.com/vitest-dev/vitest/commit/120b3dac1)
- **expect**: Preserve `currentTestName` in extended matchers  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;9106](https://github.com/vitest-dev/vitest/issues/9106) [<samp>(e4345)</samp>](https://github.com/vitest-dev/vitest/commit/e43458e02)
- **pool**: Terminate workers on `CTRL+c` forceful exits  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9140](https://github.com/vitest-dev/vitest/issues/9140) [<samp>(d57d8)</samp>](https://github.com/vitest-dev/vitest/commit/d57d8bf0a)
- **reporters**: Show project in github reporter  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9138](https://github.com/vitest-dev/vitest/issues/9138) [<samp>(bb65e)</samp>](https://github.com/vitest-dev/vitest/commit/bb65e15c7)
- **spy**: Do not mock overriden method, if parent was automocked  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9116](https://github.com/vitest-dev/vitest/issues/9116) [<samp>(1a246)</samp>](https://github.com/vitest-dev/vitest/commit/1a24607b4)
- **web-worker**: MessagePort objects passed to Worker.postMessage work when clone === "native"  -  by [@&#8203;whitphx](https://github.com/whitphx) in [#&#8203;9118](https://github.com/vitest-dev/vitest/issues/9118) [<samp>(deee8)</samp>](https://github.com/vitest-dev/vitest/commit/deee83e54)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.14...v4.0.15)

### [`v4.0.14`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.14)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.13...v4.0.14)

#####    🚀 Experimental Features

- **browser**: Expose `utils.configurePrettyDOM`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9103](https://github.com/vitest-dev/vitest/issues/9103) [<samp>(2cc34)</samp>](https://github.com/vitest-dev/vitest/commit/2cc34e0d4)
- **runner**: Add full names to tasks  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;9087](https://github.com/vitest-dev/vitest/issues/9087) [<samp>(821aa)</samp>](https://github.com/vitest-dev/vitest/commit/821aa2002)
- **ui**: Add tabbed failure view for `toMatchScreenshot` with comparison slider  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;8813](https://github.com/vitest-dev/vitest/issues/8813) [<samp>(c37c2)</samp>](https://github.com/vitest-dev/vitest/commit/c37c2eb0b)

#####    🐞 Bug Fixes

- Externalize before caching  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9077](https://github.com/vitest-dev/vitest/issues/9077) [<samp>(e1b2e)</samp>](https://github.com/vitest-dev/vitest/commit/e1b2e086a)
- Collect the duration of external imports  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9097](https://github.com/vitest-dev/vitest/issues/9097) [<samp>(3326c)</samp>](https://github.com/vitest-dev/vitest/commit/3326cc9f4)
- Rename `collect` to `import`, remove `prepare`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9091](https://github.com/vitest-dev/vitest/issues/9091) [<samp>(1256b)</samp>](https://github.com/vitest-dev/vitest/commit/1256b5ca3)
- **browser**:
  - Unsubscribe `onCancel` on rpc destroy  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9088](https://github.com/vitest-dev/vitest/issues/9088) [<samp>(f5b72)</samp>](https://github.com/vitest-dev/vitest/commit/f5b72374b)
  - Revert the viewport scaling in non-ui mode [#&#8203;9018](https://github.com/vitest-dev/vitest/issues/9018)  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9072](https://github.com/vitest-dev/vitest/issues/9072) and [#&#8203;9018](https://github.com/vitest-dev/vitest/issues/9018) [<samp>(64502)</samp>](https://github.com/vitest-dev/vitest/commit/64502a2c4)
- **coverage**:
  - Invalidate circular modules correctly on rerun with coverage  -  by [@&#8203;aicest](https://github.com/aicest) in [#&#8203;9096](https://github.com/vitest-dev/vitest/issues/9096) [<samp>(6f22c)</samp>](https://github.com/vitest-dev/vitest/commit/6f22c675f)
- **expect**:
  - Allow function as standard schema  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9099](https://github.com/vitest-dev/vitest/issues/9099) [<samp>(ed8a2)</samp>](https://github.com/vitest-dev/vitest/commit/ed8a2ebbd)
- **jsdom**:
  - Reuse abort signals if possible  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9090](https://github.com/vitest-dev/vitest/issues/9090) [<samp>(2c468)</samp>](https://github.com/vitest-dev/vitest/commit/2c468ee95)
- **pool**:
  - Init `VITEST_POOL_ID` + `VITEST_WORKER_ID` before environment setup  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9085](https://github.com/vitest-dev/vitest/issues/9085) [<samp>(37918)</samp>](https://github.com/vitest-dev/vitest/commit/379185b40)
- **web-worker**:
  - `postMessage` to send ports to workers  -  by [@&#8203;whitphx](https://github.com/whitphx) and [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9078](https://github.com/vitest-dev/vitest/issues/9078) [<samp>(9d176)</samp>](https://github.com/vitest-dev/vitest/commit/9d1763d11)

#####    🏎 Performance

- Replace `debug` with `obug`  -  by [@&#8203;sxzz](https://github.com/sxzz) and [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9057](https://github.com/vitest-dev/vitest/issues/9057) [<samp>(acc51)</samp>](https://github.com/vitest-dev/vitest/commit/acc5152b9)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.13...v4.0.14)

### [`v4.0.13`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.13)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.12...v4.0.13)

#####    🐞 Bug Fixes

- **types**:
  - Don't use type from Vite 7.1  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9071](https://github.com/vitest-dev/vitest/issues/9071) [<samp>(6356b)</samp>](https://github.com/vitest-dev/vitest/commit/6356b1d38)
  - Don't import node.js dependent types in vitest/browser  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9068](https://github.com/vitest-dev/vitest/issues/9068) [<samp>(332af)</samp>](https://github.com/vitest-dev/vitest/commit/332afa0de)

#####    🏎 Performance

- Avoid fetchModule roundtrip if the module is cached  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9075](https://github.com/vitest-dev/vitest/issues/9075) [<samp>(b27e0)</samp>](https://github.com/vitest-dev/vitest/commit/b27e002e5)
- **experimental**: If `fsCacheModule` is enabled, read from the memory when possible  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9076](https://github.com/vitest-dev/vitest/issues/9076) [<samp>(6b9a1)</samp>](https://github.com/vitest-dev/vitest/commit/6b9a1b5b1)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.12...v4.0.13)

### [`v4.0.12`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.12)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.11...v4.0.12)

#####    🐞 Bug Fixes

- Inherit `fsModuleCachePath` by default  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9063](https://github.com/vitest-dev/vitest/issues/9063) [<samp>(9a8bc)</samp>](https://github.com/vitest-dev/vitest/commit/9a8bc78c5)
- Don't import from `@opentelemetry/api` in public types  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9066](https://github.com/vitest-dev/vitest/issues/9066) [<samp>(e944a)</samp>](https://github.com/vitest-dev/vitest/commit/e944a37b7)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.11...v4.0.12)

### [`v4.0.11`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.11)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.10...v4.0.11)

#####    🚀 Experimental Features

- **api**: Add extensible test artifact API  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;8987](https://github.com/vitest-dev/vitest/issues/8987) [<samp>(77292)</samp>](https://github.com/vitest-dev/vitest/commit/772923645)
  - See more at <https://vitest.dev/api/advanced/artifacts>
- **expect**: Provide `task` in `MatchState`  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;9022](https://github.com/vitest-dev/vitest/issues/9022) [<samp>(afd1f)</samp>](https://github.com/vitest-dev/vitest/commit/afd1f3e52)
- **experimental**: Support OpenTelemetry traces  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8994](https://github.com/vitest-dev/vitest/issues/8994) [<samp>(d6d33)</samp>](https://github.com/vitest-dev/vitest/commit/d6d3359dd)
  - See more at <https://vitest.dev/guide/open-telemetry>

#####    🏎 Performance

- **experimental**: Add file system cache  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9026](https://github.com/vitest-dev/vitest/issues/9026) [<samp>(1b147)</samp>](https://github.com/vitest-dev/vitest/commit/1b1473712)
  - See more at <https://vitest.dev/config/experimental#experimental-fsmodulecache>

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.10...v4.0.11)

### [`v4.0.10`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.10)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.9...v4.0.10)

#####    🐞 Bug Fixes

- Remove `onCancel` when worker is terminated  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9033](https://github.com/vitest-dev/vitest/issues/9033) [<samp>(6d7f0)</samp>](https://github.com/vitest-dev/vitest/commit/6d7f0a99e)
- **browser**:
  - Don't scale the iframe if UI is disabled  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9018](https://github.com/vitest-dev/vitest/issues/9018) [<samp>(5406e)</samp>](https://github.com/vitest-dev/vitest/commit/5406e8ea4)
  - Handle dependency stack traces with external source maps. Resolves: [#&#8203;9003](https://github.com/vitest-dev/vitest/issues/9003)  -  by [@&#8203;iclectic](https://github.com/iclectic) in [#&#8203;9016](https://github.com/vitest-dev/vitest/issues/9016) and [#&#8203;9003](https://github.com/vitest-dev/vitest/issues/9003) [<samp>(57ae5)</samp>](https://github.com/vitest-dev/vitest/commit/57ae547de)
- **bun**:
  - Parsing of stack trace for bun runtime  -  by [@&#8203;nazarhussain](https://github.com/nazarhussain) in [#&#8203;9032](https://github.com/vitest-dev/vitest/issues/9032) [<samp>(f3ec6)</samp>](https://github.com/vitest-dev/vitest/commit/f3ec6fcb0)
- **core**:
  - Prevent starting new run when cancelling  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8991](https://github.com/vitest-dev/vitest/issues/8991) [<samp>(eb98d)</samp>](https://github.com/vitest-dev/vitest/commit/eb98dd8fd)
- **pool**:
  - Prevent writing to closed worker  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9023](https://github.com/vitest-dev/vitest/issues/9023) [<samp>(042c6)</samp>](https://github.com/vitest-dev/vitest/commit/042c60c80)
- **reporters**:
  - Report correct test run duration at the end  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8969](https://github.com/vitest-dev/vitest/issues/8969) [<samp>(bc3a6)</samp>](https://github.com/vitest-dev/vitest/commit/bc3a6921e)
- **ui**:
  - Use execution time from ws reporter (`onFinished`)  -  by [@&#8203;userquin](https://github.com/userquin) in [#&#8203;8975](https://github.com/vitest-dev/vitest/issues/8975) [<samp>(f56dc)</samp>](https://github.com/vitest-dev/vitest/commit/f56dc0cc4)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.9...v4.0.10)

### [`v4.0.9`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.9)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.8...v4.0.9)

#####    🚀 Experimental Features

- **expect**: Add Set support to toBeOneOf  -  by [@&#8203;tim-we](https://github.com/tim-we) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8906](https://github.com/vitest-dev/vitest/issues/8906) [<samp>(a415d)</samp>](https://github.com/vitest-dev/vitest/commit/a415d0375)

#####    🐞 Bug Fixes

- **browser**: Add favicon icons to the browser mode ui  -  by [@&#8203;userquin](https://github.com/userquin) in [#&#8203;8972](https://github.com/vitest-dev/vitest/issues/8972) [<samp>(353ee)</samp>](https://github.com/vitest-dev/vitest/commit/353ee5bbc)
- **forks**: Increase worker start timeout  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9027](https://github.com/vitest-dev/vitest/issues/9027) [<samp>(5e750)</samp>](https://github.com/vitest-dev/vitest/commit/5e750f4ba)
- **jsdom**: Cloned request is an instance of `Request`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8985](https://github.com/vitest-dev/vitest/issues/8985) [<samp>(506a9)</samp>](https://github.com/vitest-dev/vitest/commit/506a9fd0f)
- **ui**: Collect file/suite/test duration correctly  -  by [@&#8203;userquin](https://github.com/userquin) in [#&#8203;8976](https://github.com/vitest-dev/vitest/issues/8976) [<samp>(8016d)</samp>](https://github.com/vitest-dev/vitest/commit/8016da886)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.8...v4.0.9)

### [`v4.0.8`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.8)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.7...v4.0.8)

#####    🐞 Bug Fixes

- Workaround `noExternal` merging bug on Vite 6  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;8950](https://github.com/vitest-dev/vitest/issues/8950) [<samp>(bcb13)</samp>](https://github.com/vitest-dev/vitest/commit/bcb132fd4)
- Missed context.d.ts file  -  by [@&#8203;termorey](https://github.com/termorey) in [#&#8203;8965](https://github.com/vitest-dev/vitest/issues/8965) [<samp>(9044d)</samp>](https://github.com/vitest-dev/vitest/commit/9044d9356)
- Incorrect error message for non-awaited `expect.element()`  -  by [@&#8203;StyleShit](https://github.com/StyleShit) in [#&#8203;8954](https://github.com/vitest-dev/vitest/issues/8954) [<samp>(9638d)</samp>](https://github.com/vitest-dev/vitest/commit/9638db0f3)
- **browser**: Cleanup frame-ancestors from CSP header at coverage middleware  -  by [@&#8203;userquin](https://github.com/userquin) in [#&#8203;8941](https://github.com/vitest-dev/vitest/issues/8941) [<samp>(1f730)</samp>](https://github.com/vitest-dev/vitest/commit/1f7303738)
- **deps**: Update all non-major dependencies  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8636](https://github.com/vitest-dev/vitest/issues/8636) [<samp>(da8b9)</samp>](https://github.com/vitest-dev/vitest/commit/da8b93aa5)
- **forks**: Do not fail with Windows Defender enabled  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8967](https://github.com/vitest-dev/vitest/issues/8967) [<samp>(c79f4)</samp>](https://github.com/vitest-dev/vitest/commit/c79f47c65)
- **runner**: Properly encode Uint8Array body in annotations  -  by [@&#8203;Livan-pro](https://github.com/Livan-pro) in [#&#8203;8951](https://github.com/vitest-dev/vitest/issues/8951) [<samp>(997ca)</samp>](https://github.com/vitest-dev/vitest/commit/997ca5a82)
- **spy**: Copy static properties if spy is initialised with `vi.fn()`, fix types for `vi.spyOn(obj, class)`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8956](https://github.com/vitest-dev/vitest/issues/8956) [<samp>(75e7f)</samp>](https://github.com/vitest-dev/vitest/commit/75e7fcc51)
- **webdriverio**: When no argument is passed to the .click interaction command, the webdriver command should also have no argument  -  by [@&#8203;julienw](https://github.com/julienw) in [#&#8203;8937](https://github.com/vitest-dev/vitest/issues/8937) [<samp>(069e6)</samp>](https://github.com/vitest-dev/vitest/commit/069e6db9b)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.7...v4.0.8)

### [`v4.0.7`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.7)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.6...v4.0.7)

#####    🐞 Bug Fixes

- Bind `process` in case global is overwritten  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8916](https://github.com/vitest-dev/vitest/issues/8916) [<samp>(6240d)</samp>](https://github.com/vitest-dev/vitest/commit/6240d51a6)
- Create environment once per worker with `isolate: false`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8915](https://github.com/vitest-dev/vitest/issues/8915) [<samp>(c9078)</samp>](https://github.com/vitest-dev/vitest/commit/c9078a26e)
- Add Locator as a possible element type in `toContainElement()` matcher  -  by [@&#8203;vitalybaev](https://github.com/vitalybaev) in [#&#8203;8910](https://github.com/vitest-dev/vitest/issues/8910) and [#&#8203;8927](https://github.com/vitest-dev/vitest/issues/8927) [<samp>(35a27)</samp>](https://github.com/vitest-dev/vitest/commit/35a27d4b3)
- **browser**: Inherit `isolate` option, deprecate `browser.isolate`/`browser.fileParallelism`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8890](https://github.com/vitest-dev/vitest/issues/8890) [<samp>(9d2b4)</samp>](https://github.com/vitest-dev/vitest/commit/9d2b4d501)
- **cli**: Parse `--execArgv` as array  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8924](https://github.com/vitest-dev/vitest/issues/8924) [<samp>(751c3)</samp>](https://github.com/vitest-dev/vitest/commit/751c3926f)
- **jsdom**: Support `URL.createObjectURL`, `FormData.set(prop, blob)`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8935](https://github.com/vitest-dev/vitest/issues/8935) [<samp>(a1b73)</samp>](https://github.com/vitest-dev/vitest/commit/a1b7361ab)
- **pool**: Avoid `--require` argument when running in deno  -  by [@&#8203;pi0](https://github.com/pi0) in [#&#8203;8897](https://github.com/vitest-dev/vitest/issues/8897) [<samp>(d41fa)</samp>](https://github.com/vitest-dev/vitest/commit/d41fa742f)
- **typecheck**: Handle re-runs outside `tsc`  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8920](https://github.com/vitest-dev/vitest/issues/8920) [<samp>(fdb2e)</samp>](https://github.com/vitest-dev/vitest/commit/fdb2e7982)

#####    🏎 Performance

- **pool**:
  - Sort test files by project by default  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8914](https://github.com/vitest-dev/vitest/issues/8914) [<samp>(680a6)</samp>](https://github.com/vitest-dev/vitest/commit/680a612ea)
- **reporters**:
  - Optimize getting the tests stats  -  by [@&#8203;Connormiha](https://github.com/Connormiha) in [#&#8203;8908](https://github.com/vitest-dev/vitest/issues/8908) [<samp>(06d62)</samp>](https://github.com/vitest-dev/vitest/commit/06d6207fb)
  - Remove unnecessary `Array.from` call  -  by [@&#8203;Connormiha](https://github.com/Connormiha) in [#&#8203;8907](https://github.com/vitest-dev/vitest/issues/8907) [<samp>(b6014)</samp>](https://github.com/vitest-dev/vitest/commit/b60149b27)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.6...v4.0.7)

### [`v4.0.6`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.6)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.5...v4.0.6)

#####    🐞 Bug Fixes

- Don't merge errors with different diffs for reporting  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;8871](https://github.com/vitest-dev/vitest/issues/8871) [<samp>(3e19f)</samp>](https://github.com/vitest-dev/vitest/commit/3e19f27d0)
- Do not throw when importing a type from an external package  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8875](https://github.com/vitest-dev/vitest/issues/8875) [<samp>(7e6c3)</samp>](https://github.com/vitest-dev/vitest/commit/7e6c37ae5)
- Improve spying types  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8878](https://github.com/vitest-dev/vitest/issues/8878) [<samp>(ca041)</samp>](https://github.com/vitest-dev/vitest/commit/ca041f51a)
- Reuse the same environment when `isolate` and `fileParallelism` are false  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8889](https://github.com/vitest-dev/vitest/issues/8889) [<samp>(31706)</samp>](https://github.com/vitest-dev/vitest/commit/31706dfe5)
- **browser**:
  - Support module tracking  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8877](https://github.com/vitest-dev/vitest/issues/8877) [<samp>(9e24a)</samp>](https://github.com/vitest-dev/vitest/commit/9e24a59f2)
  - Ensure setup files are re-evaluated on each test run  -  by [@&#8203;yjaaidi](https://github.com/yjaaidi) in [#&#8203;8883](https://github.com/vitest-dev/vitest/issues/8883) and [#&#8203;8884](https://github.com/vitest-dev/vitest/issues/8884) [<samp>(f50ea)</samp>](https://github.com/vitest-dev/vitest/commit/f50ea7a25)
- **coverage**:
  - Prevent filtering out virtual files before remapping to sources  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8860](https://github.com/vitest-dev/vitest/issues/8860) [<samp>(e3b77)</samp>](https://github.com/vitest-dev/vitest/commit/e3b777550)
- **happy-dom**:
  - Properly teardown additional keys  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8888](https://github.com/vitest-dev/vitest/issues/8888) [<samp>(10a06)</samp>](https://github.com/vitest-dev/vitest/commit/10a06d8c9)
- **jsdom**:
  - Pass down Node.js `FormData` to `Request`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8880](https://github.com/vitest-dev/vitest/issues/8880) [<samp>(197ca)</samp>](https://github.com/vitest-dev/vitest/commit/197caf2f9)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.5...v4.0.6)

### [`v4.0.5`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.5)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.4...v4.0.5)

#####    🐞 Bug Fixes

- Respect `ssr.noExternal` when externalizing dependencies, fix Svelte and Astro  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8862](https://github.com/vitest-dev/vitest/issues/8862) [<samp>(a4f86)</samp>](https://github.com/vitest-dev/vitest/commit/a4f86f1ba)
- Allow module in --config  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8864](https://github.com/vitest-dev/vitest/issues/8864) [<samp>(b9521)</samp>](https://github.com/vitest-dev/vitest/commit/b9521e0c2)
- **browser**: Allow `Locator` type in selectOptions element parameter  -  by [@&#8203;rzzf](https://github.com/rzzf) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8848](https://github.com/vitest-dev/vitest/issues/8848) [<samp>(7ee28)</samp>](https://github.com/vitest-dev/vitest/commit/7ee283c96)
- **module-runner**: Don't return node builtins for `getBuiltins` unconditionally  -  by [@&#8203;sapphi-red](https://github.com/sapphi-red) in [#&#8203;8863](https://github.com/vitest-dev/vitest/issues/8863) [<samp>(0e858)</samp>](https://github.com/vitest-dev/vitest/commit/0e858bab4)
- **pool**: Rename `groupId` to `groupOrder` in error message  -  by [@&#8203;Yohannfra](https://github.com/Yohannfra) in [#&#8203;8856](https://github.com/vitest-dev/vitest/issues/8856) [<samp>(b9aab)</samp>](https://github.com/vitest-dev/vitest/commit/b9aabf4e6)

#####    🏎 Performance

- Pass testfiles at once when `--no-isolate --maxWorkers=1`  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8835](https://github.com/vitest-dev/vitest/issues/8835) [<samp>(584aa)</samp>](https://github.com/vitest-dev/vitest/commit/584aa7148)
- **expect**: Optimize checking the input type  -  by [@&#8203;Connormiha](https://github.com/Connormiha) in [#&#8203;8840](https://github.com/vitest-dev/vitest/issues/8840) [<samp>(06968)</samp>](https://github.com/vitest-dev/vitest/commit/0696898b4)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.4...v4.0.5)

### [`v4.0.4`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.4)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.3...v4.0.4)

#####    🐞 Bug Fixes

- **browser**:
  - Correct typo  -  by [@&#8203;benmccann](https://github.com/benmccann) in [#&#8203;8796](https://github.com/vitest-dev/vitest/issues/8796) [<samp>(ede1f)</samp>](https://github.com/vitest-dev/vitest/commit/ede1f39d6)
  - Publish a missing context file for webdriverio  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8824](https://github.com/vitest-dev/vitest/issues/8824) [<samp>(7c7b6)</samp>](https://github.com/vitest-dev/vitest/commit/7c7b6f0b1)
- **mocker**:
  - Support mocking builtins without `node:` prefix  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8829](https://github.com/vitest-dev/vitest/issues/8829) [<samp>(06208)</samp>](https://github.com/vitest-dev/vitest/commit/06208d30b)
- **pool**:
  - Runner's error listener causing `MaxListenersExceededWarning`  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8820](https://github.com/vitest-dev/vitest/issues/8820) [<samp>(d1bff)</samp>](https://github.com/vitest-dev/vitest/commit/d1bff3bb3)
  - Capture workers `stdio` to logger  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8809](https://github.com/vitest-dev/vitest/issues/8809) [<samp>(fb95f)</samp>](https://github.com/vitest-dev/vitest/commit/fb95fc736)
- **spy**:
  - Allow classes in `vi.mocked` utility  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8839](https://github.com/vitest-dev/vitest/issues/8839) [<samp>(f8756)</samp>](https://github.com/vitest-dev/vitest/commit/f87568d64)
- **worker**:
  - Rpc listener leak when `isolate: false`  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8821](https://github.com/vitest-dev/vitest/issues/8821) [<samp>(573dc)</samp>](https://github.com/vitest-dev/vitest/commit/573dc06fe)

#####    🏎 Performance

- **utils**: Optimized reducer to avoid creating new objects  -  by [@&#8203;Connormiha](https://github.com/Connormiha) in [#&#8203;8818](https://github.com/vitest-dev/vitest/issues/8818) [<samp>(d19ce)</samp>](https://github.com/vitest-dev/vitest/commit/d19cece3a)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.3...v4.0.4)

### [`v4.0.3`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.3)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.2...v4.0.3)

#####    🐞 Bug Fixes

- Preserve reporter options from config when CLI reporters override them  -  by [@&#8203;Copilot](https://github.com/Copilot) and **sheremet-va** in [#&#8203;8794](https://github.com/vitest-dev/vitest/issues/8794) [<samp>(15552)</samp>](https://github.com/vitest-dev/vitest/commit/155521a85)
- **browser**: More stable in-source testing validation  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8793](https://github.com/vitest-dev/vitest/issues/8793) [<samp>(62297)</samp>](https://github.com/vitest-dev/vitest/commit/622977e61)
- **happy-dom**: Support fetch globals  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8791](https://github.com/vitest-dev/vitest/issues/8791) [<samp>(0fb74)</samp>](https://github.com/vitest-dev/vitest/commit/0fb74bd3b)
- **init**: Use correct jsx/tsx extension  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8792](https://github.com/vitest-dev/vitest/issues/8792) [<samp>(abc04)</samp>](https://github.com/vitest-dev/vitest/commit/abc046f95)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.2...v4.0.3)

### [`v4.0.2`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.2)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.1...v4.0.2)

#####    🐞 Bug Fixes

- **browser**:
  - Don't print the deprecation notice in node\_modules  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8779](https://github.com/vitest-dev/vitest/issues/8779) [<samp>(588f7)</samp>](https://github.com/vitest-dev/vitest/commit/588f76858)
- **pool**:
  - Assign envs before running tests to keep in sync with process.env  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8769](https://github.com/vitest-dev/vitest/issues/8769) [<samp>(26ce8)</samp>](https://github.com/vitest-dev/vitest/commit/26ce88db6)
- **spy**:
  - Properly inherit implementation's `length`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8778](https://github.com/vitest-dev/vitest/issues/8778) [<samp>(d4c2b)</samp>](https://github.com/vitest-dev/vitest/commit/d4c2b280b)
  - Reset spies if both `restoreMocks` and `mockReset` are set in the config  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8781](https://github.com/vitest-dev/vitest/issues/8781) [<samp>(2eedb)</samp>](https://github.com/vitest-dev/vitest/commit/2eedbce76)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.1...v4.0.2)

### [`v4.0.1`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.1)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.0...v4.0.1)

#####    🐞 Bug Fixes

- Move the `getBuiltins` check  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8765](https://github.com/vitest-dev/vitest/issues/8765) [<samp>(81000)</samp>](https://github.com/vitest-dev/vitest/commit/81000631d)
- **pool**: Don't teardown the communication channel too soon if something is running after the test  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8767](https://github.com/vitest-dev/vitest/issues/8767) [<samp>(3fae7)</samp>](https://github.com/vitest-dev/vitest/commit/3fae73e2e)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.0...v4.0.1)

### [`v4.0.0`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.0)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v3.2.4...v4.0.0)

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 [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;7884](https://github.com/vitest-dev/vitest/issues/7884) [<samp>(82fcf)</samp>](https://github.com/vitest-dev/vitest/commit/82fcf5d53)
- Simplify default exclude pattern  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;6287](https://github.com/vitest-dev/vitest/issues/6287) [<samp>(14c50)</samp>](https://github.com/vitest-dev/vitest/commit/14c507200)
- Remove deprecated getSourceMap  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8194](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8195](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8196](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8197](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8198](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8199](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8200](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8202](https://github.com/vitest-dev/vitest/issues/8202) [<samp>(cb8b0)</samp>](https://github.com/vitest-dev/vitest/commit/cb8b03bac)
- Remove deprecated types  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8203](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8205](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8218](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 [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8262](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) and [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8208](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8363](https://github.com/vitest-dev/vitest/issues/8363) [<samp>(9e412)</samp>](https://github.com/vitest-dev/vitest/commit/9e412de35)
- Remove deprecated APIs  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8428](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8454](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) and [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8500](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 [@&#8203;wkillerud](https://github.com/wkillerud) in [#&#8203;8545](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8594](https://github.com/vitest-dev/vitest/issues/8594) [<samp>(4d419)</samp>](https://github.com/vitest-dev/vitest/commit/4d41928c6)
- Rewrite pools without `tinypool`  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8705](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8445](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 [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;6825](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8542](https://github.com/vitest-dev/vitest/issues/8542) [<samp>(304bc)</samp>](https://github.com/vitest-dev/vitest/commit/304bc20f0)
- **reporter**: Remove deprecated APIs  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8223](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8346](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 [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;7963](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;6160](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8159](https://github.com/vitest-dev/vitest/issues/8159) [<samp>(437d4)</samp>](https://github.com/vitest-dev/vitest/commit/437d461aa)
- Add `onUnhandledError` callback  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8162](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 [@&#8203;rChaoz](https://github.com/rChaoz) in [#&#8203;8285](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) [<samp>(ffdb4)</samp>](https://github.com/vitest-dev/vitest/commit/ffdb4d5fd)
- Clickable dashboard numbers  -  by [@&#8203;shairez](https://github.com/shairez) in [#&#8203;7406](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 [@&#8203;userquin](https://github.com/userquin) in [#&#8203;8547](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8629](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 [@&#8203;ysfaran](https://github.com/ysfaran) in [#&#8203;8623](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8695](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8706](https://github.com/vitest-dev/vitest/issues/8706) [<samp>(4a66d)</samp>](https://github.com/vitest-dev/vitest/commit/4a66df625)
- Add schema validation matchers  -  by [@&#8203;zirkelc](https://github.com/zirkelc) in [#&#8203;8527](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8711](https://github.com/vitest-dev/vitest/issues/8711) [<samp>(931c0)</samp>](https://github.com/vitest-dev/vitest/commit/931c0ee63)
- **api**:
  - Expose `experimental_parseSpecifications`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8408](https://github.com/vitest-dev/vitest/issues/8408) [<samp>(fdeb2)</samp>](https://github.com/vitest-dev/vitest/commit/fdeb2f482)
  - Expose Vitest watcher  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8413](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) and [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8412](https://github.com/vitest-dev/vitest/issues/8412) [<samp>(61eb7)</samp>](https://github.com/vitest-dev/vitest/commit/61eb7dd9c)
  - Add `getGlobalTestNamePattern` method  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8438](https://github.com/vitest-dev/vitest/issues/8438) [<samp>(bdb70)</samp>](https://github.com/vitest-dev/vitest/commit/bdb7067f1)
  - Add `relativeModuleId` to `TestModule`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8505](https://github.com/vitest-dev/vitest/issues/8505) [<samp>(3be09)</samp>](https://github.com/vitest-dev/vitest/commit/3be0986aa)
  - Add `getSeed` method  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8592](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 [@&#8203;Shinyaigeek](https://github.com/Shinyaigeek) in [#&#8203;8234](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 [@&#8203;thejackshelton](https://github.com/thejackshelton) in [#&#8203;8330](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 [@&#8203;macarie](https://github.com/macarie) in [#&#8203;8041](https://github.com/vitest-dev/vitest/issues/8041) [<samp>(d45f9)</samp>](https://github.com/vitest-dev/vitest/commit/d45f964c1)
  - Add `trackUnhandledErrors` option  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8386](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8016](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8512](https://github.com/vitest-dev/vitest/issues/8512) [<samp>(2308c)</samp>](https://github.com/vitest-dev/vitest/commit/2308cbf13)
  - Support playwright tracing  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8584](https://github.com/vitest-dev/vitest/issues/8584) [<samp>(1aac5)</samp>](https://github.com/vitest-dev/vitest/commit/1aac59cd2)
  - Expose `options` on `BrowserProviderOption`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8609](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8613](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 [@&#8203;macarie](https://github.com/macarie) in [#&#8203;8687](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 [@&#8203;Battjmo](https://github.com/Battjmo) and [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8456](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 [@&#8203;Shinyaigeek](https://github.com/Shinyaigeek) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8294](https://github.com/vitest-dev/vitest/issues/8294) [<samp>(eeec5)</samp>](https://github.com/vitest-dev/vitest/commit/eeec501de)
- **mocker**:
  - Add `automocker` entry  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8301](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8215](https://github.com/vitest-dev/vitest/issues/8215) [<samp>(2248b)</samp>](https://github.com/vitest-dev/vitest/commit/2248b06d4)
- Remove unused dependencies  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8184](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 [@&#8203;Shinyaigeek](https://github.com/Shinyaigeek) and [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8288](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 [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;8278](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 [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8136](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8315](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 [@&#8203;haakonjackfloat](https://github.com/haakonjackfloat) in [#&#8203;8270](https://github.com/vitest-dev/vitest/issues/8270) and [#&#8203;8272](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 [@&#8203;AriPerkkio](https://github.com/AriPerkkio) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8297](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8334](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 [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8352](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 [@&#8203;macarie](https://github.com/macarie) in [#&#8203;8357](https://git…
736-c41-2c1-e464fc974 added a commit to Swiss-Armed-Forces/Loom that referenced this pull request Mar 16, 2026
This MR contains the following updates:

| Package | Type | Update | Change | OpenSSF |
|---|---|---|---|---|
| [@openapitools/openapi-generator-cli](https://github.com/OpenAPITools/openapi-generator-cli) | devDependencies | minor | [`2.29.0` → `2.30.2`](https://renovatebot.com/diffs/npm/@openapitools%2fopenapi-generator-cli/2.29.0/2.30.2) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/OpenAPITools/openapi-generator-cli/badge)](https://securityscorecards.dev/viewer/?uri=github.com/OpenAPITools/openapi-generator-cli) |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | devDependencies | minor | [`24.10.13` → `24.12.0`](https://renovatebot.com/diffs/npm/@types%2fnode/24.10.13/24.12.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/DefinitelyTyped/DefinitelyTyped/badge)](https://securityscorecards.dev/viewer/?uri=github.com/DefinitelyTyped/DefinitelyTyped) |
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | devDependencies | minor | [`8.56.1` → `8.57.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.56.1/8.57.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/typescript-eslint/typescript-eslint/badge)](https://securityscorecards.dev/viewer/?uri=github.com/typescript-eslint/typescript-eslint) |
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | devDependencies | minor | [`8.56.1` → `8.57.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.56.1/8.57.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/typescript-eslint/typescript-eslint/badge)](https://securityscorecards.dev/viewer/?uri=github.com/typescript-eslint/typescript-eslint) |
| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-react#readme) ([source](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react)) | devDependencies | minor | [`5.1.4` → `5.2.0`](https://renovatebot.com/diffs/npm/@vitejs%2fplugin-react/5.1.4/5.2.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/vitejs/vite-plugin-react/badge)](https://securityscorecards.dev/viewer/?uri=github.com/vitejs/vite-plugin-react) |
| [typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)) | devDependencies | minor | [`8.56.1` → `8.57.0`](https://renovatebot.com/diffs/npm/typescript-eslint/8.56.1/8.57.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/typescript-eslint/typescript-eslint/badge)](https://securityscorecards.dev/viewer/?uri=github.com/typescript-eslint/typescript-eslint) |
| [vite-plugin-static-copy](https://github.com/sapphi-red/vite-plugin-static-copy) | devDependencies | minor | [`3.2.0` → `3.3.0`](https://renovatebot.com/diffs/npm/vite-plugin-static-copy/3.2.0/3.3.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/sapphi-red/vite-plugin-static-copy/badge)](https://securityscorecards.dev/viewer/?uri=github.com/sapphi-red/vite-plugin-static-copy) |
| [vitest](https://vitest.dev) ([source](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | devDependencies | minor | [`4.0.18` → `4.1.0`](https://renovatebot.com/diffs/npm/vitest/4.0.18/4.1.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/vitest-dev/vitest/badge)](https://securityscorecards.dev/viewer/?uri=github.com/vitest-dev/vitest) |

---

### Release Notes

<details>
<summary>OpenAPITools/openapi-generator-cli (@&#8203;openapitools/openapi-generator-cli)</summary>

### [`v2.30.2`](https://github.com/OpenAPITools/openapi-generator-cli/releases/tag/v2.30.2)

[Compare Source](OpenAPITools/openapi-generator-cli@v2.30.1...v2.30.2)

##### Bug Fixes

- **deps:** update dependency jsonpath to v1.3.0 ([#&#8203;1164](OpenAPITools/openapi-generator-cli#1164)) ([2c4802d](OpenAPITools/openapi-generator-cli@2c4802d))

### [`v2.30.1`](https://github.com/OpenAPITools/openapi-generator-cli/releases/tag/v2.30.1)

[Compare Source](OpenAPITools/openapi-generator-cli@v2.30.0...v2.30.1)

##### Bug Fixes

- **deps:** update dependency fs-extra to v11.3.4 ([#&#8203;1157](OpenAPITools/openapi-generator-cli#1157)) ([74d5871](OpenAPITools/openapi-generator-cli@74d5871))

### [`v2.30.0`](https://github.com/OpenAPITools/openapi-generator-cli/releases/tag/v2.30.0)

[Compare Source](OpenAPITools/openapi-generator-cli@v2.29.0...v2.30.0)

##### Features

- **release:** trigger a release ([#&#8203;1148](OpenAPITools/openapi-generator-cli#1148)) ([a1e9c93](OpenAPITools/openapi-generator-cli@a1e9c93))

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/eslint-plugin)</summary>

### [`v8.57.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8570-2026-03-09)

[Compare Source](typescript-eslint/typescript-eslint@v8.56.1...v8.57.0)

##### 🚀 Features

- **eslint-plugin:** \[no-unnecessary-condition] allow literal loop conditions in for/do loops ([#&#8203;12080](typescript-eslint/typescript-eslint#12080))

##### 🩹 Fixes

- **eslint-plugin:** \[no-base-to-string] fix false positive for toString with overloads ([#&#8203;12089](typescript-eslint/typescript-eslint#12089))
- **eslint-plugin:** \[prefer-promise-reject-errors] add allow `TypeOrValueSpecifier` to prefer-promise-reject-errors ([#&#8203;12094](typescript-eslint/typescript-eslint#12094))
- **typescript-estree:** if the template literal is tagged and the text has an invalid escape, `cooked` will be `null` ([#&#8203;11355](typescript-eslint/typescript-eslint#11355))
- **eslint-plugin:** guard against negative paramIndex in no-useless-default-assignment ([#&#8203;12077](typescript-eslint/typescript-eslint#12077))
- **eslint-plugin:** handle statically analyzable computed keys in prefer-readonly ([#&#8203;12079](typescript-eslint/typescript-eslint#12079))
- **eslint-plugin:** \[strict-void-return] false positives with overloads ([#&#8203;12055](typescript-eslint/typescript-eslint#12055))

##### ❤️ Thank You

- Brad Zacher [@&#8203;bradzacher](https://github.com/bradzacher)
- Brian Schlenker [@&#8203;bschlenk](https://github.com/bschlenk)
- Evyatar Daud [@&#8203;StyleShit](https://github.com/StyleShit)
- James Henry [@&#8203;JamesHenry](https://github.com/JamesHenry)
- Josh Goldberg
- Kirk Waiblinger [@&#8203;kirkwaiblinger](https://github.com/kirkwaiblinger)
- Moses Odutusin [@&#8203;thebolarin](https://github.com/thebolarin)
- Newton Yuan [@&#8203;NewtonYuan](https://github.com/NewtonYuan)
- SungHyun627 [@&#8203;SungHyun627](https://github.com/SungHyun627)
- Younsang Na [@&#8203;nayounsang](https://github.com/nayounsang)

See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.0) for more information.

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/parser)</summary>

### [`v8.57.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8570-2026-03-09)

[Compare Source](typescript-eslint/typescript-eslint@v8.56.1...v8.57.0)

This was a version bump only for parser to align it with other projects, there were no code changes.

See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.0) for more information.

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

</details>

<details>
<summary>vitejs/vite-plugin-react (@&#8203;vitejs/plugin-react)</summary>

### [`v5.2.0`](vitejs/vite-plugin-react@f066114...fda3a86)

[Compare Source](vitejs/vite-plugin-react@f066114...fda3a86)

</details>

<details>
<summary>typescript-eslint/typescript-eslint (typescript-eslint)</summary>

### [`v8.57.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8570-2026-03-09)

[Compare Source](typescript-eslint/typescript-eslint@v8.56.1...v8.57.0)

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.0) for more information.

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

</details>

<details>
<summary>sapphi-red/vite-plugin-static-copy (vite-plugin-static-copy)</summary>

### [`v3.3.0`](https://github.com/sapphi-red/vite-plugin-static-copy/blob/HEAD/CHANGELOG.md#330)

[Compare Source](https://github.com/sapphi-red/vite-plugin-static-copy/compare/[email protected]@3.3.0)

##### Minor Changes

- [#&#8203;230](sapphi-red/vite-plugin-static-copy#230) [`3074e1a`](sapphi-red/vite-plugin-static-copy@3074e1a) Thanks [@&#8203;sapphi-red](https://github.com/sapphi-red)! - Add Vite 8 to peer dependency range.

</details>

<details>
<summary>vitest-dev/vitest (vitest)</summary>

### [`v4.1.0`](https://github.com/vitest-dev/vitest/releases/tag/v4.1.0)

[Compare Source](vitest-dev/vitest@v4.0.18...v4.1.0)

Vitest 4.1 is out!

This release page lists all changes made to the project during the 4.1 beta. To get a review of all the new features, read our [blog post](https://vitest.dev/blog/vitest-4-1).

#####    🚀 Features

- Return a disposable from doMock()  -  by [@&#8203;kirkwaiblinger](https://github.com/kirkwaiblinger) in [#&#8203;9332](vitest-dev/vitest#9332) [<samp>(e3e65)</samp>](vitest-dev/vitest@e3e659a96)
- Added chai style assertions  -  by [@&#8203;ronnakamoto](https://github.com/ronnakamoto) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8842](vitest-dev/vitest#8842) [<samp>(841df)</samp>](vitest-dev/vitest@841df9ac5)
- Update to sinon/fake-timers v15 and add `setTickMode` to timer controls  -  by [@&#8203;atscott](https://github.com/atscott) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8726](vitest-dev/vitest#8726) [<samp>(4b480)</samp>](vitest-dev/vitest@4b480aaed)
- Expose matcher types  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9448](vitest-dev/vitest#9448) [<samp>(3e4b9)</samp>](vitest-dev/vitest@3e4b913b1)
- Add `toTestSpecification` to reported tasks  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9464](vitest-dev/vitest#9464) [<samp>(1a470)</samp>](vitest-dev/vitest@1a4705da9)
- Show a warning if `vi.mock` or `vi.hoisted` are declared outside of top level of the module  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9387](vitest-dev/vitest#9387) [<samp>(5db54)</samp>](vitest-dev/vitest@5db54a468)
- Track and display expectedly failed tests (.fails) in UI and CLI  -  by [@&#8203;Copilot](https://github.com/Copilot), **sheremet-va** and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9476](vitest-dev/vitest#9476) [<samp>(77d75)</samp>](vitest-dev/vitest@77d75fd34)
- Support tags  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9478](vitest-dev/vitest#9478) [<samp>(de7c8)</samp>](vitest-dev/vitest@de7c8a521)
- Implement `aroundEach` and `aroundAll` hooks  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9450](vitest-dev/vitest#9450) [<samp>(2a8cb)</samp>](vitest-dev/vitest@2a8cb9dc2)
- Stabilize experimental features  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9529](vitest-dev/vitest#9529) [<samp>(b5fd2)</samp>](vitest-dev/vitest@b5fd2a16a)
- Accept `new` or `all` in `--update` flag  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9543](vitest-dev/vitest#9543) [<samp>(a5acf)</samp>](vitest-dev/vitest@a5acf28a5)
- Support `meta` in test options  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9535](vitest-dev/vitest#9535) [<samp>(7d622)</samp>](vitest-dev/vitest@7d622e3d1)
- Support type inference with a new `test.extend` syntax  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9550](vitest-dev/vitest#9550) [<samp>(e5385)</samp>](vitest-dev/vitest@e53854fcc)
- Support vite 8 beta, fix type issues in the config with different vite versions  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9587](vitest-dev/vitest#9587) [<samp>(99028)</samp>](vitest-dev/vitest@990281dfd)
- Add assertion helper to hide internal stack traces  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9594](vitest-dev/vitest#9594) [<samp>(eeb0a)</samp>](vitest-dev/vitest@eeb0ae2f8)
- Store failure screenshots using artifacts API  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;9588](vitest-dev/vitest#9588) [<samp>(24603)</samp>](vitest-dev/vitest@24603e3c4)
- Allow `vitest list` to statically collect tests instead of running files to collect them  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9630](vitest-dev/vitest#9630) [<samp>(7a8e7)</samp>](vitest-dev/vitest@7a8e7fc20)
- Add `--detect-async-leaks`  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9528](vitest-dev/vitest#9528) [<samp>(c594d)</samp>](vitest-dev/vitest@c594d4af3)
- Implement `mockThrow` and `mockThrowOnce`  -  by [@&#8203;thor-juhasz](https://github.com/thor-juhasz) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9512](vitest-dev/vitest#9512) [<samp>(61917)</samp>](vitest-dev/vitest@619179fb7)
- Support `update: "none"` and add docs about snapshots behavior on CI  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9700](vitest-dev/vitest#9700) [<samp>(05f18)</samp>](vitest-dev/vitest@05f1854e2)
- Support playwright `launchOptions` with `connectOptions`  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9702](vitest-dev/vitest#9702) [<samp>(f0ff1)</samp>](vitest-dev/vitest@f0ff1b2a0)
- Add `page/locator.mark` API to enhance playwright trace  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9652](vitest-dev/vitest#9652) [<samp>(d0ee5)</samp>](vitest-dev/vitest@d0ee546fe)
- **api**:
  - Support tests starting or ending with `test` in `experimental_parseSpecification`  -  by [@&#8203;jgillick](https://github.com/jgillick) and **Jeremy Gillick** in [#&#8203;9235](vitest-dev/vitest#9235) [<samp>(2f367)</samp>](vitest-dev/vitest@2f367fad3)
  - Add filters to `createSpecification`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9336](vitest-dev/vitest#9336) [<samp>(c8e6c)</samp>](vitest-dev/vitest@c8e6c7fbf)
  - Expose `runTestFiles` as alternative to `runTestSpecifications`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9443](vitest-dev/vitest#9443) [<samp>(43d76)</samp>](vitest-dev/vitest@43d761821)
  - Add `allowWrite` and `allowExec` options to `api`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9350](vitest-dev/vitest#9350) [<samp>(20e00)</samp>](vitest-dev/vitest@20e00ef78)
  - Allow passing down test cases to `toTestSpecification`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9627](vitest-dev/vitest#9627) [<samp>(6f17d)</samp>](vitest-dev/vitest@6f17d5ddf)
- **browser**:
  - Add `userEvent.wheel` API  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;9188](vitest-dev/vitest#9188) [<samp>(66080)</samp>](vitest-dev/vitest@660801979)
  - Add `filterNode` option to prettyDOM for filtering browser assertion error output  -  by [@&#8203;Copilot](https://github.com/Copilot), **sheremet-va** and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9475](vitest-dev/vitest#9475) [<samp>(d3220)</samp>](vitest-dev/vitest@d3220fcd8)
  - Support playwright persistent context  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa), **Claude Opus 4.6** and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9229](vitest-dev/vitest#9229) [<samp>(f865d)</samp>](vitest-dev/vitest@f865d2ba4)
  - Added `detailsPanelPosition` option and button  -  by [@&#8203;shairez](https://github.com/shairez) in [#&#8203;9525](vitest-dev/vitest#9525) [<samp>(c8a31)</samp>](vitest-dev/vitest@c8a31147c)
  - Use BlazeDiff instead of pixelmatch  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;9514](vitest-dev/vitest#9514) [<samp>(30936)</samp>](vitest-dev/vitest@309362089)
  - Add `findElement` and enable strict mode in webdriverio and preview  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9677](vitest-dev/vitest#9677) [<samp>(c3f37)</samp>](vitest-dev/vitest@c3f37721c)
- **cli**:
  - Add [@&#8203;bomb](https://github.com/bomb).sh/tab completions  -  by [@&#8203;AmirSa12](https://github.com/AmirSa12) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8639](vitest-dev/vitest#8639) [<samp>(200f3)</samp>](vitest-dev/vitest@200f31704)
- **coverage**:
  - Support `ignore start/stop` ignore hints  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9204](vitest-dev/vitest#9204) [<samp>(e59c9)</samp>](vitest-dev/vitest@e59c94ba6)
  - Add `coverage.changed` option to report only changed files  -  by [@&#8203;kykim00](https://github.com/kykim00) and [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9521](vitest-dev/vitest#9521) [<samp>(1d939)</samp>](vitest-dev/vitest@1d9392c67)
- **experimental**:
  - Add `onModuleRunner` hook to `worker.init`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9286](vitest-dev/vitest#9286) [<samp>(e977f)</samp>](vitest-dev/vitest@e977f3deb)
  - Option to disable the module runner  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) and [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9210](vitest-dev/vitest#9210) [<samp>(9be61)</samp>](vitest-dev/vitest@9be6121ee)
  - Add `importDurations: { limit, print }` options  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa), **Claude Opus 4.6** and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9401](vitest-dev/vitest#9401) [<samp>(7e10f)</samp>](vitest-dev/vitest@7e10fb356)
  - Add print and fail thresholds for `importDurations`  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9533](vitest-dev/vitest#9533) [<samp>(3f7a5)</samp>](vitest-dev/vitest@3f7a5f8f8)
- **fixtures**:
  - Pass down file context to `beforeAll`/`afterAll`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9572](vitest-dev/vitest#9572) [<samp>(c8339)</samp>](vitest-dev/vitest@c83395f2c)
- **reporters**:
  - Add `agent` reporter to reduce ai agent token usage  -  by [@&#8203;cpojer](https://github.com/cpojer) in [#&#8203;9779](vitest-dev/vitest#9779) [<samp>(3e9e0)</samp>](vitest-dev/vitest@3e9e096a2)
- **runner**:
  - Enhance `retry` options  -  by [@&#8203;MazenSamehR](https://github.com/MazenSamehR), **Matan Shavit**, [@&#8203;AriPerkkio](https://github.com/AriPerkkio) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9370](vitest-dev/vitest#9370) [<samp>(9e4cf)</samp>](vitest-dev/vitest@9e4cfd295)
- **ui**:
  - Allow run individual test/suites  -  by [@&#8203;userquin](https://github.com/userquin) in [#&#8203;9465](vitest-dev/vitest#9465) [<samp>(73b10)</samp>](vitest-dev/vitest@73b10f1b9)
  - Add project filter/sort support  -  by [@&#8203;userquin](https://github.com/userquin) in [#&#8203;8689](vitest-dev/vitest#8689) [<samp>(0c7ea)</samp>](vitest-dev/vitest@0c7eaac16)
  - Add duration sorting to explorer  -  by [@&#8203;julianhahn](https://github.com/julianhahn) and [@&#8203;cursoragent](https://github.com/cursoragent) in [#&#8203;9603](vitest-dev/vitest#9603) [<samp>(209b1)</samp>](vitest-dev/vitest@209b1b0e1)
  - Implement filter for slow tests  -  by [@&#8203;DerYeger](https://github.com/DerYeger) and [@&#8203;userquin](https://github.com/userquin) in [#&#8203;9705](vitest-dev/vitest#9705) [<samp>(8880c)</samp>](vitest-dev/vitest@8880c907a)
- **vitest**:
  - Add run summary in GitHub Actions Reporter  -  by [@&#8203;macarie](https://github.com/macarie) and **jhnance** in [#&#8203;9579](vitest-dev/vitest#9579) [<samp>(96bfc)</samp>](vitest-dev/vitest@96bfc8345)

#####    🐞 Bug Fixes

- Deprecate several vitest/\* entry points  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9347](vitest-dev/vitest#9347) [<samp>(fd459)</samp>](vitest-dev/vitest@fd45928be)
- Use `meta.url` in `createRequire`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9441](vitest-dev/vitest#9441) [<samp>(e3422)</samp>](vitest-dev/vitest@e34225563)
- Preact browser mode init example of render function not async  -  by [@&#8203;WuMingDao](https://github.com/WuMingDao) in [#&#8203;9375](vitest-dev/vitest#9375) [<samp>(2bea5)</samp>](vitest-dev/vitest@2bea549c7)
- Deprecate unused types in matcher context  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9449](vitest-dev/vitest#9449) [<samp>(20f87)</samp>](vitest-dev/vitest@20f8753a2)
- Handle `external/noExternal` during `configEnvironment` hook  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9508](vitest-dev/vitest#9508) [<samp>(59ea2)</samp>](vitest-dev/vitest@59ea27c1c)
- Replace default ssr environment runner with Vitest server module runner  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9506](vitest-dev/vitest#9506) [<samp>(cd5db)</samp>](vitest-dev/vitest@cd5db660c)
- Propagate experimental CLI options to child projects  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9531](vitest-dev/vitest#9531) [<samp>(b624f)</samp>](vitest-dev/vitest@b624fae53)
- Show a warning when `browser.isolate` is used  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9410](vitest-dev/vitest#9410) [<samp>(3d48e)</samp>](vitest-dev/vitest@3d48ebcb9)
- Fix `vi.mock({ spy: true })` node v8 coverage  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa), **hi-ogawa** and **Claude Opus 4.6** in [#&#8203;9541](vitest-dev/vitest#9541) [<samp>(687b6)</samp>](vitest-dev/vitest@687b633c1)
- Don't show internal ssr handler in errors  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9547](vitest-dev/vitest#9547) [<samp>(76c43)</samp>](vitest-dev/vitest@76c4397b5)
- Close vitest if it failed to start  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9573](vitest-dev/vitest#9573) [<samp>(728ba)</samp>](vitest-dev/vitest@728ba617f)
- Fix ssr environment runner in project  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9584](vitest-dev/vitest#9584) [<samp>(09006)</samp>](vitest-dev/vitest@090064f97)
- Trim trailing white spaces in code block  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9591](vitest-dev/vitest#9591) [<samp>(f78be)</samp>](vitest-dev/vitest@f78bea992)
- Support inline snapshot inside test.for/each  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9590](vitest-dev/vitest#9590) [<samp>(615fd)</samp>](vitest-dev/vitest@615fd521e)
- Apply source maps for external module stack trace  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9152](vitest-dev/vitest#9152) [<samp>(79e20)</samp>](vitest-dev/vitest@79e20d5a3)
- Remove the `.name` from statically collected test  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9596](vitest-dev/vitest#9596) [<samp>(b66ff)</samp>](vitest-dev/vitest@b66ff691a)
- Don't suppress warnings on pnp  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9602](vitest-dev/vitest#9602) [<samp>(89cbd)</samp>](vitest-dev/vitest@89cbdaea3)
- Support snapshot with `expect.soft`  -  by [@&#8203;iumehara](https://github.com/iumehara), [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9231](vitest-dev/vitest#9231) [<samp>(3eb2c)</samp>](vitest-dev/vitest@3eb2cd541)
- Log seed when only `sequence.shuffle.tests` is enabled  -  by [@&#8203;kaigritun](https://github.com/kaigritun), **Kai Gritun** and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9576](vitest-dev/vitest#9576) [<samp>(8182b)</samp>](vitest-dev/vitest@8182b77ad)
- Externalize `expect/src/utils` from `vitest`  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9616](vitest-dev/vitest#9616) [<samp>(48739)</samp>](vitest-dev/vitest@487398422)
- Ignore test.override during static collection  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9620](vitest-dev/vitest#9620) [<samp>(09174)</samp>](vitest-dev/vitest@0917470ce)
- Increase stacktrace limit for `--detect-async-leaks`  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9638](vitest-dev/vitest#9638) [<samp>(9fd4c)</samp>](vitest-dev/vitest@9fd4ce533)
- Hanging-reporter link in cli  -  by [@&#8203;flx-sta](https://github.com/flx-sta) in [#&#8203;9649](vitest-dev/vitest#9649) [<samp>(7c103)</samp>](vitest-dev/vitest@7c103055c)
- Fix teardown timeout of `aroundEach/All` when inner `aroundEach/All` throws  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9657](vitest-dev/vitest#9657) [<samp>(4ec6c)</samp>](vitest-dev/vitest@4ec6cb305)
- Fix ui mode / html reporter and coverage integration  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9626](vitest-dev/vitest#9626) [<samp>(86fad)</samp>](vitest-dev/vitest@86fad4b42)
- Don't continue when `aroundEach/All` setup timed out  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9670](vitest-dev/vitest#9670) [<samp>(bb013)</samp>](vitest-dev/vitest@bb013d54b)
- Align `VitestRunnerConfig` optional fields with `SerializedConfig`  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9661](vitest-dev/vitest#9661) [<samp>(79520)</samp>](vitest-dev/vitest@79520d82d)
- Handle Symbol values in format utility  -  by [@&#8203;nami8824](https://github.com/nami8824) in [#&#8203;9658](vitest-dev/vitest#9658) [<samp>(0583f)</samp>](vitest-dev/vitest@0583f067e)
- Deprecate `toBe*` spy assertions in favor of `toHaveBeen*` (and `toThrowError`)  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9665](vitest-dev/vitest#9665) [<samp>(4d390)</samp>](vitest-dev/vitest@4d390dfe9)
- Don't propagate nested `aroundEach/All` errors but aggregate them on runner  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9673](vitest-dev/vitest#9673) [<samp>(b6365)</samp>](vitest-dev/vitest@b63653f5a)
- Show a better error if there is a pending dynamic import  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9676](vitest-dev/vitest#9676) [<samp>(7ef5c)</samp>](vitest-dev/vitest@7ef5cf4b7)
- Preserve stack trace of `resolves/rejects` chained assertion error  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9679](vitest-dev/vitest#9679) [<samp>(c6151)</samp>](vitest-dev/vitest@c61511d4a)
- Handle module-sync condition in vmThreads/vmForks require  -  by [@&#8203;lesleh](https://github.com/lesleh) in [#&#8203;9650](vitest-dev/vitest#9650) and [#&#8203;9651](vitest-dev/vitest#9651) [<samp>(bb203)</samp>](vitest-dev/vitest@bb20389f4)
- Hooks should respect `maxConcurrency`  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9653](vitest-dev/vitest#9653) [<samp>(16d13)</samp>](vitest-dev/vitest@16d13d981)
- Recursively autospy module object  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9687](vitest-dev/vitest#9687) [<samp>(695a8)</samp>](vitest-dev/vitest@695a86b41)
- Remove trailing spaces from diff error log  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9680](vitest-dev/vitest#9680) [<samp>(395d1)</samp>](vitest-dev/vitest@395d1a29e)
- Respect project `resolve.conditions` for externals  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9717](vitest-dev/vitest#9717) [<samp>(1d498)</samp>](vitest-dev/vitest@1d4987498)
- Use object for WeakMap instead of a symbol to support webcontainers  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9731](vitest-dev/vitest#9731) [<samp>(c5225)</samp>](vitest-dev/vitest@c52259330)
- Fix re-mocking virtual module  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9748](vitest-dev/vitest#9748) [<samp>(3cbbb)</samp>](vitest-dev/vitest@3cbbb17f1)
- Cancelling should stop current test immediately  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9729](vitest-dev/vitest#9729) [<samp>(0cb2f)</samp>](vitest-dev/vitest@0cb2f7239)
- Make `mockObject` change backwards compatible  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9744](vitest-dev/vitest#9744) [<samp>(84c69)</samp>](vitest-dev/vitest@84c69497f)
- Fix `URL.name` on jsdom  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9767](vitest-dev/vitest#9767) [<samp>(031f3)</samp>](vitest-dev/vitest@031f3a374)
- Save and restore module graph in blob reporter  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9740](vitest-dev/vitest#9740) [<samp>(84355)</samp>](vitest-dev/vitest@843554bf0)
- Don't silence reporter errors from test runtime events handler in normal run and --merge-reports  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9727](vitest-dev/vitest#9727) [<samp>(4072d)</samp>](vitest-dev/vitest@4072d0132)
- Fix `vi.importActual()` for virtual modules  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9772](vitest-dev/vitest#9772) [<samp>(1e89e)</samp>](vitest-dev/vitest@1e89ec020)
- Throw `FixtureAccessError` if suite hook accesses undefined fixture  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9786](vitest-dev/vitest#9786) [<samp>(fc2ce)</samp>](vitest-dev/vitest@fc2cea2b7)
- Allow hyphens in project config file name pattern  -  by [@&#8203;Koutaro-Hanabusa](https://github.com/Koutaro-Hanabusa) and [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9760](vitest-dev/vitest#9760) [<samp>(33e96)</samp>](vitest-dev/vitest@33e96311a)
- Manual and redirect mock shouldn't `load` or `transform` original module  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9774](vitest-dev/vitest#9774) [<samp>(a8216)</samp>](vitest-dev/vitest@a8216b001)
- `hideSkippedTests` should not hide `test.todo`  -  by [@&#8203;oilater](https://github.com/oilater) in [#&#8203;9562](vitest-dev/vitest#9562) and [#&#8203;9781](vitest-dev/vitest#9781) [<samp>(8181e)</samp>](vitest-dev/vitest@8181e06e7)
- Allow catch/finally for async assertion  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9827](vitest-dev/vitest#9827) [<samp>(031f0)</samp>](vitest-dev/vitest@031f02a89)
- Resolve fixture overrides from test's suite in `beforeEach` hooks  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9826](vitest-dev/vitest#9826) [<samp>(99e52)</samp>](vitest-dev/vitest@99e52fe58)
- Use isAgent check, not just TTY, for watch mode  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9841](vitest-dev/vitest#9841) [<samp>(c3cac)</samp>](vitest-dev/vitest@c3cac1c1b)
- Use `performance.now` to measure test timeout duration  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9795](vitest-dev/vitest#9795) [<samp>(f48a6)</samp>](vitest-dev/vitest@f48a60114)
- Correctly identify concurrent test during static analysis  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9846](vitest-dev/vitest#9846) [<samp>(1de0a)</samp>](vitest-dev/vitest@1de0aa22d)
- **browser**:
  - Avoid updating screenshots when `toMatchScreenshot` passes  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;9289](vitest-dev/vitest#9289) [<samp>(46aab)</samp>](vitest-dev/vitest@46aabaa44)
  - Hide injected data-testid attributes  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9503](vitest-dev/vitest#9503) [<samp>(c8d2c)</samp>](vitest-dev/vitest@c8d2c411c)
  - Throw an error if iframe was reloaded  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9516](vitest-dev/vitest#9516) [<samp>(73a81)</samp>](vitest-dev/vitest@73a81f880)
  - Encode projectName in browser client URL  -  by [@&#8203;dkkim0122](https://github.com/dkkim0122) in [#&#8203;9523](vitest-dev/vitest#9523) [<samp>(5b164)</samp>](vitest-dev/vitest@5b16483c3)
  - Don't take failure screenshot if tests have artifacts created by `toMatchScreenshot`  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;9552](vitest-dev/vitest#9552) [<samp>(83ca0)</samp>](vitest-dev/vitest@83ca02547)
  - Remove `--remote-debugging-address` from chrome args  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9712](vitest-dev/vitest#9712) [<samp>(f09bb)</samp>](vitest-dev/vitest@f09bb5c32)
  - Make sure userEvent actions support `ensureAwaited`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9732](vitest-dev/vitest#9732) [<samp>(97685)</samp>](vitest-dev/vitest@9768517b8)
  - Types of `getCDPSession` and `cdp()`  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9716](vitest-dev/vitest#9716) [<samp>(689a2)</samp>](vitest-dev/vitest@689a22a1b)
  - Skip esbuild.legalComments when using rolldown-vite  -  by [@&#8203;Copilot](https://github.com/Copilot), **hi-ogawa** and [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9803](vitest-dev/vitest#9803) [<samp>(3505f)</samp>](vitest-dev/vitest@3505fa5a3)
- **chai**:
  - Don't allow `deepEqual` in the config because it's not serializable  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9666](vitest-dev/vitest#9666) [<samp>(9ee99)</samp>](vitest-dev/vitest@9ee999d73)
- **coverage**:
  - Infer transform mode for uncovered files  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9435](vitest-dev/vitest#9435) [<samp>(f3967)</samp>](vitest-dev/vitest@f396792d6)
  - `thresholds.autoUpdate` to preserve ending whitespace  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9436](vitest-dev/vitest#9436) [<samp>(7e534)</samp>](vitest-dev/vitest@7e534a0b6)
- **deps**:
  - Update all non-major dependencies  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9192](vitest-dev/vitest#9192) [<samp>(90c30)</samp>](vitest-dev/vitest@90c302f3b)
  - Update all non-major dependencies  -  in [#&#8203;9485](vitest-dev/vitest#9485) [<samp>(c0118)</samp>](vitest-dev/vitest@c01186022)
  - Update all non-major dependencies  -  in [#&#8203;9567](vitest-dev/vitest#9567) [<samp>(13c9e)</samp>](vitest-dev/vitest@13c9e022b)
- **docs**:
  - Fix old `/config/#option` hash links causing hydration errors  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa), **Claude Opus 4.6** and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9610](vitest-dev/vitest#9610) [<samp>(a603c)</samp>](vitest-dev/vitest@a603c3a30)
- **expect**:
  - `toMatchObject(Map/Set)` should expect `Map/Set` on left hand side  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9532](vitest-dev/vitest#9532) [<samp>(381da)</samp>](vitest-dev/vitest@381da4a9d)
  - Fix objectContaining with proxy  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9554](vitest-dev/vitest#9554) [<samp>(7ce34)</samp>](vitest-dev/vitest@7ce3417b1)
  - Support arbitrary value equality for `toThrow` and make Error detection robust  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9570](vitest-dev/vitest#9570) [<samp>(de215)</samp>](vitest-dev/vitest@de215c19c)
- **mock**:
  - Inject helpers after hashbang if present  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9545](vitest-dev/vitest#9545) [<samp>(65432)</samp>](vitest-dev/vitest@65432a74b)
- **mocker**:
  - Update vite's peer dependency range  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9808](vitest-dev/vitest#9808) [<samp>(36f9a)</samp>](vitest-dev/vitest@36f9a81a2)
- **reporter**:
  - `dot` reporter leaves pending tests  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9684](vitest-dev/vitest#9684) [<samp>(4d793)</samp>](vitest-dev/vitest@4d7938a56)
- **runner**:
  - Mark repeated tests as finished on last run  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9707](vitest-dev/vitest#9707) [<samp>(cc735)</samp>](vitest-dev/vitest@cc735970a)
- **spy**:
  - Support deep partial in vi.mocked  -  by [@&#8203;j2h30728](https://github.com/j2h30728) in [#&#8203;8152](vitest-dev/vitest#8152) and [#&#8203;9493](vitest-dev/vitest#9493) [<samp>(71cb5)</samp>](vitest-dev/vitest@71cb51ffc)
  - Fallback to object accessor if descriptor's value is `undefined`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9511](vitest-dev/vitest#9511) [<samp>(6f181)</samp>](vitest-dev/vitest@6f18103fa)
  - Throw correct errors when shorthand methods are used on a class  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9513](vitest-dev/vitest#9513) [<samp>(5d0fd)</samp>](vitest-dev/vitest@5d0fd3b62)
- **types**:
  - `bench.reporters` no longer gives type errors when passing file name string paths  -  by [@&#8203;Bertie690](https://github.com/Bertie690) in [#&#8203;9695](vitest-dev/vitest#9695) [<samp>(093c8)</samp>](vitest-dev/vitest@093c8f6b5)
- **ui**:
  - Process artifact attachments when generating HTML reporter  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;9472](vitest-dev/vitest#9472) [<samp>(96eb9)</samp>](vitest-dev/vitest@96eb92826)
  - Don't fail if --ui and --root are specified together  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9536](vitest-dev/vitest#9536) [<samp>(d9305)</samp>](vitest-dev/vitest@d93055fc7)

#####    🏎 Performance

- **pretty-format**: Combine DOMElement plugins  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9581](vitest-dev/vitest#9581) [<samp>(da85a)</samp>](vitest-dev/vitest@da85a3267)

#####     [View changes on GitHub](vitest-dev/vitest@v4.0.17...v4.1.0)

</details>

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4zIiwidXBkYXRlZEluVmVyIjoiNDMuNjYuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGUiXX0=-->

See merge request swiss-armed-forces/cyber-command/cea/loom!361

Co-authored-by: Loom MR Pipeline Trigger <group_103951964_bot_9504bb8dead6d4e406ad817a607f24be@noreply.gitlab.com>
Co-authored-by: shrewd-laidback palace <shrewd-laidback-palace-736-c41-2c1-e464fc974@swiss-armed-forces-open-source.ch>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant