fix: use `meta.url` in `createRequire` by sheremet-va · Pull Request #9441 · vitest-dev/vitest
This was referenced
Feb 5, 2026
ghost
mentioned this pull request
736-c41-2c1-e464fc974 added a commit to Swiss-Armed-Forces/Loom that referenced this pull request
Feb 21, 2026This 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) | [](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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​macarie](https://github.com/macarie) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​Copilot](https://github.com/Copilot), **hi-ogawa** and [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​Copilot](https://github.com/Copilot), **sheremet-va**, **hi-ogawa** and [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [#​9](https://github.com/vitest-dev/vitest/issues/9)… - by [@​plusgut](https://github.com/plusgut) in [#​9339](https://github.com/vitest-dev/vitest/issues/9339) and [#​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` [#​9371](https://github.com/vitest-dev/vitest/issues/9371) - by [@​ThibautMarechal](https://github.com/ThibautMarechal) in [#​9372](https://github.com/vitest-dev/vitest/issues/9372) and [#​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 [@​deammer](https://github.com/deammer) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) and **sapphi-red** in [#​9413](https://github.com/vitest-dev/vitest/issues/9413) and [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​Ujjwaljain16](https://github.com/Ujjwaljain16) in [#​9021](https://github.com/vitest-dev/vitest/issues/9021) and [#​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 [@​Ujjwaljain16](https://github.com/Ujjwaljain16) in [#​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 [@​Copilot](https://github.com/Copilot), **hi-ogawa** and [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [#​9244](https://github.com/vitest-dev/vitest/issues/9244) - by [@​JustasMonkev](https://github.com/JustasMonkev) in [#​9373](https://github.com/vitest-dev/vitest/issues/9373) and [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​macarie](https://github.com/macarie) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​michael-debs](https://github.com/michael-debs) and [@​hi-ogawa](https://github.com/hi-ogawa) in [#​9030](https://github.com/vitest-dev/vitest/issues/9030) and [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​HowToTestFrontend](https://github.com/HowToTestFrontend) in [#​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 [@​macarie](https://github.com/macarie) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​macarie](https://github.com/macarie) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​whitphx](https://github.com/whitphx) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​macarie](https://github.com/macarie) in [#​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 [@​macarie](https://github.com/macarie) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [#​9018](https://github.com/vitest-dev/vitest/issues/9018) - by [@​sheremet-va](https://github.com/sheremet-va) in [#​9072](https://github.com/vitest-dev/vitest/issues/9072) and [#​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 [@​aicest](https://github.com/aicest) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​whitphx](https://github.com/whitphx) and [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​sxzz](https://github.com/sxzz) and [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​macarie](https://github.com/macarie) in [#​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 [@​macarie](https://github.com/macarie) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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: [#​9003](https://github.com/vitest-dev/vitest/issues/9003) - by [@​iclectic](https://github.com/iclectic) in [#​9016](https://github.com/vitest-dev/vitest/issues/9016) and [#​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 [@​nazarhussain](https://github.com/nazarhussain) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) and [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​userquin](https://github.com/userquin) in [#​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 [@​tim-we](https://github.com/tim-we) and [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​userquin](https://github.com/userquin) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​userquin](https://github.com/userquin) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​termorey](https://github.com/termorey) in [#​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 [@​StyleShit](https://github.com/StyleShit) in [#​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 [@​userquin](https://github.com/userquin) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​Livan-pro](https://github.com/Livan-pro) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​julienw](https://github.com/julienw) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​vitalybaev](https://github.com/vitalybaev) in [#​8910](https://github.com/vitest-dev/vitest/issues/8910) and [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​pi0](https://github.com/pi0) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​Connormiha](https://github.com/Connormiha) in [#​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 [@​Connormiha](https://github.com/Connormiha) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​8875](https://github.com/vitest-dev/vitest/issues/8875) [<samp>(7e6c3)</samp>](https://github.com/vitest-dev/vitest/commit/7e6c37ae5) - Improve spying types - by [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​yjaaidi](https://github.com/yjaaidi) in [#​8883](https://github.com/vitest-dev/vitest/issues/8883) and [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​rzzf](https://github.com/rzzf) and [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sapphi-red](https://github.com/sapphi-red) in [#​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 [@​Yohannfra](https://github.com/Yohannfra) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​Connormiha](https://github.com/Connormiha) in [#​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 [@​benmccann](https://github.com/benmccann) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​Connormiha](https://github.com/Connormiha) in [#​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 [@​Copilot](https://github.com/Copilot) and **sheremet-va** in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​6287](https://github.com/vitest-dev/vitest/issues/6287) [<samp>(14c50)</samp>](https://github.com/vitest-dev/vitest/commit/14c507200) - Remove deprecated getSourceMap - by [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​8202](https://github.com/vitest-dev/vitest/issues/8202) [<samp>(cb8b0)</samp>](https://github.com/vitest-dev/vitest/commit/cb8b03bac) - Remove deprecated types - by [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) and [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​8363](https://github.com/vitest-dev/vitest/issues/8363) [<samp>(9e412)</samp>](https://github.com/vitest-dev/vitest/commit/9e412de35) - Remove deprecated APIs - by [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) and [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​wkillerud](https://github.com/wkillerud) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) and [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) and [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​8159](https://github.com/vitest-dev/vitest/issues/8159) [<samp>(437d4)</samp>](https://github.com/vitest-dev/vitest/commit/437d461aa) - Add `onUnhandledError` callback - by [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​rChaoz](https://github.com/rChaoz) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) [<samp>(ffdb4)</samp>](https://github.com/vitest-dev/vitest/commit/ffdb4d5fd) - Clickable dashboard numbers - by [@​shairez](https://github.com/shairez) in [#​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 [@​userquin](https://github.com/userquin) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​ysfaran](https://github.com/ysfaran) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​zirkelc](https://github.com/zirkelc) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​8408](https://github.com/vitest-dev/vitest/issues/8408) [<samp>(fdeb2)</samp>](https://github.com/vitest-dev/vitest/commit/fdeb2f482) - Expose Vitest watcher - by [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) and [@​AriPerkkio](https://github.com/AriPerkkio) in [#​8412](https://github.com/vitest-dev/vitest/issues/8412) [<samp>(61eb7)</samp>](https://github.com/vitest-dev/vitest/commit/61eb7dd9c) - Add `getGlobalTestNamePattern` method - by [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​8505](https://github.com/vitest-dev/vitest/issues/8505) [<samp>(3be09)</samp>](https://github.com/vitest-dev/vitest/commit/3be0986aa) - Add `getSeed` method - by [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​Shinyaigeek](https://github.com/Shinyaigeek) in [#​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 [@​thejackshelton](https://github.com/thejackshelton) in [#​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 [@​macarie](https://github.com/macarie) in [#​8041](https://github.com/vitest-dev/vitest/issues/8041) [<samp>(d45f9)</samp>](https://github.com/vitest-dev/vitest/commit/d45f964c1) - Add `trackUnhandledErrors` option - by [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​8512](https://github.com/vitest-dev/vitest/issues/8512) [<samp>(2308c)</samp>](https://github.com/vitest-dev/vitest/commit/2308cbf13) - Support playwright tracing - by [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​macarie](https://github.com/macarie) in [#​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 [@​Battjmo](https://github.com/Battjmo) and [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​Shinyaigeek](https://github.com/Shinyaigeek) and [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​8215](https://github.com/vitest-dev/vitest/issues/8215) [<samp>(2248b)</samp>](https://github.com/vitest-dev/vitest/commit/2248b06d4) - Remove unused dependencies - by [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​Shinyaigeek](https://github.com/Shinyaigeek) and [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) and [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​haakonjackfloat](https://github.com/haakonjackfloat) in [#​8270](https://github.com/vitest-dev/vitest/issues/8270) and [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) and [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​macarie](https://github.com/macarie) in [#​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, 2026chore(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) | [](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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​macarie](https://github.com/macarie) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​Copilot](https://github.com/Copilot), **hi-ogawa** and [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​Copilot](https://github.com/Copilot), **sheremet-va**, **hi-ogawa** and [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [#​9](https://github.com/vitest-dev/vitest/issues/9)… - by [@​plusgut](https://github.com/plusgut) in [#​9339](https://github.com/vitest-dev/vitest/issues/9339) and [#​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` [#​9371](https://github.com/vitest-dev/vitest/issues/9371) - by [@​ThibautMarechal](https://github.com/ThibautMarechal) in [#​9372](https://github.com/vitest-dev/vitest/issues/9372) and [#​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 [@​deammer](https://github.com/deammer) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) and **sapphi-red** in [#​9413](https://github.com/vitest-dev/vitest/issues/9413) and [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​Ujjwaljain16](https://github.com/Ujjwaljain16) in [#​9021](https://github.com/vitest-dev/vitest/issues/9021) and [#​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 [@​Ujjwaljain16](https://github.com/Ujjwaljain16) in [#​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 [@​Copilot](https://github.com/Copilot), **hi-ogawa** and [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [#​9244](https://github.com/vitest-dev/vitest/issues/9244) - by [@​JustasMonkev](https://github.com/JustasMonkev) in [#​9373](https://github.com/vitest-dev/vitest/issues/9373) and [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​macarie](https://github.com/macarie) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​michael-debs](https://github.com/michael-debs) and [@​hi-ogawa](https://github.com/hi-ogawa) in [#​9030](https://github.com/vitest-dev/vitest/issues/9030) and [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​HowToTestFrontend](https://github.com/HowToTestFrontend) in [#​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 [@​macarie](https://github.com/macarie) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​macarie](https://github.com/macarie) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​whitphx](https://github.com/whitphx) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​macarie](https://github.com/macarie) in [#​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 [@​macarie](https://github.com/macarie) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [#​9018](https://github.com/vitest-dev/vitest/issues/9018) - by [@​sheremet-va](https://github.com/sheremet-va) in [#​9072](https://github.com/vitest-dev/vitest/issues/9072) and [#​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 [@​aicest](https://github.com/aicest) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​whitphx](https://github.com/whitphx) and [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​sxzz](https://github.com/sxzz) and [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​macarie](https://github.com/macarie) in [#​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 [@​macarie](https://github.com/macarie) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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: [#​9003](https://github.com/vitest-dev/vitest/issues/9003) - by [@​iclectic](https://github.com/iclectic) in [#​9016](https://github.com/vitest-dev/vitest/issues/9016) and [#​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 [@​nazarhussain](https://github.com/nazarhussain) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) and [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​userquin](https://github.com/userquin) in [#​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 [@​tim-we](https://github.com/tim-we) and [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​userquin](https://github.com/userquin) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​userquin](https://github.com/userquin) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​termorey](https://github.com/termorey) in [#​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 [@​StyleShit](https://github.com/StyleShit) in [#​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 [@​userquin](https://github.com/userquin) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​Livan-pro](https://github.com/Livan-pro) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​julienw](https://github.com/julienw) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​vitalybaev](https://github.com/vitalybaev) in [#​8910](https://github.com/vitest-dev/vitest/issues/8910) and [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​pi0](https://github.com/pi0) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​Connormiha](https://github.com/Connormiha) in [#​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 [@​Connormiha](https://github.com/Connormiha) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​8875](https://github.com/vitest-dev/vitest/issues/8875) [<samp>(7e6c3)</samp>](https://github.com/vitest-dev/vitest/commit/7e6c37ae5) - Improve spying types - by [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​yjaaidi](https://github.com/yjaaidi) in [#​8883](https://github.com/vitest-dev/vitest/issues/8883) and [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​rzzf](https://github.com/rzzf) and [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sapphi-red](https://github.com/sapphi-red) in [#​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 [@​Yohannfra](https://github.com/Yohannfra) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​Connormiha](https://github.com/Connormiha) in [#​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 [@​benmccann](https://github.com/benmccann) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​Connormiha](https://github.com/Connormiha) in [#​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 [@​Copilot](https://github.com/Copilot) and **sheremet-va** in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​6287](https://github.com/vitest-dev/vitest/issues/6287) [<samp>(14c50)</samp>](https://github.com/vitest-dev/vitest/commit/14c507200) - Remove deprecated getSourceMap - by [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​8202](https://github.com/vitest-dev/vitest/issues/8202) [<samp>(cb8b0)</samp>](https://github.com/vitest-dev/vitest/commit/cb8b03bac) - Remove deprecated types - by [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) and [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​8363](https://github.com/vitest-dev/vitest/issues/8363) [<samp>(9e412)</samp>](https://github.com/vitest-dev/vitest/commit/9e412de35) - Remove deprecated APIs - by [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) and [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​wkillerud](https://github.com/wkillerud) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) and [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) and [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​8159](https://github.com/vitest-dev/vitest/issues/8159) [<samp>(437d4)</samp>](https://github.com/vitest-dev/vitest/commit/437d461aa) - Add `onUnhandledError` callback - by [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​rChaoz](https://github.com/rChaoz) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) [<samp>(ffdb4)</samp>](https://github.com/vitest-dev/vitest/commit/ffdb4d5fd) - Clickable dashboard numbers - by [@​shairez](https://github.com/shairez) in [#​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 [@​userquin](https://github.com/userquin) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​ysfaran](https://github.com/ysfaran) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​zirkelc](https://github.com/zirkelc) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​8408](https://github.com/vitest-dev/vitest/issues/8408) [<samp>(fdeb2)</samp>](https://github.com/vitest-dev/vitest/commit/fdeb2f482) - Expose Vitest watcher - by [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) and [@​AriPerkkio](https://github.com/AriPerkkio) in [#​8412](https://github.com/vitest-dev/vitest/issues/8412) [<samp>(61eb7)</samp>](https://github.com/vitest-dev/vitest/commit/61eb7dd9c) - Add `getGlobalTestNamePattern` method - by [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​8505](https://github.com/vitest-dev/vitest/issues/8505) [<samp>(3be09)</samp>](https://github.com/vitest-dev/vitest/commit/3be0986aa) - Add `getSeed` method - by [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​Shinyaigeek](https://github.com/Shinyaigeek) in [#​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 [@​thejackshelton](https://github.com/thejackshelton) in [#​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 [@​macarie](https://github.com/macarie) in [#​8041](https://github.com/vitest-dev/vitest/issues/8041) [<samp>(d45f9)</samp>](https://github.com/vitest-dev/vitest/commit/d45f964c1) - Add `trackUnhandledErrors` option - by [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​8512](https://github.com/vitest-dev/vitest/issues/8512) [<samp>(2308c)</samp>](https://github.com/vitest-dev/vitest/commit/2308cbf13) - Support playwright tracing - by [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​macarie](https://github.com/macarie) in [#​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 [@​Battjmo](https://github.com/Battjmo) and [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​Shinyaigeek](https://github.com/Shinyaigeek) and [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​8215](https://github.com/vitest-dev/vitest/issues/8215) [<samp>(2248b)</samp>](https://github.com/vitest-dev/vitest/commit/2248b06d4) - Remove unused dependencies - by [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​Shinyaigeek](https://github.com/Shinyaigeek) and [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) in [#​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 [@​hi-ogawa](https://github.com/hi-ogawa) and [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​haakonjackfloat](https://github.com/haakonjackfloat) in [#​8270](https://github.com/vitest-dev/vitest/issues/8270) and [#​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 [@​AriPerkkio](https://github.com/AriPerkkio) and [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​sheremet-va](https://github.com/sheremet-va) in [#​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 [@​macarie](https://github.com/macarie) in [#​8357](https://git…
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters