Aller au contenu
verdict:

Vitest 4.0.0

featured

note: la synthèse et les notes de version sont en anglais

note: pas de synthèse pour cette release plus ancienne

Nous synthétisons les releases récentes. Les notes de version originales de cette version sont ci-dessous.

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

voir sur githubimported 2026-09-28 via npm