Impact Score: 5/10
Vitest v4.0.17 โ Release Notes & Engineering Impact
Source available โ automated, not human-reviewed
Component: vitest ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.
Analysis updated: 2026-11-01.
โก Executive Summary (TL;DR)
Vitest v4.0.17. Source highlight: ๐ Experimental Features
Who Does This Impact? (Role-Based Analysis)
๐ป Software Engineers & Devs
Check the source notes against the package and APIs you use before upgrading.
๐ Product & Engineering Leads
Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.
โ๏ธ DevOps & Security
Verify the target version, runtime requirements and rollback procedure in the official documentation.
โจ New Features & Capabilities (2)
- Support openTelemetry for browser mode - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/9180 <samp>(1ec3a)</samp>
- Support TRACEPARENT and TRACESTATE environment variables for OpenTelemetry context propagation - by @Copilot, **hi-ogawa** and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/9295 <samp>(876cb)</samp>
๐ง Bug Fixes & Patches (6)
- Improve asymmetric matcher diff readability by unwrapping container matchers - by @Copilot, **sheremet-va**, **hi-ogawa** and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/9330 <samp>(b2ec7)</samp>
- Improve runner error when importing outside of test context - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/9335 <samp>(2dd3d)</samp>
- Replace crypto.randomUUID to allow insecure environments (fix #9โฆ - by @plusgut in https://github.com/vitest-dev/vitest/issues/9339 and https://github.com/vitest-dev/vitest/issues/9 <samp>(e6a3f)</samp>
- Handle null options in `addEventHandler` #9371 - by @ThibautMarechal in https://github.com/vitest-dev/vitest/issues/9372 and https://github.com/vitest-dev/vitest/issues/9371 <samp>(40841)</samp>
- Typo in browser.provider error - by @deammer in https://github.com/vitest-dev/vitest/issues/9394 <samp>(4b67f)</samp>
- Fix `process.env` and `import.meta.env` defines in inline project - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/9239 <samp>(b70c9)</samp>
๐ View Raw Release Notes (Original Developer Log)
### ๐ Experimental Features
- Support openTelemetry for browser mode - by @hi-ogawa in 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, **hi-ogawa** and @hi-ogawa in 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, **sheremet-va**, **hi-ogawa** and @hi-ogawa in 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 in 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โฆ - by @plusgut in https://github.com/vitest-dev/vitest/issues/9339 and 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 - by @ThibautMarechal in https://github.com/vitest-dev/vitest/issues/9372 and 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 in 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 in 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 in 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 in 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 in 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 in 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 in 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 - by @AriPerkkio and **sapphi-red** in https://github.com/vitest-dev/vitest/issues/9413 and 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 in 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 in 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 in 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 in 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 in 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 in 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 in https://github.com/vitest-dev/vitest/issues/9021 and 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 in 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, **hi-ogawa** and @hi-ogawa in 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 - by @JustasMonkev in https://github.com/vitest-dev/vitest/issues/9373 and 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)