Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat!: always run separate environments in isolation #2860

Conversation

sheremet-va
Copy link
Member

@sheremet-va sheremet-va commented Feb 13, 2023

In preparation for #2854

Tests are no longer running in the same worker if they don't share the same environment. This means that they don't share the same module cache and global scope, which should help with isolation. After PR is merged, tests in some projects will take longer to run, but the difference should be insignificant.

This also allows us to add "browser"/"node" conditions based on the environment in the future (we can safely pass --conditions to "worker" option).

@sheremet-va sheremet-va changed the title feat!: always run separate environments in isolation between each other feat!: always run separate environments in isolation Feb 13, 2023
Copy link
Member

@antfu antfu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, make sense 👌

@sheremet-va sheremet-va force-pushed the feat/always-start-environments-separate branch from eee9cbd to 4e53b84 Compare February 21, 2023 16:59
@sheremet-va sheremet-va merged commit 1f858e0 into vitest-dev:main Feb 21, 2023
@sheremet-va sheremet-va deleted the feat/always-start-environments-separate branch February 21, 2023 17:17
andipaetzold referenced this pull request in andipaetzold/react-firehooks Mar 22, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@vitest/coverage-c8](https://github.com/vitest-dev/vitest) |
[`0.28.5` ->
`0.29.7`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-c8/0.28.5/0.29.7)
|
[![age](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-c8/0.29.7/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-c8/0.29.7/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-c8/0.29.7/compatibility-slim/0.28.5)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-c8/0.29.7/confidence-slim/0.28.5)](https://docs.renovatebot.com/merge-confidence/)
|
| [happy-dom](https://github.com/capricorn86/happy-dom) | [`8.7.2` ->
`8.9.0`](https://renovatebot.com/diffs/npm/happy-dom/8.7.2/8.9.0) |
[![age](https://badges.renovateapi.com/packages/npm/happy-dom/8.9.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/happy-dom/8.9.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/happy-dom/8.9.0/compatibility-slim/8.7.2)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/happy-dom/8.9.0/confidence-slim/8.7.2)](https://docs.renovatebot.com/merge-confidence/)
|
| [lint-staged](https://github.com/okonet/lint-staged) | [`13.1.2` ->
`13.2.0`](https://renovatebot.com/diffs/npm/lint-staged/13.1.2/13.2.0) |
[![age](https://badges.renovateapi.com/packages/npm/lint-staged/13.2.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/lint-staged/13.2.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/lint-staged/13.2.0/compatibility-slim/13.1.2)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/lint-staged/13.2.0/confidence-slim/13.1.2)](https://docs.renovatebot.com/merge-confidence/)
|
| [prettier](https://prettier.io)
([source](https://github.com/prettier/prettier)) | [`2.8.4` ->
`2.8.6`](https://renovatebot.com/diffs/npm/prettier/2.8.4/2.8.6) |
[![age](https://badges.renovateapi.com/packages/npm/prettier/2.8.6/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/prettier/2.8.6/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/prettier/2.8.6/compatibility-slim/2.8.4)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/prettier/2.8.6/confidence-slim/2.8.4)](https://docs.renovatebot.com/merge-confidence/)
|
| [rimraf](https://github.com/isaacs/rimraf) | [`4.1.2` ->
`4.4.0`](https://renovatebot.com/diffs/npm/rimraf/4.1.2/4.4.0) |
[![age](https://badges.renovateapi.com/packages/npm/rimraf/4.4.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/rimraf/4.4.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/rimraf/4.4.0/compatibility-slim/4.1.2)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/rimraf/4.4.0/confidence-slim/4.1.2)](https://docs.renovatebot.com/merge-confidence/)
|
|
[semantic-release](https://github.com/semantic-release/semantic-release)
| [`20.1.0` ->
`20.1.3`](https://renovatebot.com/diffs/npm/semantic-release/20.1.0/20.1.3)
|
[![age](https://badges.renovateapi.com/packages/npm/semantic-release/20.1.3/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/semantic-release/20.1.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/semantic-release/20.1.3/compatibility-slim/20.1.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/semantic-release/20.1.3/confidence-slim/20.1.0)](https://docs.renovatebot.com/merge-confidence/)
|
| [typedoc](https://typedoc.org)
([source](https://github.com/TypeStrong/TypeDoc)) | [`0.23.25` ->
`0.23.28`](https://renovatebot.com/diffs/npm/typedoc/0.23.25/0.23.28) |
[![age](https://badges.renovateapi.com/packages/npm/typedoc/0.23.28/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/typedoc/0.23.28/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/typedoc/0.23.28/compatibility-slim/0.23.25)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/typedoc/0.23.28/confidence-slim/0.23.25)](https://docs.renovatebot.com/merge-confidence/)
|
| [vitest](https://github.com/vitest-dev/vitest) | [`0.28.5` ->
`0.29.7`](https://renovatebot.com/diffs/npm/vitest/0.28.5/0.29.7) |
[![age](https://badges.renovateapi.com/packages/npm/vitest/0.29.7/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/vitest/0.29.7/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/vitest/0.29.7/compatibility-slim/0.28.5)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/vitest/0.29.7/confidence-slim/0.28.5)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.6...v0.29.7)

#####    🐞 Bug Fixes

- Import [@&#8203;vite/client](https://github.com/vite/client) in
browser code for handling optimizer  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va)
[<samp>(20c51)</samp>](https://github.com/vitest-dev/vitest/commit/20c510c4)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.6...v0.29.7)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.5...v0.29.6)

#####    🐞 Bug Fixes

- Bundle UI with
[@&#8203;vitest/browser](https://github.com/vitest/browser)  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va)
[<samp>(14091)</samp>](https://github.com/vitest-dev/vitest/commit/14091c59)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.5...v0.29.6)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.4...v0.29.5)

#####    🐞 Bug Fixes

- **browser**: Relax vitest peer dependency  -  by
[@&#8203;cexbrayat](https://github.com/cexbrayat) in
[https://github.com/vitest-dev/vitest/issues/3039](https://github.com/vitest-dev/vitest/issues/3039)
[<samp>(865d1)</samp>](https://github.com/vitest-dev/vitest/commit/865d1afd)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.4...v0.29.5)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.3...v0.29.4)

#####    🚀 Features

- `--test-timeout` CLI argument  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3019](https://github.com/vitest-dev/vitest/issues/3019)
[<samp>(63c62)</samp>](https://github.com/vitest-dev/vitest/commit/63c62f9e)
- Add an option to control Vitest pool with filepath  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3029](https://github.com/vitest-dev/vitest/issues/3029)
[<samp>(c7f0c)</samp>](https://github.com/vitest-dev/vitest/commit/c7f0c86b)
- Process timeout to log names of stuck test files  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3031](https://github.com/vitest-dev/vitest/issues/3031)
[<samp>(0ddf7)</samp>](https://github.com/vitest-dev/vitest/commit/0ddf7220)
- Support relative path in html report  -  by
[@&#8203;poyoho](https://github.com/poyoho) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2695](https://github.com/vitest-dev/vitest/issues/2695)
[<samp>(a7680)</samp>](https://github.com/vitest-dev/vitest/commit/a768015e)
- Webdriverio (+ custom providers) integration for browser mode  -  by
[@&#8203;Aslemammad](https://github.com/Aslemammad), **Christian
Bromann**, [@&#8203;sheremet-va](https://github.com/sheremet-va),
[@&#8203;userquin](https://github.com/userquin) and
[@&#8203;dammy001](https://github.com/dammy001) in
[https://github.com/vitest-dev/vitest/issues/2999](https://github.com/vitest-dev/vitest/issues/2999)
[<samp>(9cdc8)</samp>](https://github.com/vitest-dev/vitest/commit/9cdc8030)

#####    🐞 Bug Fixes

- Show correct line numbers in stack trace when using vi.resetModules()
 -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3020](https://github.com/vitest-dev/vitest/issues/3020)
[<samp>(35730)</samp>](https://github.com/vitest-dev/vitest/commit/35730328)
- Mocking value proxy filter Symbol static properties  -  by
[@&#8203;ChpShy](https://github.com/ChpShy) in
[https://github.com/vitest-dev/vitest/issues/3036](https://github.com/vitest-dev/vitest/issues/3036)
[<samp>(0cf44)</samp>](https://github.com/vitest-dev/vitest/commit/0cf44098)
- Escape XML in error stack trace when using junit reporter  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3038](https://github.com/vitest-dev/vitest/issues/3038)
[<samp>(cc577)</samp>](https://github.com/vitest-dev/vitest/commit/cc5779d6)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.3...v0.29.4)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.2...v0.29.3)

#####    🚀 Features

- Use custom colors implementation instead of picocolors  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va)
[<samp>(427b0)</samp>](https://github.com/vitest-dev/vitest/commit/427b0622)
- Uncaught errors to indicate env teardown  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2982](https://github.com/vitest-dev/vitest/issues/2982)
[<samp>(1fe82)</samp>](https://github.com/vitest-dev/vitest/commit/1fe8286c)
- **config**: Add an option to run setupFiles in sequence  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3008](https://github.com/vitest-dev/vitest/issues/3008)
[<samp>(c2e25)</samp>](https://github.com/vitest-dev/vitest/commit/c2e25bb9)

#####    🐞 Bug Fixes

- Console log not visible  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2943](https://github.com/vitest-dev/vitest/issues/2943)
[<samp>(02808)</samp>](https://github.com/vitest-dev/vitest/commit/0280825f)
- Remove duplicate execArgv when deps.registerNodeLoader: true  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2965](https://github.com/vitest-dev/vitest/issues/2965)
[<samp>(a1954)</samp>](https://github.com/vitest-dev/vitest/commit/a1954cc0)
- Prevent running test cases timers after environment teardown  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2971](https://github.com/vitest-dev/vitest/issues/2971)
[<samp>(bde75)</samp>](https://github.com/vitest-dev/vitest/commit/bde75a34)
- Don't mark setupFiles as test files, if experimentaOptimizer is used
 -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2974](https://github.com/vitest-dev/vitest/issues/2974)
[<samp>(819c6)</samp>](https://github.com/vitest-dev/vitest/commit/819c6cbe)
- Config errors not visible  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2995](https://github.com/vitest-dev/vitest/issues/2995)
[<samp>(f01c7)</samp>](https://github.com/vitest-dev/vitest/commit/f01c7833)
- \--inspect to work inside workers  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2983](https://github.com/vitest-dev/vitest/issues/2983)
[<samp>(36087)</samp>](https://github.com/vitest-dev/vitest/commit/36087d1e)
- **types**: Use `any` as default value for TArgs in vi.fn()  -  by
[@&#8203;jessevanassen](https://github.com/jessevanassen) in
[https://github.com/vitest-dev/vitest/issues/2947](https://github.com/vitest-dev/vitest/issues/2947)
[<samp>(1bdcc)</samp>](https://github.com/vitest-dev/vitest/commit/1bdcc212)

#####    🏎 Performance

- **reporters**: Overall improvements  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3006](https://github.com/vitest-dev/vitest/issues/3006)
[<samp>(22ca0)</samp>](https://github.com/vitest-dev/vitest/commit/22ca0b6b)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.2...v0.29.3)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.1...v0.29.2)

#####    🐞 Bug Fixes

- Optimize dependencies in setup files  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2935](https://github.com/vitest-dev/vitest/issues/2935)
[<samp>(c169f)</samp>](https://github.com/vitest-dev/vitest/commit/c169f980)
- **coverage**: C8 provider to work when isolate:false  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2929](https://github.com/vitest-dev/vitest/issues/2929)
[<samp>(86538)</samp>](https://github.com/vitest-dev/vitest/commit/8653830b)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.1...v0.29.2)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.0...v0.29.1)

#####    🐞 Bug Fixes

- Wait for optimized dependency to be bundled in non-pnpm package
managers  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va)
[<samp>(d2460)</samp>](https://github.com/vitest-dev/vitest/commit/d2460b7a)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.0...v0.29.1)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.28.5...v0.29.0)

This release makes some significant changes to how tests are running. If
you were using `--no-threads` before, you might consider enabling
`--single-thread` instead (because your tests are now running in
`child_process` instead of a worker thread) or try our new performance
optimization feature (discussed later). If you were relying on API that
was not available inside a worker (like `process.chdir()`, you can now
use this option.

One of the potential breaking bug fixes is that environments do not
share the same global scope anymore if you run them with `--no-isolate`,
`--no-threads` or `--single-thread` - you might need to update your
setup files if you were relying on a global variable before.

If you had performance issues on large code bases before, try the new
[`deps.experimentalOptimizer`](https://vitest.dev/config/#deps-experimentaloptimizer)
option instead of disabling threads. Feedback is welcome!

One of the breaking changes includes adding a link to snapshots inside
snapshot files, meaning you will need to update all your snapshots.

#####    🚨 Breaking Changes

- Vitest as peer dependency for coverage packages  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2836](https://github.com/vitest-dev/vitest/issues/2836)
[<samp>(94247)</samp>](https://github.com/vitest-dev/vitest/commit/94247f1b)
- Coverage-c8 to use V8 profiler directly instead of `NODE_V8_COVERAGE`
 -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2786](https://github.com/vitest-dev/vitest/issues/2786)
[<samp>(095c6)</samp>](https://github.com/vitest-dev/vitest/commit/095c6390)
- Add a link to the comment at the top of the snapshot file  -  by
[@&#8203;btea](https://github.com/btea) in
[https://github.com/vitest-dev/vitest/issues/2867](https://github.com/vitest-dev/vitest/issues/2867)
[<samp>(615e1)</samp>](https://github.com/vitest-dev/vitest/commit/615e150b)
- Always run separate environments in isolation  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2860](https://github.com/vitest-dev/vitest/issues/2860)
[<samp>(1f858)</samp>](https://github.com/vitest-dev/vitest/commit/1f858e0c)
- Tests with `node` and `jsdom` (and other environments) now don't share
the same global scope, if you run them with `--no-isolate` or
`--no-threads` flag. Vitest doesn't provide a way to restore the
previous behavior as it is considered a bug.
- Use child_process when --no-threads is used  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2772](https://github.com/vitest-dev/vitest/issues/2772)
[<samp>(7bf54)</samp>](https://github.com/vitest-dev/vitest/commit/7bf54505)
- Tests inside `chid_process` might run longer due to the communication
overhead. If you want to restore the previous behavior, use
`--single-thread`.

#####    🚀 Features

- Add test seed to banner  -  by
[@&#8203;btkostner](https://github.com/btkostner) in
[https://github.com/vitest-dev/vitest/issues/2877](https://github.com/vitest-dev/vitest/issues/2877)
[<samp>(bdb39)</samp>](https://github.com/vitest-dev/vitest/commit/bdb39569)
- Use custom source-map-support implementation  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2905](https://github.com/vitest-dev/vitest/issues/2905)
[<samp>(6ff6c)</samp>](https://github.com/vitest-dev/vitest/commit/6ff6c6eb)
- Add an option to enable Vite optimizer  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2912](https://github.com/vitest-dev/vitest/issues/2912)
[<samp>(af8de)</samp>](https://github.com/vitest-dev/vitest/commit/af8de362)
-   **coverage**:
- Add support for coverage reporter options  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2690](https://github.com/vitest-dev/vitest/issues/2690)
[<samp>(f8176)</samp>](https://github.com/vitest-dev/vitest/commit/f8176182)
- Automatic threshold updating  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2886](https://github.com/vitest-dev/vitest/issues/2886)
[<samp>(e1652)</samp>](https://github.com/vitest-dev/vitest/commit/e1652163)
-   **spy**:
- Implement mock.withImplementation API  -  by
[@&#8203;obadakhalili](https://github.com/obadakhalili) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2835](https://github.com/vitest-dev/vitest/issues/2835)
[<samp>(610b1)</samp>](https://github.com/vitest-dev/vitest/commit/610b1d46)
-   **vite-node**:
- Cli option for vite mode  -  by
[@&#8203;abarke](https://github.com/abarke) in
[https://github.com/vitest-dev/vitest/issues/2893](https://github.com/vitest-dev/vitest/issues/2893)
[<samp>(0fc08)</samp>](https://github.com/vitest-dev/vitest/commit/0fc08032)

#####    🐞 Bug Fixes

- Wait for console.log to print a message before terminating a worker
 -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2861](https://github.com/vitest-dev/vitest/issues/2861)
[<samp>(fbc54)</samp>](https://github.com/vitest-dev/vitest/commit/fbc54c91)
- Cleanup last mocked cache when call vi.doMock  -  by
[@&#8203;mysteryven](https://github.com/mysteryven) in
[https://github.com/vitest-dev/vitest/issues/2872](https://github.com/vitest-dev/vitest/issues/2872)
[<samp>(65d71)</samp>](https://github.com/vitest-dev/vitest/commit/65d71b9e)
- Reload changed configuration file on watch mode  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2889](https://github.com/vitest-dev/vitest/issues/2889)
[<samp>(4d277)</samp>](https://github.com/vitest-dev/vitest/commit/4d277d8d)
- **coverage**: Custom providers to work inside worker threads  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2817](https://github.com/vitest-dev/vitest/issues/2817)
[<samp>(81604)</samp>](https://github.com/vitest-dev/vitest/commit/81604bce)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.28.5...v0.29.0)

</details>

<details>
<summary>capricorn86/happy-dom</summary>

###
[`v8.9.0`](https://github.com/capricorn86/happy-dom/releases/tag/v8.9.0)

[Compare
Source](https://github.com/capricorn86/happy-dom/compare/v8.8.0...v8.9.0)

##### 🎨 Features

- Add support for the `Audio` class to Window.
([#&#8203;778](https://github.com/capricorn86/happy-dom/issues/778))

###
[`v8.8.0`](https://github.com/capricorn86/happy-dom/releases/tag/v8.8.0)

[Compare
Source](https://github.com/capricorn86/happy-dom/compare/v8.7.6...v8.8.0)

##### 🎨 Features

- Adds support for `Document.title`.
([#&#8203;785](https://github.com/capricorn86/happy-dom/issues/785))

###
[`v8.7.6`](https://github.com/capricorn86/happy-dom/releases/tag/v8.7.6)

[Compare
Source](https://github.com/capricorn86/happy-dom/compare/v8.7.5...v8.7.6)

##### 👷‍♂️ Patch fixes

- Fixes encoding error in `XMLHttpRequest` with responses other charsets
than UTF-8.
([#&#8203;783](https://github.com/capricorn86/happy-dom/issues/783))

###
[`v8.7.5`](https://github.com/capricorn86/happy-dom/releases/tag/v8.7.5)

[Compare
Source](https://github.com/capricorn86/happy-dom/compare/v8.7.4...v8.7.5)

##### 👷‍♂️ Patch fixes

- Fixes issue with parsing conditional comments (e.g "\<!--\[if IE 8]>")
in `XMLParser`.
([#&#8203;519](https://github.com/capricorn86/happy-dom/issues/519))

###
[`v8.7.4`](https://github.com/capricorn86/happy-dom/releases/tag/v8.7.4)

[Compare
Source](https://github.com/capricorn86/happy-dom/compare/v8.7.3...v8.7.4)

##### 👷‍♂️ Patch fixes

- Add self equality check in the `Node.contains()` method.
([#&#8203;776](https://github.com/capricorn86/happy-dom/issues/776))

###
[`v8.7.3`](https://github.com/capricorn86/happy-dom/releases/tag/v8.7.3)

[Compare
Source](https://github.com/capricorn86/happy-dom/compare/v8.7.2...v8.7.3)

##### 👷‍♂️ Patch fixes

- Adds support for `Document.visibilityState` and `Document.hidden`.
([#&#8203;774](https://github.com/capricorn86/happy-dom/issues/774))

</details>

<details>
<summary>okonet/lint-staged</summary>

###
[`v13.2.0`](https://github.com/okonet/lint-staged/releases/tag/v13.2.0)

[Compare
Source](https://github.com/okonet/lint-staged/compare/c01d9524f6bcec8180e6f870f0c86ae3f77ab76a...v13.2.0)

##### Bug Fixes

- **dependencies:** replace `colorette` with `chalk` for better color
support detection
([f598725](https://github.com/okonet/lint-staged/commit/f5987252ae59537727a93373b59ab47bc2651a2f))
- use index-based stash references for improved MSYS2 compatibility
([#&#8203;1270](https://github.com/okonet/lint-staged/issues/1270))
([60fcd99](https://github.com/okonet/lint-staged/commit/60fcd99451b88336a05ebbe71cda8909d2733ad7))

##### Features

- version bump only
([#&#8203;1275](https://github.com/okonet/lint-staged/issues/1275))
([05fb382](https://github.com/okonet/lint-staged/commit/05fb3829faa5437276d98450c34699fecfc8c1c8))

###
[`v13.1.4`](https://github.com/okonet/lint-staged/compare/da6da00654248c34e4f7ce94f61d68ee46f177a1...c01d9524f6bcec8180e6f870f0c86ae3f77ab76a)

[Compare
Source](https://github.com/okonet/lint-staged/compare/da6da00654248c34e4f7ce94f61d68ee46f177a1...c01d9524f6bcec8180e6f870f0c86ae3f77ab76a)

###
[`v13.1.3`](https://github.com/okonet/lint-staged/compare/v13.1.2...da6da00654248c34e4f7ce94f61d68ee46f177a1)

[Compare
Source](https://github.com/okonet/lint-staged/compare/v13.1.2...da6da00654248c34e4f7ce94f61d68ee46f177a1)

</details>

<details>
<summary>prettier/prettier</summary>

###
[`v2.8.6`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#&#8203;286)

[Compare
Source](https://github.com/prettier/prettier/compare/2.8.5...2.8.6)

[diff](https://github.com/prettier/prettier/compare/2.8.5...2.8.6)

##### Allow decorators on private members and class expressions
([#&#8203;14548](https://github.com/prettier/prettier/pull/14548) by
[@&#8203;fisker](https://github.com/fisker))

<!-- prettier-ignore -->

```ts
// Input
class A {
  @&#8203;decorator()
  #privateMethod () {}
}

// Prettier 2.8.5
SyntaxError: Decorators are not valid here. (2:3)
  1 | class A {
> 2 |   @&#8203;decorator()
    |   ^^^^^^^^^^^^
  3 |   #privateMethod () {}
  4 | }

// Prettier 2.8.6
class A {
  @&#8203;decorator()
  #privateMethod() {}
}
```

###
[`v2.8.5`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#&#8203;285)

[Compare
Source](https://github.com/prettier/prettier/compare/2.8.4...2.8.5)

[diff](https://github.com/prettier/prettier/compare/2.8.4...2.8.5)

##### Support TypeScript 5.0
([#&#8203;14391](https://github.com/prettier/prettier/pull/14391) by
[@&#8203;fisker](https://github.com/fisker),
[#&#8203;13819](https://github.com/prettier/prettier/pull/13819) by
[@&#8203;fisker](https://github.com/fisker),
[@&#8203;sosukesuzuki](https://github.com/sosukesuzuki))

TypeScript 5.0 introduces two new syntactic features:

-   `const` modifiers for type parameters
-   `export type *` declarations

##### Add missing parentheses for decorator
([#&#8203;14393](https://github.com/prettier/prettier/pull/14393) by
[@&#8203;fisker](https://github.com/fisker))

<!-- prettier-ignore -->

```jsx
// Input
class Person {
  @&#8203;(myDecoratorArray[0])
  greet() {}
}

// Prettier 2.8.4
class Person {
  @&#8203;myDecoratorArray[0]
  greet() {}
}

// Prettier 2.8.5
class Person {
  @&#8203;(myDecoratorArray[0])
  greet() {}
}
```

##### Add parentheses for `TypeofTypeAnnotation` to improve readability
([#&#8203;14458](https://github.com/prettier/prettier/pull/14458) by
[@&#8203;fisker](https://github.com/fisker))

<!-- prettier-ignore -->

```tsx
// Input
type A = (typeof node.children)[];

// Prettier 2.8.4
type A = typeof node.children[];

// Prettier 2.8.5
type A = (typeof node.children)[];
```

##### Support `max_line_length=off` when parsing `.editorconfig`
([#&#8203;14516](https://github.com/prettier/prettier/pull/14516) by
[@&#8203;josephfrazier](https://github.com/josephfrazier))

If an .editorconfig file is in your project and it sets
`max_line_length=off` for the file you're formatting,
it will be interpreted as a `printWidth` of `Infinity` rather than being
ignored
(which previously resulted in the default `printWidth` of 80 being
applied, if not overridden by Prettier-specific configuration).

<!-- prettier-ignore -->

```html
<!-- Input -->
<div className='HelloWorld' title={`You are visitor number ${ num }`} onMouseOver={onMouseOver}/>

<!-- Prettier 2.8.4 -->
<div
  className="HelloWorld"
  title={`You are visitor number ${num}`}
  onMouseOver={onMouseOver}
/>;

<!-- Prettier 2.8.5 -->
<div className="HelloWorld" title={`You are visitor number ${num}`} onMouseOver={onMouseOver} />;
```

</details>

<details>
<summary>isaacs/rimraf</summary>

###
[`v4.4.0`](https://github.com/isaacs/rimraf/compare/v4.3.1...v4.4.0)

[Compare
Source](https://github.com/isaacs/rimraf/compare/v4.3.1...v4.4.0)

###
[`v4.3.1`](https://github.com/isaacs/rimraf/compare/v4.3.0...v4.3.1)

[Compare
Source](https://github.com/isaacs/rimraf/compare/v4.3.0...v4.3.1)

###
[`v4.3.0`](https://github.com/isaacs/rimraf/compare/v4.2.0...v4.3.0)

[Compare
Source](https://github.com/isaacs/rimraf/compare/v4.2.0...v4.3.0)

###
[`v4.2.0`](https://github.com/isaacs/rimraf/compare/v4.1.4...v4.2.0)

[Compare
Source](https://github.com/isaacs/rimraf/compare/v4.1.4...v4.2.0)

###
[`v4.1.4`](https://github.com/isaacs/rimraf/compare/v4.1.3...v4.1.4)

[Compare
Source](https://github.com/isaacs/rimraf/compare/v4.1.3...v4.1.4)

###
[`v4.1.3`](https://github.com/isaacs/rimraf/compare/v4.1.2...v4.1.3)

[Compare
Source](https://github.com/isaacs/rimraf/compare/v4.1.2...v4.1.3)

</details>

<details>
<summary>semantic-release/semantic-release</summary>

###
[`v20.1.3`](https://github.com/semantic-release/semantic-release/releases/tag/v20.1.3)

[Compare
Source](https://github.com/semantic-release/semantic-release/compare/v20.1.2...v20.1.3)

##### Bug Fixes

- **deps:** update dependency execa to v7.1.1
([c38b53a](https://github.com/semantic-release/semantic-release/commit/c38b53a321f2139ecae9c77963d38f8d9d5b34f1))

###
[`v20.1.2`](https://github.com/semantic-release/semantic-release/releases/tag/v20.1.2)

[Compare
Source](https://github.com/semantic-release/semantic-release/compare/v20.1.1...v20.1.2)

##### Bug Fixes

- **deps:** update dependency cosmiconfig to v8.1.2
([fbede54](https://github.com/semantic-release/semantic-release/commit/fbede5438814be829cd358fb687fef2f4b94e2e0))

###
[`v20.1.1`](https://github.com/semantic-release/semantic-release/releases/tag/v20.1.1)

[Compare
Source](https://github.com/semantic-release/semantic-release/compare/v20.1.0...v20.1.1)

##### Bug Fixes

- **deps:** update dependency execa to v7
([#&#8203;2709](https://github.com/semantic-release/semantic-release/issues/2709))
([31d9bfe](https://github.com/semantic-release/semantic-release/commit/31d9bfe00a490d9c57ee5a309de635a4f5c28993))

</details>

<details>
<summary>TypeStrong/TypeDoc</summary>

###
[`v0.23.28`](https://github.com/TypeStrong/TypeDoc/blob/HEAD/CHANGELOG.md#v02328-2023-03-19)

[Compare
Source](https://github.com/TypeStrong/TypeDoc/compare/v0.23.27...v0.23.28)

##### Features

- Added support for TypeScript 5.0,
[#&#8203;2201](https://github.com/TypeStrong/TypeDoc/issues/2201).
    -   `const` type parameters.
    -   JSDoc `@overload` tag.
    -   JSDoc `@satisfies` tag.

###
[`v0.23.27`](https://github.com/TypeStrong/TypeDoc/blob/HEAD/CHANGELOG.md#v02327-2023-03-16)

[Compare
Source](https://github.com/TypeStrong/TypeDoc/compare/v0.23.26...v0.23.27)

##### Features

- Added `--treatValidationWarningsAsErrors` to treat only validation
warnings as errors without treating all warnings as errors,
[#&#8203;2199](https://github.com/TypeStrong/TypeDoc/issues/2199).

##### Bug Fixes

- Fixed a bug where optional properties were not appropriately marked as
optional,
[#&#8203;2200](https://github.com/TypeStrong/TypeDoc/issues/2200).
- Fixed shifted navigation pane on devices 1024px wide,
[#&#8203;2191](https://github.com/TypeStrong/TypeDoc/issues/2191).
- Add missing `@private` and `@protected` tags to `typedoc/tsdoc.json`,
[#&#8203;2187](https://github.com/TypeStrong/TypeDoc/issues/2187).

##### Thanks!

-   [@&#8203;futurGH](https://github.com/futurGH)

###
[`v0.23.26`](https://github.com/TypeStrong/TypeDoc/blob/HEAD/CHANGELOG.md#v02326-2023-02-26)

[Compare
Source](https://github.com/TypeStrong/TypeDoc/compare/v0.23.25...v0.23.26)

##### Features

- Added `Application.EVENT_VALIDATE_PROJECT` event for plugins which
implement custom validation,
[#&#8203;2183](https://github.com/TypeStrong/TypeDoc/issues/2183).
- Plugins may now return an object from external symbol resolvers,
[#&#8203;2066](https://github.com/TypeStrong/TypeDoc/issues/2066).
- Expose `Comment.displayPartsToMarkdown` on for themes overwriting the
`comment` helper,
[#&#8203;2115](https://github.com/TypeStrong/TypeDoc/issues/2115).

##### Bug Fixes

- Fix crash when converting `export default undefined`,
[#&#8203;2175](https://github.com/TypeStrong/TypeDoc/issues/2175).
- Fix error in console when clicking on headings in the readme,
[#&#8203;2170](https://github.com/TypeStrong/TypeDoc/issues/2170).
- TypeDoc will now ignore parameters of callback parameters when
validating that all parameters have documentation,
[#&#8203;2154](https://github.com/TypeStrong/TypeDoc/issues/2154).

##### Thanks!

-   [@&#8203;captain-torch](https://github.com/captain-torch)
-   [@&#8203;loopingz](https://github.com/loopingz)
-   [@&#8203;RebeccaStevens](https://github.com/RebeccaStevens)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/andipaetzold/react-firehooks).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xNTIuNCIsInVwZGF0ZWRJblZlciI6IjM1LjE0LjIifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
killbasa referenced this pull request in KBot-discord/plugins Mar 31, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type |
Update |
|---|---|---|---|---|---|---|---|
| [@sapphire/framework](https://www.sapphirejs.dev)
([source](https://github.com/sapphiredev/framework)) | [`4.2.0` ->
`4.2.2`](https://renovatebot.com/diffs/npm/@sapphire%2fframework/4.2.0/4.2.2)
|
[![age](https://badges.renovateapi.com/packages/npm/@sapphire%2fframework/4.2.2/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@sapphire%2fframework/4.2.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@sapphire%2fframework/4.2.2/compatibility-slim/4.2.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@sapphire%2fframework/4.2.2/confidence-slim/4.2.0)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
|
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) |
[`18.14.1` ->
`18.15.11`](https://renovatebot.com/diffs/npm/@types%2fnode/18.14.1/18.15.11)
|
[![age](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.11/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.11/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.11/compatibility-slim/18.14.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.11/confidence-slim/18.14.1)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
|
[@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint)
| [`5.53.0` ->
`5.57.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/5.53.0/5.57.0)
|
[![age](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.57.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.57.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.57.0/compatibility-slim/5.53.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.57.0/confidence-slim/5.53.0)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
|
[@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint)
| [`5.53.0` ->
`5.57.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/5.53.0/5.57.0)
|
[![age](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.57.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.57.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.57.0/compatibility-slim/5.53.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.57.0/confidence-slim/5.53.0)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [@vitest/coverage-c8](https://github.com/vitest-dev/vitest) |
[`^0.28.5` ->
`^0.29.0`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-c8/0.28.5/0.29.8)
|
[![age](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-c8/0.29.8/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-c8/0.29.8/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-c8/0.29.8/compatibility-slim/0.28.5)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-c8/0.29.8/confidence-slim/0.28.5)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [discord-api-types](https://discord-api-types.dev)
([source](https://github.com/discordjs/discord-api-types)) |
[`0.37.28` ->
`0.37.37`](https://renovatebot.com/diffs/npm/discord-api-types/0.37.28/0.37.37)
|
[![age](https://badges.renovateapi.com/packages/npm/discord-api-types/0.37.37/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/discord-api-types/0.37.37/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/discord-api-types/0.37.37/compatibility-slim/0.37.28)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/discord-api-types/0.37.37/confidence-slim/0.37.28)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [discord.js](https://discord.js.org)
([source](https://github.com/discordjs/discord.js)) | [`14.7.1` ->
`14.8.0`](https://renovatebot.com/diffs/npm/discord.js/14.7.1/14.8.0) |
[![age](https://badges.renovateapi.com/packages/npm/discord.js/14.8.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/discord.js/14.8.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/discord.js/14.8.0/compatibility-slim/14.7.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/discord.js/14.8.0/confidence-slim/14.7.1)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [eslint](https://eslint.org)
([source](https://github.com/eslint/eslint)) | [`8.34.0` ->
`8.37.0`](https://renovatebot.com/diffs/npm/eslint/8.34.0/8.37.0) |
[![age](https://badges.renovateapi.com/packages/npm/eslint/8.37.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/eslint/8.37.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/eslint/8.37.0/compatibility-slim/8.34.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/eslint/8.37.0/confidence-slim/8.34.0)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
|
[eslint-config-prettier](https://github.com/prettier/eslint-config-prettier)
| [`8.6.0` ->
`8.8.0`](https://renovatebot.com/diffs/npm/eslint-config-prettier/8.6.0/8.8.0)
|
[![age](https://badges.renovateapi.com/packages/npm/eslint-config-prettier/8.8.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/eslint-config-prettier/8.8.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/eslint-config-prettier/8.8.0/compatibility-slim/8.6.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/eslint-config-prettier/8.8.0/confidence-slim/8.6.0)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [lint-staged](https://github.com/okonet/lint-staged) | [`13.1.2` ->
`13.2.0`](https://renovatebot.com/diffs/npm/lint-staged/13.1.2/13.2.0) |
[![age](https://badges.renovateapi.com/packages/npm/lint-staged/13.2.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/lint-staged/13.2.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/lint-staged/13.2.0/compatibility-slim/13.1.2)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/lint-staged/13.2.0/confidence-slim/13.1.2)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [prettier](https://prettier.io)
([source](https://github.com/prettier/prettier)) | [`2.8.4` ->
`2.8.7`](https://renovatebot.com/diffs/npm/prettier/2.8.4/2.8.7) |
[![age](https://badges.renovateapi.com/packages/npm/prettier/2.8.7/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/prettier/2.8.7/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/prettier/2.8.7/compatibility-slim/2.8.4)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/prettier/2.8.7/confidence-slim/2.8.4)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [thedoctor0/zip-release](https://github.com/thedoctor0/zip-release)
| `0.6.2` -> `0.7.1` |
[![age](https://badges.renovateapi.com/packages/github-tags/thedoctor0%2fzip-release/0.7.1/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/github-tags/thedoctor0%2fzip-release/0.7.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/github-tags/thedoctor0%2fzip-release/0.7.1/compatibility-slim/0.6.2)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/github-tags/thedoctor0%2fzip-release/0.7.1/confidence-slim/0.6.2)](https://docs.renovatebot.com/merge-confidence/)
| action | minor |
| [turbo](https://turbo.build/repo)
([source](https://github.com/vercel/turbo)) | [`1.8.2` ->
`1.8.8`](https://renovatebot.com/diffs/npm/turbo/1.8.2/1.8.8) |
[![age](https://badges.renovateapi.com/packages/npm/turbo/1.8.8/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/turbo/1.8.8/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/turbo/1.8.8/compatibility-slim/1.8.2)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/turbo/1.8.8/confidence-slim/1.8.2)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [typedoc](https://typedoc.org)
([source](https://github.com/TypeStrong/TypeDoc)) | [`0.23.25` ->
`0.23.28`](https://renovatebot.com/diffs/npm/typedoc/0.23.25/0.23.28) |
[![age](https://badges.renovateapi.com/packages/npm/typedoc/0.23.28/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/typedoc/0.23.28/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/typedoc/0.23.28/compatibility-slim/0.23.25)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/typedoc/0.23.28/confidence-slim/0.23.25)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |
| [vitest](https://github.com/vitest-dev/vitest) | [`^0.28.5` ->
`^0.29.0`](https://renovatebot.com/diffs/npm/vitest/0.28.5/0.29.8) |
[![age](https://badges.renovateapi.com/packages/npm/vitest/0.29.8/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/vitest/0.29.8/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/vitest/0.29.8/compatibility-slim/0.28.5)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/vitest/0.29.8/confidence-slim/0.28.5)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |
| [yarn](https://github.com/yarnpkg/berry) | [`3.3.1` ->
`3.5.0`](https://renovatebot.com/diffs/npm/yarn/3.3.1/3.5.0) |
[![age](https://badges.renovateapi.com/packages/npm/yarn/3.5.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/yarn/3.5.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/yarn/3.5.0/compatibility-slim/3.3.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/yarn/3.5.0/confidence-slim/3.3.1)](https://docs.renovatebot.com/merge-confidence/)
| packageManager | minor |

---

### Release Notes

<details>
<summary>sapphiredev/framework</summary>

###
[`v4.2.2`](https://github.com/sapphiredev/framework/blob/HEAD/CHANGELOG.md#&#8203;422-httpsgithubcomsapphiredevframeworkcomparev421v422---2023-03-14)

[Compare
Source](https://github.com/sapphiredev/framework/compare/v4.2.1...v4.2.2)

#### 🐛 Bug Fixes

- Update to discordjs v14.8.0
([00db5f3](https://github.com/sapphiredev/framework/commit/00db5f33409cc9d0c07bd1150c525e43770ebb76))
- **deps:** Update dependency
[@&#8203;sapphire/ratelimits](https://github.com/sapphire/ratelimits)
to ^2.4.6
([#&#8203;617](https://github.com/sapphiredev/framework/issues/617))
([ab9242a](https://github.com/sapphiredev/framework/commit/ab9242a46d62173ce714c1c5285c53a9bb2414b0))

###
[`v4.2.1`](https://github.com/sapphiredev/framework/blob/HEAD/CHANGELOG.md#&#8203;421-httpsgithubcomsapphiredevframeworkcomparev420v421---2023-03-09)

[Compare
Source](https://github.com/sapphiredev/framework/compare/v4.2.0...v4.2.1)

#### 🐛 Bug Fixes

- **ClientPermissions:** Fixed permission checking for old applications
([#&#8203;616](https://github.com/sapphiredev/framework/issues/616))
([725a7d3](https://github.com/sapphiredev/framework/commit/725a7d3a8e8f92860aaf946aecfc988abc8d9553))
- **events:** Add missing discordjs events
([#&#8203;612](https://github.com/sapphiredev/framework/issues/612))
([f9606c3](https://github.com/sapphiredev/framework/commit/f9606c3c862fd1ebed52c17d8973b37513499567))

</details>

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

###
[`v5.57.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#&#8203;5570-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5560v5570-2023-03-27)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.56.0...v5.57.0)

##### Bug Fixes

- **eslint-plugin:** \[no-unnecessary-boolean-literal-compare] simplify
fixer and add support for double negation
([#&#8203;6620](https://github.com/typescript-eslint/typescript-eslint/issues/6620))
([81c8519](https://github.com/typescript-eslint/typescript-eslint/commit/81c85193d27d2e7f6d12bc259088b9b73dbe1e8b))
- **eslint-plugin:** correct crashes with getTypeArguments for ts < 3.7
([#&#8203;6767](https://github.com/typescript-eslint/typescript-eslint/issues/6767))
([59eab58](https://github.com/typescript-eslint/typescript-eslint/commit/59eab587890a915387444d00c4a9387aed602718))

##### Features

- **eslint-plugin:** \[consistent-type-assertions] add suggestions for
objectLiteralTypeAssertions
([#&#8203;6642](https://github.com/typescript-eslint/typescript-eslint/issues/6642))
([720e811](https://github.com/typescript-eslint/typescript-eslint/commit/720e81138b66c94c60c4a4471b86b7d8567b6df0))
- **eslint-plugin:** \[consistent-type-assertions] autofix angle bracket
assertions to as
([#&#8203;6641](https://github.com/typescript-eslint/typescript-eslint/issues/6641))
([ad8ea64](https://github.com/typescript-eslint/typescript-eslint/commit/ad8ea64dbdf06c92ff72b48022f041693a8d7076))
- **eslint-plugin:** add `no-duplicate-type-constituents` rule
([#&#8203;5728](https://github.com/typescript-eslint/typescript-eslint/issues/5728))
([bc31078](https://github.com/typescript-eslint/typescript-eslint/commit/bc31078cf86d69eee881e4a7daeffa347c1d82a7))

###
[`v5.56.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#&#8203;5560-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5550v5560-2023-03-20)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.55.0...v5.56.0)

##### Bug Fixes

- **eslint-plugin:** \[member-ordering] check order when
optionalityOrder is present with no optional members
([#&#8203;6619](https://github.com/typescript-eslint/typescript-eslint/issues/6619))
([6aff431](https://github.com/typescript-eslint/typescript-eslint/commit/6aff431668eb0d25aa74b527cbe458f9dcd0d92a))
- **eslint-plugin:** \[no-misused-promises] avoid unnecessary calls to
getContextualType
([#&#8203;6193](https://github.com/typescript-eslint/typescript-eslint/issues/6193))
([745cfe4](https://github.com/typescript-eslint/typescript-eslint/commit/745cfe4a35319416b3c307ee9fd57c63bf1660cd))
- **eslint-plugin:** \[no-misused-promises] fix incorrect detection of
void functions in JSX attributes
([#&#8203;6638](https://github.com/typescript-eslint/typescript-eslint/issues/6638))
([9e41cee](https://github.com/typescript-eslint/typescript-eslint/commit/9e41ceeaea3bf266e5114cfb1855e70a1a13284b))
- **eslint-plugin:** \[strict-boolean-expression] support falsy and
truthy literals simultaneously
([#&#8203;6672](https://github.com/typescript-eslint/typescript-eslint/issues/6672))
([62ef487](https://github.com/typescript-eslint/typescript-eslint/commit/62ef487a99010827e99a792db5e565ad7c1d6220))
- **eslint-plugin:** \[strict-boolean-expressions] handle truthy enums
([#&#8203;6618](https://github.com/typescript-eslint/typescript-eslint/issues/6618))
([0d0639f](https://github.com/typescript-eslint/typescript-eslint/commit/0d0639fb25e5ac8d7b5e4ceac4273e17e8ee0249))
- **eslint-plugin:** add TSPropertySignature with TSFunctionType
annotation to typeMethod selector
([#&#8203;6645](https://github.com/typescript-eslint/typescript-eslint/issues/6645))
([3fc5c63](https://github.com/typescript-eslint/typescript-eslint/commit/3fc5c63f87bfd9d95f7e51fddc7ef16a6c3c5662))

##### Features

- **eslint-plugin:** add allowNever support to
restrict-template-expressions
([#&#8203;6554](https://github.com/typescript-eslint/typescript-eslint/issues/6554))
([423f164](https://github.com/typescript-eslint/typescript-eslint/commit/423f1642424293488fa03a52777c0df73a40e5fd))

###
[`v5.55.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#&#8203;5550-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5541v5550-2023-03-13)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.54.1...v5.55.0)

##### Bug Fixes

- **eslint-plugin:** \[no-confusing-void-expression] check sequence
expressions for void is in last position
([#&#8203;6597](https://github.com/typescript-eslint/typescript-eslint/issues/6597))
([d73d7d3](https://github.com/typescript-eslint/typescript-eslint/commit/d73d7d3904a088e2bf7127240dd1f1cefe325e69))
- **eslint-plugin:** \[no-unnecessary-boolean-literal-compare] fixer
should handle parentheses
([#&#8203;6569](https://github.com/typescript-eslint/typescript-eslint/issues/6569))
([2d8c196](https://github.com/typescript-eslint/typescript-eslint/commit/2d8c196294bcbe4989e310ec056a1a9000967600))

##### Features

- **eslint-plugin:** \[lines-around-comment] add extension rule
([#&#8203;5327](https://github.com/typescript-eslint/typescript-eslint/issues/5327))
([d55211c](https://github.com/typescript-eslint/typescript-eslint/commit/d55211caf63e4731f103e94237b3449e88322bb9))
- **eslint-plugin:** \[member-ordering] add support for grouping
readonly fields
([#&#8203;6349](https://github.com/typescript-eslint/typescript-eslint/issues/6349))
([9d3bdfc](https://github.com/typescript-eslint/typescript-eslint/commit/9d3bdfcb2fe3d2b2c0b82d9587d52f0e2ef4e344))
- **eslint-plugin:** \[no-unnecessary-cond] check logical assignments
([#&#8203;6594](https://github.com/typescript-eslint/typescript-eslint/issues/6594))
([dbc203a](https://github.com/typescript-eslint/typescript-eslint/commit/dbc203aeb64833a4d67bc62a578aa5533083af3d))
- update TypeScript to 5.0 RC
([#&#8203;6570](https://github.com/typescript-eslint/typescript-eslint/issues/6570))
([36ef0e1](https://github.com/typescript-eslint/typescript-eslint/commit/36ef0e16f31810c27dda299e739d1610b689d3ad))
- use [@&#8203;eslint-community](https://github.com/eslint-community)
dependencies
([#&#8203;6603](https://github.com/typescript-eslint/typescript-eslint/issues/6603))
([5f6ed73](https://github.com/typescript-eslint/typescript-eslint/commit/5f6ed738a2b8c08878999e24477e3c206a0ade1b))

####
[5.54.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.54.0...v5.54.1)
(2023-03-06)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/eslint-plugin)

###
[`v5.54.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#&#8203;5541-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5540v5541-2023-03-06)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.54.0...v5.54.1)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/eslint-plugin)

###
[`v5.54.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#&#8203;5540-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5530v5540-2023-02-27)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.53.0...v5.54.0)

##### Features

- **eslint-plugin:** \[promise-function-async] check for promises in
implicit return types
([#&#8203;6330](https://github.com/typescript-eslint/typescript-eslint/issues/6330))
([de1e5ce](https://github.com/typescript-eslint/typescript-eslint/commit/de1e5ce11250b259f1f809859eeb7eaa162e897f)),
closes
[#&#8203;6329](https://github.com/typescript-eslint/typescript-eslint/issues/6329)

</details>

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

###
[`v5.57.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5570-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5560v5570-2023-03-27)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.56.0...v5.57.0)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

###
[`v5.56.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5560-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5550v5560-2023-03-20)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.55.0...v5.56.0)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

###
[`v5.55.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5550-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5541v5550-2023-03-13)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.54.1...v5.55.0)

##### Features

- **parser:** add exported meta object
([#&#8203;6586](https://github.com/typescript-eslint/typescript-eslint/issues/6586))
([d05c3d8](https://github.com/typescript-eslint/typescript-eslint/commit/d05c3d8aa4093e88ffdfc2dbcff522eafbd455fb))

####
[5.54.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.54.0...v5.54.1)
(2023-03-06)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

###
[`v5.54.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5541-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5540v5541-2023-03-06)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.54.0...v5.54.1)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

###
[`v5.54.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#&#8203;5540-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5530v5540-2023-02-27)

[Compare
Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.53.0...v5.54.0)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser)

</details>

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

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.7...v0.29.8)

#####    🚀 Features

- Allow accessing "vi" methods without context, don't fail when mocker
is not available  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3047](https://github.com/vitest-dev/vitest/issues/3047)
[<samp>(1531c)</samp>](https://github.com/vitest-dev/vitest/commit/1531c420)
- Show browser console in the terminal  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3048](https://github.com/vitest-dev/vitest/issues/3048)
[<samp>(ee6f5)</samp>](https://github.com/vitest-dev/vitest/commit/ee6f590d)
- Playwright as browser provider  -  by
[@&#8203;Aslemammad](https://github.com/Aslemammad) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3079](https://github.com/vitest-dev/vitest/issues/3079)
[<samp>(9dc69)</samp>](https://github.com/vitest-dev/vitest/commit/9dc69293)
- Implement `istanbul` coverage support for browser testing  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) and
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3040](https://github.com/vitest-dev/vitest/issues/3040)
[<samp>(0f44d)</samp>](https://github.com/vitest-dev/vitest/commit/0f44d2c8)

#####    🐞 Bug Fixes

- Add generic to expect.objectContaining type  -  by
[@&#8203;ArtyMaury](https://github.com/ArtyMaury) in
[https://github.com/vitest-dev/vitest/issues/3053](https://github.com/vitest-dev/vitest/issues/3053)
[<samp>(69d2c)</samp>](https://github.com/vitest-dev/vitest/commit/69d2cc93)
- Do not fail, when primitive error is thrown  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3074](https://github.com/vitest-dev/vitest/issues/3074)
[<samp>(6efe6)</samp>](https://github.com/vitest-dev/vitest/commit/6efe61ab)
- Handle cloning proxied classes w/ enumerable getters  -  by
[@&#8203;tgriesser](https://github.com/tgriesser) in
[https://github.com/vitest-dev/vitest/issues/3026](https://github.com/vitest-dev/vitest/issues/3026)
[<samp>(196a0)</samp>](https://github.com/vitest-dev/vitest/commit/196a067a)
- Spy on popup apis like alert  -  by
[@&#8203;Aslemammad](https://github.com/Aslemammad) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3076](https://github.com/vitest-dev/vitest/issues/3076)
[<samp>(280ad)</samp>](https://github.com/vitest-dev/vitest/commit/280ad1ed)
- Report coverage even when no tests found  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3091](https://github.com/vitest-dev/vitest/issues/3091)
[<samp>(2cb91)</samp>](https://github.com/vitest-dev/vitest/commit/2cb91211)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.7...v0.29.8)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.6...v0.29.7)

#####    🐞 Bug Fixes

- Import [@&#8203;vite/client](https://github.com/vite/client) in
browser code for handling optimizer  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va)
[<samp>(20c51)</samp>](https://github.com/vitest-dev/vitest/commit/20c510c4)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.6...v0.29.7)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.5...v0.29.6)

#####    🐞 Bug Fixes

- Bundle UI with
[@&#8203;vitest/browser](https://github.com/vitest/browser)  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va)
[<samp>(14091)</samp>](https://github.com/vitest-dev/vitest/commit/14091c59)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.5...v0.29.6)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.4...v0.29.5)

#####    🐞 Bug Fixes

- **browser**: Relax vitest peer dependency  -  by
[@&#8203;cexbrayat](https://github.com/cexbrayat) in
[https://github.com/vitest-dev/vitest/issues/3039](https://github.com/vitest-dev/vitest/issues/3039)
[<samp>(865d1)</samp>](https://github.com/vitest-dev/vitest/commit/865d1afd)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.4...v0.29.5)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.3...v0.29.4)

#####    🚀 Features

- `--test-timeout` CLI argument  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3019](https://github.com/vitest-dev/vitest/issues/3019)
[<samp>(63c62)</samp>](https://github.com/vitest-dev/vitest/commit/63c62f9e)
- Add an option to control Vitest pool with filepath  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3029](https://github.com/vitest-dev/vitest/issues/3029)
[<samp>(c7f0c)</samp>](https://github.com/vitest-dev/vitest/commit/c7f0c86b)
- Process timeout to log names of stuck test files  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3031](https://github.com/vitest-dev/vitest/issues/3031)
[<samp>(0ddf7)</samp>](https://github.com/vitest-dev/vitest/commit/0ddf7220)
- Support relative path in html report  -  by
[@&#8203;poyoho](https://github.com/poyoho) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2695](https://github.com/vitest-dev/vitest/issues/2695)
[<samp>(a7680)</samp>](https://github.com/vitest-dev/vitest/commit/a768015e)
- Webdriverio (+ custom providers) integration for browser mode  -  by
[@&#8203;Aslemammad](https://github.com/Aslemammad), **Christian
Bromann**, [@&#8203;sheremet-va](https://github.com/sheremet-va),
[@&#8203;userquin](https://github.com/userquin) and
[@&#8203;dammy001](https://github.com/dammy001) in
[https://github.com/vitest-dev/vitest/issues/2999](https://github.com/vitest-dev/vitest/issues/2999)
[<samp>(9cdc8)</samp>](https://github.com/vitest-dev/vitest/commit/9cdc8030)

#####    🐞 Bug Fixes

- Show correct line numbers in stack trace when using vi.resetModules()
 -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3020](https://github.com/vitest-dev/vitest/issues/3020)
[<samp>(35730)</samp>](https://github.com/vitest-dev/vitest/commit/35730328)
- Mocking value proxy filter Symbol static properties  -  by
[@&#8203;ChpShy](https://github.com/ChpShy) in
[https://github.com/vitest-dev/vitest/issues/3036](https://github.com/vitest-dev/vitest/issues/3036)
[<samp>(0cf44)</samp>](https://github.com/vitest-dev/vitest/commit/0cf44098)
- Escape XML in error stack trace when using junit reporter  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3038](https://github.com/vitest-dev/vitest/issues/3038)
[<samp>(cc577)</samp>](https://github.com/vitest-dev/vitest/commit/cc5779d6)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.3...v0.29.4)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.2...v0.29.3)

#####    🚀 Features

- Use custom colors implementation instead of picocolors  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va)
[<samp>(427b0)</samp>](https://github.com/vitest-dev/vitest/commit/427b0622)
- Uncaught errors to indicate env teardown  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2982](https://github.com/vitest-dev/vitest/issues/2982)
[<samp>(1fe82)</samp>](https://github.com/vitest-dev/vitest/commit/1fe8286c)
- **config**: Add an option to run setupFiles in sequence  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3008](https://github.com/vitest-dev/vitest/issues/3008)
[<samp>(c2e25)</samp>](https://github.com/vitest-dev/vitest/commit/c2e25bb9)

#####    🐞 Bug Fixes

- Console log not visible  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2943](https://github.com/vitest-dev/vitest/issues/2943)
[<samp>(02808)</samp>](https://github.com/vitest-dev/vitest/commit/0280825f)
- Remove duplicate execArgv when deps.registerNodeLoader: true  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2965](https://github.com/vitest-dev/vitest/issues/2965)
[<samp>(a1954)</samp>](https://github.com/vitest-dev/vitest/commit/a1954cc0)
- Prevent running test cases timers after environment teardown  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2971](https://github.com/vitest-dev/vitest/issues/2971)
[<samp>(bde75)</samp>](https://github.com/vitest-dev/vitest/commit/bde75a34)
- Don't mark setupFiles as test files, if experimentaOptimizer is used
 -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2974](https://github.com/vitest-dev/vitest/issues/2974)
[<samp>(819c6)</samp>](https://github.com/vitest-dev/vitest/commit/819c6cbe)
- Config errors not visible  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2995](https://github.com/vitest-dev/vitest/issues/2995)
[<samp>(f01c7)</samp>](https://github.com/vitest-dev/vitest/commit/f01c7833)
- \--inspect to work inside workers  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2983](https://github.com/vitest-dev/vitest/issues/2983)
[<samp>(36087)</samp>](https://github.com/vitest-dev/vitest/commit/36087d1e)
- **types**: Use `any` as default value for TArgs in vi.fn()  -  by
[@&#8203;jessevanassen](https://github.com/jessevanassen) in
[https://github.com/vitest-dev/vitest/issues/2947](https://github.com/vitest-dev/vitest/issues/2947)
[<samp>(1bdcc)</samp>](https://github.com/vitest-dev/vitest/commit/1bdcc212)

#####    🏎 Performance

- **reporters**: Overall improvements  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3006](https://github.com/vitest-dev/vitest/issues/3006)
[<samp>(22ca0)</samp>](https://github.com/vitest-dev/vitest/commit/22ca0b6b)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.2...v0.29.3)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.1...v0.29.2)

#####    🐞 Bug Fixes

- Optimize dependencies in setup files  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2935](https://github.com/vitest-dev/vitest/issues/2935)
[<samp>(c169f)</samp>](https://github.com/vitest-dev/vitest/commit/c169f980)
- **coverage**: C8 provider to work when isolate:false  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2929](https://github.com/vitest-dev/vitest/issues/2929)
[<samp>(86538)</samp>](https://github.com/vitest-dev/vitest/commit/8653830b)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.1...v0.29.2)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.0...v0.29.1)

#####    🐞 Bug Fixes

- Wait for optimized dependency to be bundled in non-pnpm package
managers  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va)
[<samp>(d2460)</samp>](https://github.com/vitest-dev/vitest/commit/d2460b7a)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.0...v0.29.1)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.28.5...v0.29.0)

This release makes some significant changes to how tests are running. If
you were using `--no-threads` before, you might consider enabling
`--single-thread` instead (because your tests are now running in
`child_process` instead of a worker thread) or try our new performance
optimization feature (discussed later). If you were relying on API that
was not available inside a worker (like `process.chdir()`, you can now
use this option.

One of the potential breaking bug fixes is that environments do not
share the same global scope anymore if you run them with `--no-isolate`,
`--no-threads` or `--single-thread` - you might need to update your
setup files if you were relying on a global variable before.

If you had performance issues on large code bases before, try the new
[`deps.experimentalOptimizer`](https://vitest.dev/config/#deps-experimentaloptimizer)
option instead of disabling threads. Feedback is welcome!

One of the breaking changes includes adding a link to snapshots inside
snapshot files, meaning you will need to update all your snapshots.

#####    🚨 Breaking Changes

- Vitest as peer dependency for coverage packages  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2836](https://github.com/vitest-dev/vitest/issues/2836)
[<samp>(94247)</samp>](https://github.com/vitest-dev/vitest/commit/94247f1b)
- Coverage-c8 to use V8 profiler directly instead of `NODE_V8_COVERAGE`
 -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2786](https://github.com/vitest-dev/vitest/issues/2786)
[<samp>(095c6)</samp>](https://github.com/vitest-dev/vitest/commit/095c6390)
- Add a link to the comment at the top of the snapshot file  -  by
[@&#8203;btea](https://github.com/btea) in
[https://github.com/vitest-dev/vitest/issues/2867](https://github.com/vitest-dev/vitest/issues/2867)
[<samp>(615e1)</samp>](https://github.com/vitest-dev/vitest/commit/615e150b)
- Always run separate environments in isolation  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2860](https://github.com/vitest-dev/vitest/issues/2860)
[<samp>(1f858)</samp>](https://github.com/vitest-dev/vitest/commit/1f858e0c)
- Tests with `node` and `jsdom` (and other environments) now don't share
the same global scope, if you run them with `--no-isolate` or
`--no-threads` flag. Vitest doesn't provide a way to restore the
previous behavior as it is considered a bug.
- Use child_process when --no-threads is used  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2772](https://github.com/vitest-dev/vitest/issues/2772)
[<samp>(7bf54)</samp>](https://github.com/vitest-dev/vitest/commit/7bf54505)
- Tests inside `chid_process` might run longer due to the communication
overhead. If you want to restore the previous behavior, use
`--single-thread`.

#####    🚀 Features

- Add test seed to banner  -  by
[@&#8203;btkostner](https://github.com/btkostner) in
[https://github.com/vitest-dev/vitest/issues/2877](https://github.com/vitest-dev/vitest/issues/2877)
[<samp>(bdb39)</samp>](https://github.com/vitest-dev/vitest/commit/bdb39569)
- Use custom source-map-support implementation  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2905](https://github.com/vitest-dev/vitest/issues/2905)
[<samp>(6ff6c)</samp>](https://github.com/vitest-dev/vitest/commit/6ff6c6eb)
- Add an option to enable Vite optimizer  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2912](https://github.com/vitest-dev/vitest/issues/2912)
[<samp>(af8de)</samp>](https://github.com/vitest-dev/vitest/commit/af8de362)
-   **coverage**:
- Add support for coverage reporter options  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2690](https://github.com/vitest-dev/vitest/issues/2690)
[<samp>(f8176)</samp>](https://github.com/vitest-dev/vitest/commit/f8176182)
- Automatic threshold updating  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2886](https://github.com/vitest-dev/vitest/issues/2886)
[<samp>(e1652)</samp>](https://github.com/vitest-dev/vitest/commit/e1652163)
-   **spy**:
- Implement mock.withImplementation API  -  by
[@&#8203;obadakhalili](https://github.com/obadakhalili) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2835](https://github.com/vitest-dev/vitest/issues/2835)
[<samp>(610b1)</samp>](https://github.com/vitest-dev/vitest/commit/610b1d46)
-   **vite-node**:
- Cli option for vite mode  -  by
[@&#8203;abarke](https://github.com/abarke) in
[https://github.com/vitest-dev/vitest/issues/2893](https://github.com/vitest-dev/vitest/issues/2893)
[<samp>(0fc08)</samp>](https://github.com/vitest-dev/vitest/commit/0fc08032)

#####    🐞 Bug Fixes

- Wait for console.log to print a message before terminating a worker
 -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2861](https://github.com/vitest-dev/vitest/issues/2861)
[<samp>(fbc54)</samp>](https://github.com/vitest-dev/vitest/commit/fbc54c91)
- Cleanup last mocked cache when call vi.doMock  -  by
[@&#8203;mysteryven](https://github.com/mysteryven) in
[https://github.com/vitest-dev/vitest/issues/2872](https://github.com/vitest-dev/vitest/issues/2872)
[<samp>(65d71)</samp>](https://github.com/vitest-dev/vitest/commit/65d71b9e)
- Reload changed configuration file on watch mode  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2889](https://github.com/vitest-dev/vitest/issues/2889)
[<samp>(4d277)</samp>](https://github.com/vitest-dev/vitest/commit/4d277d8d)
- **coverage**: Custom providers to work inside worker threads  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2817](https://github.com/vitest-dev/vitest/issues/2817)
[<samp>(81604)</samp>](https://github.com/vitest-dev/vitest/commit/81604bce)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.28.5...v0.29.0)

</details>

<details>
<summary>discordjs/discord-api-types</summary>

###
[`v0.37.37`](https://github.com/discordjs/discord-api-types/blob/HEAD/CHANGELOG.md#&#8203;03737-httpsgithubcomdiscordjsdiscord-api-typescompare0373603737-2023-03-23)

[Compare
Source](https://github.com/discordjs/discord-api-types/compare/0.37.36...0.37.37)

##### Bug Fixes

- add missing `RESTGetAPIWebhookWithTokenQuery`
([#&#8203;735](https://github.com/discordjs/discord-api-types/issues/735))
([2a78a51](https://github.com/discordjs/discord-api-types/commit/2a78a517d2a3511913a8b2b74bba942db097b577))

##### Features

- add various new flags
([#&#8203;733](https://github.com/discordjs/discord-api-types/issues/733))
([4723d29](https://github.com/discordjs/discord-api-types/commit/4723d29c9ee17c3efa8e8e86351754dee13428ef))
- **RESTGetAPICurrentUserGuildsQuery:** add `with_counts`
([#&#8203;641](https://github.com/discordjs/discord-api-types/issues/641))
([0cd9b0d](https://github.com/discordjs/discord-api-types/commit/0cd9b0debbf17f60267bf2f42349fcebea5bf588))
- **RESTPostAPIGuildChannelJSONBody:** add
`default_thread_rate_limit_per_user`
([#&#8203;730](https://github.com/discordjs/discord-api-types/issues/730))
([8f9370d](https://github.com/discordjs/discord-api-types/commit/8f9370d2592d6a450820bee52fe153eb00ba830f))

###
[`v0.37.36`](https://github.com/discordjs/discord-api-types/blob/HEAD/CHANGELOG.md#&#8203;03736-httpsgithubcomdiscordjsdiscord-api-typescompare0373503736-2023-03-13)

[Compare
Source](https://github.com/discordjs/discord-api-types/compare/0.37.35...0.37.36)

##### Features

- **AutoModeration:** add `custom_message` field support
([#&#8203;727](https://github.com/discordjs/discord-api-types/issues/727))
([0d47c69](https://github.com/discordjs/discord-api-types/commit/0d47c69ca80909205f14004aaf26645f367c06d0))

###
[`v0.37.35`](https://github.com/discordjs/discord-api-types/blob/HEAD/CHANGELOG.md#&#8203;03735-httpsgithubcomdiscordjsdiscord-api-typescompare0373403735-2023-02-17)

[Compare
Source](https://github.com/discordjs/discord-api-types/compare/0.37.34...0.37.35)

##### Bug Fixes

- `StageRaiseHand` should be unstable
([#&#8203;722](https://github.com/discordjs/discord-api-types/issues/722))
([85051ea](https://github.com/discordjs/discord-api-types/commit/85051eaab7e262b4f60e3f5565bf8a7a5225513e))

###
[`v0.37.34`](https://github.com/discordjs/discord-api-types/blob/HEAD/CHANGELOG.md#&#8203;03734-httpsgithubcomdiscordjsdiscord-api-typescompare0373303734-2023-02-16)

[Compare
Source](https://github.com/discordjs/discord-api-types/compare/0.37.33...0.37.34)

##### Bug Fixes

- **GuildSystemChannelFlags:** "suppress" typo
([#&#8203;719](https://github.com/discordjs/discord-api-types/issues/719))
([8d37bc5](https://github.com/discordjs/discord-api-types/commit/8d37bc5e30f76552bca402c858cc67bb8a5ddc9c))

##### Features

- add `managed` field to `ChannelType.GroupDM`
([#&#8203;698](https://github.com/discordjs/discord-api-types/issues/698))
([8477deb](https://github.com/discordjs/discord-api-types/commit/8477deb6a832b0c985fa0f6d1df4b99eaeab2a87))
- **CDNRoutes:** add `storePageAsset()`
([#&#8203;695](https://github.com/discordjs/discord-api-types/issues/695))
([4cf6fd2](https://github.com/discordjs/discord-api-types/commit/4cf6fd2cecd92a9c3ffa32368ccc7b1994295be3))
- **ConnectionService:** add `instagram`
([#&#8203;701](https://github.com/discordjs/discord-api-types/issues/701))
([c65e214](https://github.com/discordjs/discord-api-types/commit/c65e214fddeb3aa959034ac14de39edab38ff0f3))
- **RESTJSONErrorCodes:** add error `30011`
([#&#8203;697](https://github.com/discordjs/discord-api-types/issues/697))
([41b31eb](https://github.com/discordjs/discord-api-types/commit/41b31ebfd62a8dba32da1e748c49877924c0602d))
- **RESTJSONErrorCodes:** add error `30060`
([#&#8203;720](https://github.com/discordjs/discord-api-types/issues/720))
([20153f6](https://github.com/discordjs/discord-api-types/commit/20153f6fe24676d73bcb41e92c6d9d52961f1f73))
- **RESTJSONErrorCodes:** add error `30061`
([#&#8203;717](https://github.com/discordjs/discord-api-types/issues/717))
([d609efc](https://github.com/discordjs/discord-api-types/commit/d609efc746df620925237575dd24fd0f38213f09))

###
[`v0.37.33`](https://github.com/discordjs/discord-api-types/blob/HEAD/CHANGELOG.md#&#8203;03733-httpsgithubcomdiscordjsdiscord-api-typescompare0373203733-2023-02-11)

[Compare
Source](https://github.com/discordjs/discord-api-types/compare/0.37.32...0.37.33)

##### Bug Fixes

- **GatewayDispatchPayload:** add missing GuildAuditLogEntry
([#&#8203;715](https://github.com/discordjs/discord-api-types/issues/715))
([602c16e](https://github.com/discordjs/discord-api-types/commit/602c16eee12e85a8052f40c695314a42b1d15979))

###
[`v0.37.32`](https://github.com/discordjs/discord-api-types/blob/HEAD/CHANGELOG.md#&#8203;03732-httpsgithubcomdiscordjsdiscord-api-typescompare0373103732-2023-02-09)

[Compare
Source](https://github.com/discordjs/discord-api-types/compare/0.37.31...0.37.32)

##### Features

- **MessageType:** add `SuppressNotifications`
([#&#8203;710](https://github.com/discordjs/discord-api-types/issues/710))
([b14aea6](https://github.com/discordjs/discord-api-types/commit/b14aea65f886db047ea9fcbd1b8f49f1bc38f594))

###
[`v0.37.31`](https://github.com/discordjs/discord-api-types/blob/HEAD/CHANGELOG.md#&#8203;03731-httpsgithubcomdiscordjsdiscord-api-typescompare0373003731-2023-01-30)

[Compare
Source](https://github.com/discordjs/discord-api-types/compare/0.37.30...0.37.31)

###
[`v0.37.30`](https://github.com/discordjs/discord-api-types/blob/HEAD/CHANGELOG.md#&#8203;03730-httpsgithubcomdiscordjsdiscord-api-typescompare0372903730-2023-01-26)

[Compare
Source](https://github.com/discordjs/discord-api-types/compare/0.37.29...0.37.30)

##### Features

- **APIGuildMember:** add support for guild member flags
([#&#8203;700](https://github.com/discordjs/discord-api-types/issues/700))
([e902671](https://github.com/discordjs/discord-api-types/commit/e902671411b518504b9adc6b0d7310501fd531ad))
- **GatewayDispatchEvents:** add `GuildAuditLogEntryCreate`
([#&#8203;692](https://github.com/discordjs/discord-api-types/issues/692))
([31ca234](https://github.com/discordjs/discord-api-types/commit/31ca234decd6d62b503aadd88111a2af3778f455))

###
[`v0.37.29`](https://github.com/discordjs/discord-api-types/blob/HEAD/CHANGELOG.md#&#8203;03729-httpsgithubcomdiscordjsdiscord-api-typescompare0372803729-2023-01-23)

[Compare
Source](https://github.com/discordjs/discord-api-types/compare/0.37.28...0.37.29)

</details>

<details>
<summary>discordjs/discord.js</summary>

###
[`v14.8.0`](https://github.com/discordjs/discord.js/releases/tag/14.8.0)

[Compare
Source](https://github.com/discordjs/discord.js/compare/14.7.1...14.8.0)

#### Bug Fixes

- **snowflake:** Snowflakes length
([#&#8203;9144](https://github.com/discordjs/discord.js/issues/9144))
([955e8fe](https://github.com/discordjs/discord.js/commit/955e8fe312c42ad4937cc1994d1d81e517c413c8))
- **Actions:** Inject built data by using a symbol
([#&#8203;9203](https://github.com/discordjs/discord.js/issues/9203))
([a63ac88](https://github.com/discordjs/discord.js/commit/a63ac88fcca5b61209892a6e560e35d58f5adc3b))
- **Message#deletable:** Add check for deletable message types
([#&#8203;9168](https://github.com/discordjs/discord.js/issues/9168))
([e78b8ad](https://github.com/discordjs/discord.js/commit/e78b8ad3fb6692cba2c565b508254c723f185f0c))
- **Message:** `bulkDeletable` permissions should be retrieved later for
DMs
([#&#8203;9146](https://github.com/discordjs/discord.js/issues/9146))
([a9495bd](https://github.com/discordjs/discord.js/commit/a9495bd8f014c8021a214b83ffc531a2af5defef))
- **AutoModerationActionExecution:** Transform `action`
([#&#8203;9111](https://github.com/discordjs/discord.js/issues/9111))
([9156a28](https://github.com/discordjs/discord.js/commit/9156a2889cd0946dfd0b30a5f8365abfbc377b3d))
- **MessageReaction:** `toJSON()` infinite recursion
([#&#8203;9070](https://github.com/discordjs/discord.js/issues/9070))
([f268e1d](https://github.com/discordjs/discord.js/commit/f268e1d9798744e169ae87089ea2e1f214364d95))
- **ThreadChannel:** Insert starter message from threads created in
forum channels
([#&#8203;9100](https://github.com/discordjs/discord.js/issues/9100))
([0b76ab4](https://github.com/discordjs/discord.js/commit/0b76ab4c403dd646c71482856ab993b263b7c474))
- **ApplicationRoleConnectionMetadata:** Export the class correctly
([#&#8203;9076](https://github.com/discordjs/discord.js/issues/9076))
([071516c](https://github.com/discordjs/discord.js/commit/071516c35239bd4e1cae572c855d86b335c8536d))
- Don't auth for interaction `showModal()`
([#&#8203;9046](https://github.com/discordjs/discord.js/issues/9046))
([b803a9a](https://github.com/discordjs/discord.js/commit/b803a9a899aaa75a3ea2bc6623c6afb28f495e8c))
- **WebSocketShard:** Zombie connection fix
([#&#8203;8989](https://github.com/discordjs/discord.js/issues/8989))
([876b181](https://github.com/discordjs/discord.js/commit/876b1813128ec702d3ef1e7b0074a4613e88c332))
- Keep other properties in triggerMetadata
([#&#8203;8977](https://github.com/discordjs/discord.js/issues/8977))
([d8dd197](https://github.com/discordjs/discord.js/commit/d8dd197a936dfffc05f9e5bc3184ec9022c56b51))
- **escapeX:** Emojis with underlines
([#&#8203;8945](https://github.com/discordjs/discord.js/issues/8945))
([07b597d](https://github.com/discordjs/discord.js/commit/07b597df16b9412c23ec2387d54564e4d1bcf7ed))
- **WebSocketShard:** Either start close timeout or emit destroyed but
never both
([#&#8203;8956](https://github.com/discordjs/discord.js/issues/8956))
([43ce2a5](https://github.com/discordjs/discord.js/commit/43ce2a572eb8977b6994680171ac0c5f9bda1703))
- **DMChannel:** `recipientId` edge case
([#&#8203;8950](https://github.com/discordjs/discord.js/issues/8950))
([7ce9909](https://github.com/discordjs/discord.js/commit/7ce990954e2f73d7a996df0afa42ab287cb12514))
- Return only boolean for `disabled`
([#&#8203;8965](https://github.com/discordjs/discord.js/issues/8965))
([6614603](https://github.com/discordjs/discord.js/commit/66146033268a4db1279b2eaee4bd418f326c0d4b))
- Export missing `escapeX()` functions
([#&#8203;8944](https://github.com/discordjs/discord.js/issues/8944))
([25c27ea](https://github.com/discordjs/discord.js/commit/25c27eac1417e75c9b601b17cf177b1f47b699a9))
- **WebSocketShard:** Only cleanup the connection if a connection still
exists
([#&#8203;8946](https://github.com/discordjs/discord.js/issues/8946))
([5eab5fc](https://github.com/discordjs/discord.js/commit/5eab5fc06ca6be36ecf1557f2ad29a670d4d5ae7))
- Add `@discordjs/formatters` to dependency list
([#&#8203;8939](https://github.com/discordjs/discord.js/issues/8939))
([18b3a19](https://github.com/discordjs/discord.js/commit/18b3a19810a6436fa8bb4b490ec5137eaecbd465))
- **resolveColor:** Invalid colors
([#&#8203;8933](https://github.com/discordjs/discord.js/issues/8933))
([c76e170](https://github.com/discordjs/discord.js/commit/c76e17078602914c3e1d227a3acc98eaa99c18d4))
- **WebSocketShard:** Clear listeners on reconnect
([#&#8203;8927](https://github.com/discordjs/discord.js/issues/8927))
([aa8c57d](https://github.com/discordjs/discord.js/commit/aa8c57dab60104549e28451abf35c0387595d67e))
- Re-export formatters
([#&#8203;8909](https://github.com/discordjs/discord.js/issues/8909))
([b14604a](https://github.com/discordjs/discord.js/commit/b14604abdecca575b1fca693c1593e3585bcca8c))

#### Documentation

- **MessageManager:** Add clarification to fetch messages
([#&#8203;9222](https://github.com/discordjs/discord.js/issues/9222))
([f5ec1ca](https://github.com/discordjs/discord.js/commit/f5ec1cada5ebf0ca4093bdfc81aaf56900c794ef))
- Make interactionResponse as optional
([#&#8203;9179](https://github.com/discordjs/discord.js/issues/9179))
([664cccb](https://github.com/discordjs/discord.js/commit/664cccb2706db33635aa2556954de57f93b3d3db))
- Fix typos
([#&#8203;9127](https://github.com/discordjs/discord.js/issues/9127))
([1ba1f23](https://github.com/discordjs/discord.js/commit/1ba1f238f04221ec890fc921678909b5b7d92c26))
- **chatInputApplicationCommandMention:** Parameters are not nullable
([#&#8203;9091](https://github.com/discordjs/discord.js/issues/9091))
([6f78e82](https://github.com/discordjs/discord.js/commit/6f78e8285b3ce762de010e68d49b377a47dc5a63))
- No `@type` description and reveal info block
([#&#8203;9097](https://github.com/discordjs/discord.js/issues/9097))
([405f940](https://github.com/discordjs/discord.js/commit/405f9400e8e3ffea9f3847ab5abb431a34538a96))
- **ThreadEditOptions:** Move info tag back to `invitable`
([#&#8203;9020](https://github.com/discordjs/discord.js/issues/9020))
([f3fe3ce](https://github.com/discordjs/discord.js/commit/f3fe3ced622676b406a62b43f085aedde7a621aa))
- Fix a typo in the MentionableSelectMenuInteraction link
([#&#8203;9000](https://github.com/discordjs/discord.js/issues/9000))
([6d7a143](https://github.com/discordjs/discord.js/commit/6d7a143667f33ef2ea45d8016ac4738237707881))
- **ApplicationRoleConnectionMetadata:** Add documentation
([#&#8203;8976](https://github.com/discordjs/discord.js/issues/8976))
([2e22b31](https://github.com/discordjs/discord.js/commit/2e22b31892d9b858fcb24fa580b486b4154e823f))
- Fix malformed overridden documentation
([#&#8203;8954](https://github.com/discordjs/discord.js/issues/8954))
([0b8b114](https://github.com/discordjs/discord.js/commit/0b8b114761f961a2bf8e5aae342ed711b154a89e))
- **GuildForumThreadManager:** Fix `sticker` type
([#&#8203;8940](https://github.com/discordjs/discord.js/issues/8940))
([dd62be0](https://github.com/discordjs/discord.js/commit/dd62be077d3e4fbd73a0c10ca344d93d3d19fa38))
- Fix deprecated links
([#&#8203;8907](https://github.com/discordjs/discord.js/issues/8907))
([976b234](https://github.com/discordjs/discord.js/commit/976b234e9dc9999e5dee47b58c85afbc1cd494c2))
- **UserFlagsBitField:** Make `.Flags` static
([#&#8203;8902](https://github.com/discordjs/discord.js/issues/8902))
([c48ff5e](https://github.com/discordjs/discord.js/commit/c48ff5e4205899e3b6cd35812ca857236bef6864))

#### Features

- **Collector:** Add lastCollectedTimestamp
([#&#8203;9044](https://github.com/discordjs/discord.js/issues/9044))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 10am on Saturday" (UTC),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/KBot-discord/plugins).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC44NC4yIiwidXBkYXRlZEluVmVyIjoiMzUuMjMuMyJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
kodiakhq bot referenced this pull request in mheob/changeset-changelog Apr 9, 2023
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@changesets/cli](https://github.com/changesets/changesets/tree/main#readme) ([source](https://github.com/changesets/changesets)) | [`^2.26.0` -> `^2.26.1`](https://renovatebot.com/diffs/npm/@changesets%2fcli/2.26.0/2.26.1) | [![age](https://badges.renovateapi.com/packages/npm/@changesets%2fcli/2.26.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@changesets%2fcli/2.26.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@changesets%2fcli/2.26.1/compatibility-slim/2.26.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@changesets%2fcli/2.26.1/confidence-slim/2.26.0)](https://docs.renovatebot.com/merge-confidence/) |
| [@commitlint/cli](https://commitlint.js.org/) ([source](https://github.com/conventional-changelog/commitlint)) | [`^17.3.0` -> `^17.5.0`](https://renovatebot.com/diffs/npm/@commitlint%2fcli/17.3.0/17.5.0) | [![age](https://badges.renovateapi.com/packages/npm/@commitlint%2fcli/17.5.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@commitlint%2fcli/17.5.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@commitlint%2fcli/17.5.0/compatibility-slim/17.3.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@commitlint%2fcli/17.5.0/confidence-slim/17.3.0)](https://docs.renovatebot.com/merge-confidence/) |
| [@commitlint/config-conventional](https://commitlint.js.org/) ([source](https://github.com/conventional-changelog/commitlint)) | [`^17.3.0` -> `^17.4.4`](https://renovatebot.com/diffs/npm/@commitlint%2fconfig-conventional/17.3.0/17.4.4) | [![age](https://badges.renovateapi.com/packages/npm/@commitlint%2fconfig-conventional/17.4.4/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@commitlint%2fconfig-conventional/17.4.4/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@commitlint%2fconfig-conventional/17.4.4/compatibility-slim/17.3.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@commitlint%2fconfig-conventional/17.4.4/confidence-slim/17.3.0)](https://docs.renovatebot.com/merge-confidence/) |
| [@mheob/eslint-config](https://github.com/mheob/config/tree/main/packages/eslint-config) ([source](https://github.com/mheob/config)) | [`^4.0.0` -> `^4.2.1`](https://renovatebot.com/diffs/npm/@mheob%2feslint-config/4.0.0/4.2.1) | [![age](https://badges.renovateapi.com/packages/npm/@mheob%2feslint-config/4.2.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mheob%2feslint-config/4.2.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mheob%2feslint-config/4.2.1/compatibility-slim/4.0.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mheob%2feslint-config/4.2.1/confidence-slim/4.0.0)](https://docs.renovatebot.com/merge-confidence/) |
| [@mheob/prettier-config](https://github.com/mheob/config/tree/main/packages/prettier-config) ([source](https://github.com/mheob/config)) | [`^3.0.0` -> `^3.0.1`](https://renovatebot.com/diffs/npm/@mheob%2fprettier-config/3.0.0/3.0.1) | [![age](https://badges.renovateapi.com/packages/npm/@mheob%2fprettier-config/3.0.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@mheob%2fprettier-config/3.0.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@mheob%2fprettier-config/3.0.1/compatibility-slim/3.0.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@mheob%2fprettier-config/3.0.1/confidence-slim/3.0.0)](https://docs.renovatebot.com/merge-confidence/) |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | [`^18.11.18` -> `^18.15.9`](https://renovatebot.com/diffs/npm/@types%2fnode/18.11.18/18.15.9) | [![age](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.9/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.9/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.9/compatibility-slim/18.11.18)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@types%2fnode/18.15.9/confidence-slim/18.11.18)](https://docs.renovatebot.com/merge-confidence/) |
| [@vitest/coverage-istanbul](https://github.com/vitest-dev/vitest) | [`^0.26.3` -> `^0.29.7`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/0.26.3/0.29.7) | [![age](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-istanbul/0.29.7/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-istanbul/0.29.7/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-istanbul/0.29.7/compatibility-slim/0.26.3)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-istanbul/0.29.7/confidence-slim/0.26.3)](https://docs.renovatebot.com/merge-confidence/) |
| [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | [`^8.31.0` -> `^8.36.0`](https://renovatebot.com/diffs/npm/eslint/8.31.0/8.36.0) | [![age](https://badges.renovateapi.com/packages/npm/eslint/8.36.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/eslint/8.36.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/eslint/8.36.0/compatibility-slim/8.31.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/eslint/8.36.0/confidence-slim/8.31.0)](https://docs.renovatebot.com/merge-confidence/) |
| [lint-staged](https://github.com/okonet/lint-staged) | [`^13.1.0` -> `^13.2.0`](https://renovatebot.com/diffs/npm/lint-staged/13.1.0/13.2.0) | [![age](https://badges.renovateapi.com/packages/npm/lint-staged/13.2.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/lint-staged/13.2.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/lint-staged/13.2.0/compatibility-slim/13.1.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/lint-staged/13.2.0/confidence-slim/13.1.0)](https://docs.renovatebot.com/merge-confidence/) |
| [tsup](https://tsup.egoist.dev/) ([source](https://github.com/egoist/tsup)) | [`^6.5.0` -> `^6.7.0`](https://renovatebot.com/diffs/npm/tsup/6.5.0/6.7.0) | [![age](https://badges.renovateapi.com/packages/npm/tsup/6.7.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/tsup/6.7.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/tsup/6.7.0/compatibility-slim/6.5.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/tsup/6.7.0/confidence-slim/6.5.0)](https://docs.renovatebot.com/merge-confidence/) |
| [typescript](https://www.typescriptlang.org/) ([source](https://github.com/Microsoft/TypeScript)) | [`^4.9.4` -> `^4.9.5`](https://renovatebot.com/diffs/npm/typescript/4.9.4/4.9.5) | [![age](https://badges.renovateapi.com/packages/npm/typescript/4.9.5/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/typescript/4.9.5/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/typescript/4.9.5/compatibility-slim/4.9.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/typescript/4.9.5/confidence-slim/4.9.4)](https://docs.renovatebot.com/merge-confidence/) |
| [vite](https://github.com/vitejs/vite/tree/main/#readme) ([source](https://github.com/vitejs/vite)) | [`^4.0.4` -> `^4.2.1`](https://renovatebot.com/diffs/npm/vite/4.0.4/4.2.1) | [![age](https://badges.renovateapi.com/packages/npm/vite/4.2.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/vite/4.2.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/vite/4.2.1/compatibility-slim/4.0.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/vite/4.2.1/confidence-slim/4.0.4)](https://docs.renovatebot.com/merge-confidence/) |
| [vitest](https://github.com/vitest-dev/vitest) | [`^0.26.3` -> `^0.29.7`](https://renovatebot.com/diffs/npm/vitest/0.26.3/0.29.7) | [![age](https://badges.renovateapi.com/packages/npm/vitest/0.29.7/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/vitest/0.29.7/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/vitest/0.29.7/compatibility-slim/0.26.3)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/vitest/0.29.7/confidence-slim/0.26.3)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>changesets/changesets</summary>

### [`v2.26.1`](https://github.com/changesets/changesets/releases/tag/%40changesets/cli%402.26.1)

[Compare Source](https://github.com/changesets/changesets/compare/@changesets/cli@2.26.0...@changesets/cli@2.26.1)

##### Patch Changes

-   [#&#8203;1115](https://github.com/changesets/changesets/pull/1115) [`feddc88`](https://github.com/changesets/changesets/commit/feddc88d74781a448855a5a0b0ffa50917489b15) Thanks [@&#8203;Andarist](https://github.com/Andarist)! - Call `pnpm publish` directly from the directory of the published package. This allows `pnpm` to correctly handle configured `publishConfig.directory`.

</details>

<details>
<summary>conventional-changelog/commitlint (@&#8203;commitlint/cli)</summary>

### [`v17.5.0`](https://github.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;commitlint/cli/CHANGELOG.md#&#8203;1750-httpsgithubcomconventional-changelogcommitlintcomparev1744v1750-2023-03-22)

[Compare Source](https://github.com/conventional-changelog/commitlint/compare/v17.4.4...v17.5.0)

**Note:** Version bump only for package [@&#8203;commitlint/cli](https://github.com/commitlint/cli)

#### [17.4.4](https://github.com/conventional-changelog/commitlint/compare/v17.4.3...v17.4.4) (2023-02-17)

**Note:** Version bump only for package [@&#8203;commitlint/cli](https://github.com/commitlint/cli)

#### [17.4.3](https://github.com/conventional-changelog/commitlint/compare/v17.4.2...v17.4.3) (2023-02-13)

**Note:** Version bump only for package [@&#8203;commitlint/cli](https://github.com/commitlint/cli)

#### [17.4.2](https://github.com/conventional-changelog/commitlint/compare/v17.4.1...v17.4.2) (2023-01-12)

**Note:** Version bump only for package [@&#8203;commitlint/cli](https://github.com/commitlint/cli)

#### [17.4.1](https://github.com/conventional-changelog/commitlint/compare/v17.4.0...v17.4.1) (2023-01-09)

**Note:** Version bump only for package [@&#8203;commitlint/cli](https://github.com/commitlint/cli)

### [`v17.4.4`](https://github.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;commitlint/cli/CHANGELOG.md#&#8203;1744-httpsgithubcomconventional-changelogcommitlintcomparev1743v1744-2023-02-17)

[Compare Source](https://github.com/conventional-changelog/commitlint/compare/v17.4.3...v17.4.4)

**Note:** Version bump only for package [@&#8203;commitlint/cli](https://github.com/commitlint/cli)

### [`v17.4.3`](https://github.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;commitlint/cli/CHANGELOG.md#&#8203;1743-httpsgithubcomconventional-changelogcommitlintcomparev1742v1743-2023-02-13)

[Compare Source](https://github.com/conventional-changelog/commitlint/compare/v17.4.2...v17.4.3)

**Note:** Version bump only for package [@&#8203;commitlint/cli](https://github.com/commitlint/cli)

### [`v17.4.2`](https://github.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;commitlint/cli/CHANGELOG.md#&#8203;1742-httpsgithubcomconventional-changelogcommitlintcomparev1741v1742-2023-01-12)

[Compare Source](https://github.com/conventional-changelog/commitlint/compare/v17.4.1...v17.4.2)

**Note:** Version bump only for package [@&#8203;commitlint/cli](https://github.com/commitlint/cli)

### [`v17.4.1`](https://github.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;commitlint/cli/CHANGELOG.md#&#8203;1741-httpsgithubcomconventional-changelogcommitlintcomparev1740v1741-2023-01-09)

[Compare Source](https://github.com/conventional-changelog/commitlint/compare/v17.4.0...v17.4.1)

**Note:** Version bump only for package [@&#8203;commitlint/cli](https://github.com/commitlint/cli)

### [`v17.4.0`](https://github.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;commitlint/cli/CHANGELOG.md#&#8203;1740-httpsgithubcomconventional-changelogcommitlintcomparev1730v1740-2023-01-04)

[Compare Source](https://github.com/conventional-changelog/commitlint/compare/v17.3.0...v17.4.0)

##### Bug Fixes

-   update dependency fs-extra to v11 ([#&#8203;3460](https://github.com/conventional-changelog/commitlint/issues/3460)) ([a437923](https://github.com/conventional-changelog/commitlint/commit/a43792388e0d9707da770b26592c5e31553384a1))

</details>

<details>
<summary>conventional-changelog/commitlint (@&#8203;commitlint/config-conventional)</summary>

### [`v17.4.4`](https://github.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;commitlint/config-conventional/CHANGELOG.md#&#8203;1744-httpsgithubcomconventional-changelogcommitlintcomparev1743v1744-2023-02-17)

[Compare Source](https://github.com/conventional-changelog/commitlint/compare/v17.4.3...v17.4.4)

**Note:** Version bump only for package [@&#8203;commitlint/config-conventional](https://github.com/commitlint/config-conventional)

### [`v17.4.3`](https://github.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;commitlint/config-conventional/CHANGELOG.md#&#8203;1743-httpsgithubcomconventional-changelogcommitlintcomparev1742v1743-2023-02-13)

[Compare Source](https://github.com/conventional-changelog/commitlint/compare/v17.4.2...v17.4.3)

**Note:** Version bump only for package [@&#8203;commitlint/config-conventional](https://github.com/commitlint/config-conventional)

### [`v17.4.2`](https://github.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;commitlint/config-conventional/CHANGELOG.md#&#8203;1742-httpsgithubcomconventional-changelogcommitlintcomparev1741v1742-2023-01-12)

[Compare Source](https://github.com/conventional-changelog/commitlint/compare/v17.4.0...v17.4.2)

**Note:** Version bump only for package [@&#8203;commitlint/config-conventional](https://github.com/commitlint/config-conventional)

### [`v17.4.0`](https://github.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;commitlint/config-conventional/CHANGELOG.md#&#8203;1740-httpsgithubcomconventional-changelogcommitlintcomparev1730v1740-2023-01-04)

[Compare Source](https://github.com/conventional-changelog/commitlint/compare/v17.3.0...v17.4.0)

**Note:** Version bump only for package [@&#8203;commitlint/config-conventional](https://github.com/commitlint/config-conventional)

</details>

<details>
<summary>mheob/config</summary>

### [`v4.2.1`](https://github.com/mheob/config/releases/tag/%40mheob/eslint-config%404.2.1)

[Compare Source](https://github.com/mheob/config/compare/@mheob/eslint-config@4.2.0...@mheob/eslint-config@4.2.1)

##### Patch Changes

-   update dependencies --> ([#&#8203;121](https://github.com/mheob/config/pull/121)) by
    [@&#8203;mheob](https://github.com/mheob)

### [`v4.2.0`](https://github.com/mheob/config/releases/tag/%40mheob/eslint-config%404.2.0)

[Compare Source](https://github.com/mheob/config/compare/@mheob/eslint-config@4.1.0...@mheob/eslint-config@4.2.0)

##### Minor Changes

-   remove explicit return rule --> ([#&#8203;113](https://github.com/mheob/config/pull/113)) by
    [@&#8203;mheob](https://github.com/mheob)

-   move `explicit-function-return-type` rule to base config -->
    ([#&#8203;116](https://github.com/mheob/config/pull/116)) by [@&#8203;mheob](https://github.com/mheob)

##### Patch Changes

-   update dependencies --> ([#&#8203;112](https://github.com/mheob/config/pull/112)) by
    [@&#8203;mheob](https://github.com/mheob)

-   fix the README files after the change of using ESLint to fix the imports -->
    ([#&#8203;109](https://github.com/mheob/config/pull/109)) by [@&#8203;mheob](https://github.com/mheob)

### [`v4.1.0`](https://github.com/mheob/config/releases/tag/%40mheob/eslint-config%404.1.0)

[Compare Source](https://github.com/mheob/config/compare/@mheob/eslint-config@4.0.0...@mheob/eslint-config@4.1.0)

##### Minor Changes

-   add auto-fix for unused imports and vars --> ([#&#8203;106](https://github.com/mheob/config/pull/106)) by [@&#8203;mheob](https://github.com/mheob)

##### Patch Changes

-   bump `eslint-config-next` to `13.1.0` --> ([#&#8203;106](https://github.com/mheob/config/pull/106)) by [@&#8203;mheob](https://github.com/mheob)

</details>

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

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

[Compare Source](https://github.com/vitest-dev/vitest/compare/v0.29.6...v0.29.7)

#####    🐞 Bug Fixes

-   Import [@&#8203;vite/client](https://github.com/vite/client) in browser code for handling optimizer  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) [<samp>(20c51)</samp>](https://github.com/vitest-dev/vitest/commit/20c510c4)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.6...v0.29.7)

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

[Compare Source](https://github.com/vitest-dev/vitest/compare/v0.29.5...v0.29.6)

#####    🐞 Bug Fixes

-   Bundle UI with [@&#8203;vitest/browser](https://github.com/vitest/browser)  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) [<samp>(14091)</samp>](https://github.com/vitest-dev/vitest/commit/14091c59)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.5...v0.29.6)

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

[Compare Source](https://github.com/vitest-dev/vitest/compare/v0.29.4...v0.29.5)

#####    🐞 Bug Fixes

-   **browser**: Relax vitest peer dependency  -  by [@&#8203;cexbrayat](https://github.com/cexbrayat) in [https://github.com/vitest-dev/vitest/issues/3039](https://github.com/vitest-dev/vitest/issues/3039) [<samp>(865d1)</samp>](https://github.com/vitest-dev/vitest/commit/865d1afd)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.4...v0.29.5)

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

[Compare Source](https://github.com/vitest-dev/vitest/compare/v0.29.3...v0.29.4)

#####    🚀 Features

-   `--test-timeout` CLI argument  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/3019](https://github.com/vitest-dev/vitest/issues/3019) [<samp>(63c62)</samp>](https://github.com/vitest-dev/vitest/commit/63c62f9e)
-   Add an option to control Vitest pool with filepath  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3029](https://github.com/vitest-dev/vitest/issues/3029) [<samp>(c7f0c)</samp>](https://github.com/vitest-dev/vitest/commit/c7f0c86b)
-   Process timeout to log names of stuck test files  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/3031](https://github.com/vitest-dev/vitest/issues/3031) [<samp>(0ddf7)</samp>](https://github.com/vitest-dev/vitest/commit/0ddf7220)
-   Support relative path in html report  -  by [@&#8203;poyoho](https://github.com/poyoho) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2695](https://github.com/vitest-dev/vitest/issues/2695) [<samp>(a7680)</samp>](https://github.com/vitest-dev/vitest/commit/a768015e)
-   Webdriverio (+ custom providers) integration for browser mode  -  by [@&#8203;Aslemammad](https://github.com/Aslemammad), **Christian Bromann**, [@&#8203;sheremet-va](https://github.com/sheremet-va), [@&#8203;userquin](https://github.com/userquin) and [@&#8203;dammy001](https://github.com/dammy001) in [https://github.com/vitest-dev/vitest/issues/2999](https://github.com/vitest-dev/vitest/issues/2999) [<samp>(9cdc8)</samp>](https://github.com/vitest-dev/vitest/commit/9cdc8030)

#####    🐞 Bug Fixes

-   Show correct line numbers in stack trace when using vi.resetModules()  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3020](https://github.com/vitest-dev/vitest/issues/3020) [<samp>(35730)</samp>](https://github.com/vitest-dev/vitest/commit/35730328)
-   Mocking value proxy filter Symbol static properties  -  by [@&#8203;ChpShy](https://github.com/ChpShy) in [https://github.com/vitest-dev/vitest/issues/3036](https://github.com/vitest-dev/vitest/issues/3036) [<samp>(0cf44)</samp>](https://github.com/vitest-dev/vitest/commit/0cf44098)
-   Escape XML in error stack trace when using junit reporter  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3038](https://github.com/vitest-dev/vitest/issues/3038) [<samp>(cc577)</samp>](https://github.com/vitest-dev/vitest/commit/cc5779d6)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.3...v0.29.4)

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

[Compare Source](https://github.com/vitest-dev/vitest/compare/v0.29.2...v0.29.3)

#####    🚀 Features

-   Use custom colors implementation instead of picocolors  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) [<samp>(427b0)</samp>](https://github.com/vitest-dev/vitest/commit/427b0622)
-   Uncaught errors to indicate env teardown  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2982](https://github.com/vitest-dev/vitest/issues/2982) [<samp>(1fe82)</samp>](https://github.com/vitest-dev/vitest/commit/1fe8286c)
-   **config**: Add an option to run setupFiles in sequence  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/3008](https://github.com/vitest-dev/vitest/issues/3008) [<samp>(c2e25)</samp>](https://github.com/vitest-dev/vitest/commit/c2e25bb9)

#####    🐞 Bug Fixes

-   Console log not visible  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2943](https://github.com/vitest-dev/vitest/issues/2943) [<samp>(02808)</samp>](https://github.com/vitest-dev/vitest/commit/0280825f)
-   Remove duplicate execArgv when deps.registerNodeLoader: true  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2965](https://github.com/vitest-dev/vitest/issues/2965) [<samp>(a1954)</samp>](https://github.com/vitest-dev/vitest/commit/a1954cc0)
-   Prevent running test cases timers after environment teardown  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2971](https://github.com/vitest-dev/vitest/issues/2971) [<samp>(bde75)</samp>](https://github.com/vitest-dev/vitest/commit/bde75a34)
-   Don't mark setupFiles as test files, if experimentaOptimizer is used  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2974](https://github.com/vitest-dev/vitest/issues/2974) [<samp>(819c6)</samp>](https://github.com/vitest-dev/vitest/commit/819c6cbe)
-   Config errors not visible  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2995](https://github.com/vitest-dev/vitest/issues/2995) [<samp>(f01c7)</samp>](https://github.com/vitest-dev/vitest/commit/f01c7833)
-   \--inspect to work inside workers  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2983](https://github.com/vitest-dev/vitest/issues/2983) [<samp>(36087)</samp>](https://github.com/vitest-dev/vitest/commit/36087d1e)
-   **types**: Use `any` as default value for TArgs in vi.fn()  -  by [@&#8203;jessevanassen](https://github.com/jessevanassen) in [https://github.com/vitest-dev/vitest/issues/2947](https://github.com/vitest-dev/vitest/issues/2947) [<samp>(1bdcc)</samp>](https://github.com/vitest-dev/vitest/commit/1bdcc212)

#####    🏎 Performance

-   **reporters**: Overall improvements  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/3006](https://github.com/vitest-dev/vitest/issues/3006) [<samp>(22ca0)</samp>](https://github.com/vitest-dev/vitest/commit/22ca0b6b)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.2...v0.29.3)

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

[Compare Source](https://github.com/vitest-dev/vitest/compare/v0.29.1...v0.29.2)

#####    🐞 Bug Fixes

-   Optimize dependencies in setup files  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2935](https://github.com/vitest-dev/vitest/issues/2935) [<samp>(c169f)</samp>](https://github.com/vitest-dev/vitest/commit/c169f980)
-   **coverage**: C8 provider to work when isolate:false  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2929](https://github.com/vitest-dev/vitest/issues/2929) [<samp>(86538)</samp>](https://github.com/vitest-dev/vitest/commit/8653830b)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.1...v0.29.2)

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

[Compare Source](https://github.com/vitest-dev/vitest/compare/v0.29.0...v0.29.1)

#####    🐞 Bug Fixes

-   Wait for optimized dependency to be bundled in non-pnpm package managers  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) [<samp>(d2460)</samp>](https://github.com/vitest-dev/vitest/commit/d2460b7a)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.0...v0.29.1)

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

[Compare Source](https://github.com/vitest-dev/vitest/compare/v0.28.5...v0.29.0)

This release makes some significant changes to how tests are running. If you were using `--no-threads` before, you might consider enabling `--single-thread` instead (because your tests are now running in `child_process` instead of a worker thread) or try our new performance optimization feature (discussed later). If you were relying on API that was not available inside a worker (like `process.chdir()`, you can now use this option.

One of the potential breaking bug fixes is that environments do not share the same global scope anymore if you run them with `--no-isolate`, `--no-threads` or `--single-thread` - you might need to update your setup files if you were relying on a global variable before.

If you had performance issues on large code bases before, try the new [`deps.experimentalOptimizer`](https://vitest.dev/config/#deps-experimentaloptimizer) option instead of disabling threads. Feedback is welcome!

One of the breaking changes includes adding a link to snapshots inside snapshot files, meaning you will need to update all your snapshots.

#####    🚨 Breaking Changes

-   Vitest as peer dependency for coverage packages  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2836](https://github.com/vitest-dev/vitest/issues/2836) [<samp>(94247)</samp>](https://github.com/vitest-dev/vitest/commit/94247f1b)
-   Coverage-c8 to use V8 profiler directly instead of `NODE_V8_COVERAGE`  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2786](https://github.com/vitest-dev/vitest/issues/2786) [<samp>(095c6)</samp>](https://github.com/vitest-dev/vitest/commit/095c6390)
-   Add a link to the comment at the top of the snapshot file  -  by [@&#8203;btea](https://github.com/btea) in [https://github.com/vitest-dev/vitest/issues/2867](https://github.com/vitest-dev/vitest/issues/2867) [<samp>(615e1)</samp>](https://github.com/vitest-dev/vitest/commit/615e150b)
-   Always run separate environments in isolation  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2860](https://github.com/vitest-dev/vitest/issues/2860) [<samp>(1f858)</samp>](https://github.com/vitest-dev/vitest/commit/1f858e0c)
    -   Tests with `node` and `jsdom` (and other environments) now don't share the same global scope, if you run them with `--no-isolate` or `--no-threads` flag. Vitest doesn't provide a way to restore the previous behavior as it is considered a bug.
-   Use child_process when --no-threads is used  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2772](https://github.com/vitest-dev/vitest/issues/2772) [<samp>(7bf54)</samp>](https://github.com/vitest-dev/vitest/commit/7bf54505)
    -   Tests inside `chid_process` might run longer due to the communication overhead. If you want to restore the previous behavior, use `--single-thread`.

#####    🚀 Features

-   Add test seed to banner  -  by [@&#8203;btkostner](https://github.com/btkostner) in [https://github.com/vitest-dev/vitest/issues/2877](https://github.com/vitest-dev/vitest/issues/2877) [<samp>(bdb39)</samp>](https://github.com/vitest-dev/vitest/commit/bdb39569)
-   Use custom source-map-support implementation  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2905](https://github.com/vitest-dev/vitest/issues/2905) [<samp>(6ff6c)</samp>](https://github.com/vitest-dev/vitest/commit/6ff6c6eb)
-   Add an option to enable Vite optimizer  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2912](https://github.com/vitest-dev/vitest/issues/2912) [<samp>(af8de)</samp>](https://github.com/vitest-dev/vitest/commit/af8de362)
-   **coverage**:
    -   Add support for coverage reporter options  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2690](https://github.com/vitest-dev/vitest/issues/2690) [<samp>(f8176)</samp>](https://github.com/vitest-dev/vitest/commit/f8176182)
    -   Automatic threshold updating  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2886](https://github.com/vitest-dev/vitest/issues/2886) [<samp>(e1652)</samp>](https://github.com/vitest-dev/vitest/commit/e1652163)
-   **spy**:
    -   Implement mock.withImplementation API  -  by [@&#8203;obadakhalili](https://github.com/obadakhalili) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2835](https://github.com/vitest-dev/vitest/issues/2835) [<samp>(610b1)</samp>](https://github.com/vitest-dev/vitest/commit/610b1d46)
-   **vite-node**:
    -   Cli option for vite mode  -  by [@&#8203;abarke](https://github.com/abarke) in [https://github.com/vitest-dev/vitest/issues/2893](https://github.com/vitest-dev/vitest/issues/2893) [<samp>(0fc08)</samp>](https://github.com/vitest-dev/vitest/commit/0fc08032)

#####    🐞 Bug Fixes

-   Wait for console.log to print a message before terminating a worker  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2861](https://github.com/vitest-dev/vitest/issues/2861) [<samp>(fbc54)</samp>](https://github.com/vitest-dev/vitest/commit/fbc54c91)
-   Cleanup last mocked cache when call vi.doMock  -  by [@&#8203;mysteryven](https://github.com/mysteryven) in [https://github.com/vitest-dev/vitest/issues/2872](https://github.com/vitest-dev/vitest/issues/2872) [<samp>(65d71)</samp>](https://github.com/vitest-dev/vitest/commit/65d71b9e)
-   Reload changed configuration file on watch mode  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2889](https://github.com/vitest-dev/vitest/issues/2889) [<samp>(4d277)</samp>](https://github.com/vitest-dev/vitest/commit/4d277d8d)
-   **coverage**: Custom providers to work inside worker threads  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2817](https://github.com/vitest-dev/vitest/issues/2817) [<samp>(81604)</samp>](https://github.com/vitest-dev/vitest/commit/81604bce)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v0.28.5...v0.29.0)

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

[Compare Source](https://github.com/vitest-dev/vitest/compare/v0.28.4...v0.28.5)

#####    🚀 Features

-   Add --script option to vite-node  -  by [@&#8203;jgoux](https://github.com/jgoux) and [@&#8203;dammy001](https://github.com/dammy001) in [https://github.com/vitest-dev/vitest/issues/2793](https://github.com/vitest-dev/vitest/issues/2793) [<samp>(d3d6b)</samp>](https://github.com/vitest-dev/vitest/commit/d3d6b1fc)
-   Inject executor directly into runner  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2858](https://github.com/vitest-dev/vitest/issues/2858) [<samp>(62c43)</samp>](https://github.com/vitest-dev/vitest/commit/62c43420)

#####    🐞 Bug Fixes

-   Don't call "afterAll" hooks, if suite was skipped  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2802](https://github.com/vitest-dev/vitest/issues/2802) [<samp>(aa1aa)</samp>](https://github.com/vitest-dev/vitest/commit/aa1aa4da)
-   Always display serialized error, even if it doesn't have stack  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2829](https://github.com/vitest-dev/vitest/issues/2829) [<samp>(ab5f8)</samp>](https://github.com/vitest-dev/vitest/commit/ab5f8927)
-   Clear mocks between tests  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2857](https://github.com/vitest-dev/vitest/issues/2857) [<samp>(c420c)</samp>](https://github.com/vitest-dev/vitest/commit/c420cb7b)
-   **expect**:
    -   Check for no 'throw' type in toHaveReturned  -  by [@&#8203;trivikr](https://github.com/trivikr) in [https://github.com/vitest-dev/vitest/issues/2850](https://github.com/vitest-dev/vitest/issues/2850) [<samp>(1164c)</samp>](https://github.com/vitest-dev/vitest/commit/1164c478)
    -   Accept array index as number in toHaveProperty  -  by [@&#8203;trivikr](https://github.com/trivikr) in [https://github.com/vitest-dev/vitest/issues/2808](https://github.com/vitest-dev/vitest/issues/2808) [<samp>(8705e)</samp>](https://github.com/vitest-dev/vitest/commit/8705e6b2)

#####    🏎 Performance

-   Don't inline Vitest entry  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2819](https://github.com/vitest-dev/vitest/issues/2819) [<samp>(570c6)</samp>](https://github.com/vitest-dev/vitest/commit/570c639e)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v0.28.4...v0.28.5)

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

[Compare Source](https://github.com/vitest-dev/vitest/compare/v0.28.3...v0.28.4)

#####    🐞 Bug Fixes

-   Setup correct utils inside asymmetric matchers  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2768](https://github.com/vitest-dev/vitest/issues/2768) [<samp>(415c8)</samp>](https://github.com/vitest-dev/vitest/commit/415c8a93)
-   Cjs exports has Object.prototype instead of null  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2769](https://github.com/vitest-dev/vitest/issues/2769) [<samp>(4fc49)</samp>](https://github.com/vitest-dev/vitest/commit/4fc492c6)
-   Duplicate callbacks in vite-node HMR  -  by [@&#8203;jgoux](https://github.com/jgoux) in [https://github.com/vitest-dev/vitest/issues/2792](https://github.com/vitest-dev/vitest/issues/2792) [<samp>(f0333)</samp>](https://github.com/vitest-dev/vitest/commit/f03337ae)
-   Do not include source files in `onWatcherStart` when `typecheck.ignoreSourceErrors` is true  -  by [@&#8203;mascii](https://github.com/mascii) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2774](https://github.com/vitest-dev/vitest/issues/2774) [<samp>(d612e)</samp>](https://github.com/vitest-dev/vitest/commit/d612efdf)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v0.28.3...v0.28.4)

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

[Compare Source](https://github.com/vitest-dev/vitest/compare/v0.28.2...v0.28.3)

#####    🚀 Features

-   Allow using atomics to communicate between threads  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2758](https://github.com/vitest-dev/vitest/issues/2758) [<samp>(3679c)</samp>](https://github.com/vitest-dev/vitest/commit/3679cf25)
-   Show active filename pattern on CLI  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) [<samp>(a0455)</samp>](https://github.com/vitest-dev/vitest/commit/a0455917)
-   Show active test name pattern on CLI  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) [<samp>(df7c4)</samp>](https://github.com/vitest-dev/vitest/commit/df7c410a)
-   Allow `config` option to be false  -  by [@&#8203;antfu](https://github.com/antfu) in [https://github.com/vitest-dev/vitest/issues/2749](https://github.com/vitest-dev/vitest/issues/2749) [<samp>(c66e3)</samp>](https://github.com/vitest-dev/vitest/commit/c66e335b)

#####    🐞 Bug Fixes

-   Watch mode's filename pattern to persist on unrelated file changes  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) [<samp>(712ac)</samp>](https://github.com/vitest-dev/vitest/commit/712ac15b)
-   Watch mode's filename pattern to persist re-run of failed tests, snapshot updates and testname filter changes  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) [<samp>(1c65a)</samp>](https://github.com/vitest-dev/vitest/commit/1c65ac48)
-   Dont incorrectly mark run failed if filename pattern excludes previously failed tests  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) [<samp>(61cf9)</samp>](https://github.com/vitest-dev/vitest/commit/61cf9a7a)
-   **coverage**: Istanbul crashes when no tests were run  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2753](https://github.com/vitest-dev/vitest/issues/2753) [<samp>(ebc95)</samp>](https://github.com/vitest-dev/vitest/commit/ebc95add)

#####    🏎 Performance

-   Don't import vite in worker  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2759](https://github.com/vitest-dev/vitest/issues/2759) [<samp>(e49c1)</samp>](https://github.com/vitest-dev/vitest/commit/e49c13fa)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v0.28.2...v0.28.3)

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

[Compare Source](https://github.com/vitest-dev/vitest/compare/v0.28.1...v0.28.2)

#####    🐞 Bug Fixes

-   Send stderr header log to stderr  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2736](https://github.com/vitest-dev/vitest/issues/2736) [<samp>(998ea)</samp>](https://github.com/vitest-dev/vitest/commit/998ea804)
-   Call afterAll, if beforeAll failed  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2737](https://github.com/vitest-dev/vitest/issues/2737) [<samp>(1904c)</samp>](https://github.com/vitest-dev/vitest/commit/1904c9c4)
-   **vite-node**: Don't cache modules with `timestamp: 0`  -  by [@&#8203;danielroe](https://github.com/danielroe) in [https://github.com/vitest-dev/vitest/issues/2747](https://github.com/vitest-dev/vitest/issues/2747) [<samp>(e88c0)</samp>](https://github.com/vitest-dev/vitest/commit/e88c04c4)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v0.28.1...v0.28.2)

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

[Compare Source](https://github.com/vitest-dev/vitest/compare/v0.28.0...v0.28.1)

#####    🐞 Bug Fixes

-   Remove UI from Vitest dependencies  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) [<samp>(b120c)</samp>](https://github.com/vitest-dev/vitest/commit/b120ca3f)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v0.28.0...v0.28.1)

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

[Compare Source](https://github.com/vitest-dev/vitest/compare/v0.27.3...v0.28.0)

#####    🚨 Breaking Changes

-   Don't rely on environment for interopDefault  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2682](https://github.com/vitest-dev/vitest/issues/2682) [<samp>(3f20c)</samp>](https://github.com/vitest-dev/vitest/commit/3f20cf5a)
-   Move test runner into a separate package  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2721](https://github.com/vitest-dev/vitest/issues/2721) [<samp>(482b7)</samp>](https://github.com/vitest-dev/vitest/commit/482b72fc)
    -   To extend text context, you need to augment `@vitet/runner` package instead of `vitest`

#####    🐞 Bug Fixes

-   **coverage**: C8 to log warning when run in Stackblitz  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2735](https://github.com/vitest-dev/vitest/issues/2735) [<samp>(b6c41)</samp>](https://github.com/vitest-dev/vitest/commit/b6c41caa)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v0.27.3...v0.28.0)

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

[Compare Source](https://github.com/vitest-dev/vitest/compare/v0.27.2...v0.27.3)

#####    🚀 Features

-   Throw unhandled exception, if code throws "error" event  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2691](https://github.com/vitest-dev/vitest/issues/2691) [<samp>(6a30c)</samp>](https://github.com/vitest-dev/vitest/commit/6a30cdd3)
-   New `environmentMatchGlobs` option to auto infer env based on glob  -  by [@&#8203;antfu](https://github.com/antfu) in [https://github.com/vitest-dev/vitest/issues/2714](https://github.com/vitest-dev/vitest/issues/2714) [<samp>(3e142)</samp>](https://github.com/vitest-dev/vitest/commit/3e1429e5)
-   Add basic reporter which allow user to use reporter in ci  -  by [@&#8203;trim21](https://github.com/trim21) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2612](https://github.com/vitest-dev/vitest/issues/2612) [<samp>(5df52)</samp>](https://github.com/vitest-dev/vitest/commit/5df522f7)
-   Improve "isCI" check  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2705](https://github.com/vitest-dev/vitest/issues/2705) [<samp>(e6457)</samp>](https://github.com/vitest-dev/vitest/commit/e64570df)

#####    🐞 Bug Fixes

-   Show error in the terminal, if "only" flag is used  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2696](https://github.com/vitest-dev/vitest/issues/2696) [<samp>(24d63)</samp>](https://github.com/vitest-dev/vitest/commit/24d63809)
-   Cpu and heap profiling options for workers  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2702](https://github.com/vitest-dev/vitest/issues/2702) [<samp>(c31a0)</samp>](https://github.com/vitest-dev/vitest/commit/c31a0b20)
-   Show correct number of tests in test summary  -  by [@&#8203;poyoho](https://github.com/poyoho) in [https://github.com/vitest-dev/vitest/issues/2703](https://github.com/vitest-dev/vitest/issues/2703) [<samp>(859e7)</samp>](https://github.com/vitest-dev/vitest/commit/859e7f01)
-   Don't terminate workers on Node 14 to not trigger fatal error  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2697](https://github.com/vitest-dev/vitest/issues/2697) [<samp>(db9b6)</samp>](https://github.com/vitest-dev/vitest/commit/db9b6bb7)
-   Allow custom async matchers  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2707](https://github.com/vitest-dev/vitest/issues/2707) [<samp>(b5669)</samp>](https://github.com/vitest-dev/vitest/commit/b566912d)
-   Remove setup files from coverage  -  by [@&#8203;g4rry420](https://github.com/g4rry420) in [https://github.com/vitest-dev/vitest/issues/2574](https://github.com/vitest-dev/vitest/issues/2574) [<samp>(488e4)</samp>](https://github.com/vitest-dev/vitest/commit/488e4b9f)
-   `reportCoverage` context can be optional  -  by [@&#8203;antfu](https://github.com/antfu) [<samp>(4cd1e)</samp>](https://github.com/vitest-dev/vitest/commit/4cd1e5d7)
-   ENOENT assets when htmldir exists  -  by [@&#8203;everett1992](https://github.com/everett1992) in [https://github.com/vitest-dev/vitest/issues/2701](https://github.com/vitest-dev/vitest/issues/2701) [<samp>(5a656)</samp>](https://github.com/vitest-dev/vitest/commit/5a656753)
-   Correctly resolve paths relative to root, when used outside of root directory  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2687](https://github.com/vitest-dev/vitest/issues/2687) [<samp>(703aa)</samp>](https://github.com/vitest-dev/vitest/commit/703aab46)
-   **typecheck**: Store tmp tsconfig close to original one  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2660](https://github.com/vitest-dev/vitest/issues/2660) [<samp>(26f91)</samp>](https://github.com/vitest-dev/vitest/commit/26f915ad)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v0.27.2...v0.27.3)

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

[Compare Source](https://github.com/vitest-dev/vitest/compare/v0.27.1...v0.27.2)

#####    🚀 Features

-   Add runAllTimersAsync from sinonjs  -  by [@&#8203;guillaumeduboc](https://github.com/guillaumeduboc) in [https://github.com/vitest-dev/vitest/issues/2209](https://github.com/vitest-dev/vitest/issues/2209) [<samp>(40187)</samp>](https://github.com/vitest-dev/vitest/commit/40187bdb)

#####    🐞 Bug Fixes

-   Document.defaultView references the same window as the global one  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2649](https://github.com/vitest-dev/vitest/issues/2649) [<samp>(1ac4b)</samp>](https://github.com/vitest-dev/vitest/commit/1ac4bb8d)
-   Trim input filename and test name  -  by [@&#8203;btea](https://github.com/btea) in [https://github.com/vitest-dev/vitest/issues/2650](https://github.com/vitest-dev/vitest/issues/2650) [<samp>(d3dcb)</samp>](https://github.com/vitest-dev/vitest/commit/d3dcbdc8)
-   Increase default teardownTimeout  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) [<samp>(13e53)</samp>](https://github.com/vitest-dev/vitest/commit/13e53ac7)
-   Mock css files imported with "require"  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2679](https://github.com/vitest-dev/vitest/issues/2679) [<samp>(6c1a2)</samp>](https://github.com/vitest-dev/vitest/commit/6c1a26a6)
-   Don't start watching files in "run" mode  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2680](https://github.com/vitest-dev/vitest/issues/2680) [<samp>(0a31e)</samp>](https://github.com/vitest-dev/vitest/commit/0a31e85c)
-   Rerun tests, when setup file is edited  -  by [@&#8203;mysteryven](https://github.com/mysteryven) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2625](https://github.com/vitest-dev/vitest/issues/2625) [<samp>(019a6)</samp>](https://github.com/vitest-dev/vitest/commit/019a6d57)
-   Always show filename for unhandled errors  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2689](https://github.com/vitest-dev/vitest/issues/2689) [<samp>(15aa0)</samp>](https://github.com/vitest-dev/vitest/commit/15aa0156)
-   Define property instead of assigning it in vi.stubGlobal  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2685](https://github.com/vitest-dev/vitest/issues/2685) [<samp>(8a1d7)</samp>](https://github.com/vitest-dev/vitest/commit/8a1d7590)
-   **coverage**: Watch mode to use `coverage.all` only when all tests are run  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2665](https://github.com/vitest-dev/vitest/issues/2665) [<samp>(85096)</samp>](https://github.com/vitest-dev/vitest/commit/85096281)
-   **typecheck**: Log tests with verbose reporter, correctly show "pass" tests  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2656](https://github.com/vitest-dev/vitest/issues/2656) [<samp>(61dde)</samp>](https://github.com/vitest-dev/vitest/commit/61ddebae)
-   **ui**: Don't show "connecting" screen in html reporter  -  by [@&#8203;poyoho](https://github.com/poyoho) in [https://github.com/vitest-dev/vitest/issues/2693](https://github.com/vitest-dev/vitest/issues/2693) [<samp>(d8548)</samp>](https://github.com/vitest-dev/vitest/commit/d8548c69)

#####    🏎 Performance

-   Don't resolve import path, if it was already resolved  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2659](https://github.com/vitest-dev/vitest/issues/2659) [<samp>(45cc3)</samp>](https://github.com/vitest-dev/vitest/commit/45cc3423)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v0.27.1...v0.27.2)

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

[Compare Source](https://github.com/vitest-dev/vitest/compare/v0.27.0...v0.27.1)

#####    🚀 Features

-   Show error, when process.exit is called  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2643](https://github.com/vitest-dev/vitest/issues/2643) [<samp>(866f4)</samp>](https://github.com/vitest-dev/vitest/commit/866f4494)
-   Add more information about unhandler error  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2642](https://github.com/vitest-dev/vitest/issues/2642) [<samp>(1ffb0)</samp>](https://github.com/vitest-dev/vitest/commit/1ffb0ef5)
-   Display running processes, if vitest closes with timeout  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2633](https://github.com/vitest-dev/vitest/issues/2633) [<samp>(94968)</samp>](https://github.com/vitest-dev/vitest/commit/94968a6f)

#####    🐞 Bug Fixes

-   Type issue with spyOn method  -  by [@&#8203;samkevin1](https://github.com/samkevin1) in [https://github.com/vitest-dev/vitest/issues/2365](https://github.com/vitest-dev/vitest/issues/2365) and [https://github.com/vitest-dev/vitest/issues/2582](https://github.com/vitest-dev/vitest/issues/2582) [<samp>(1aaa7)</samp>](https://github.com/vitest-dev/vitest/commit/1aaa79d7)
-   Add missing types in TS project when global is true  -  by [@&#8203;Sneaken](https://github.com/Sneaken) in [https://github.com/vitest-dev/vitest/issues/2631](https://github.com/vitest-dev/vitest/issues/2631) [<samp>(4745e)</samp>](https://github.com/vitest-dev/vitest/commit/4745eaa2)
-   Always report failed test in junit reporter  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2632](https://github.com/vitest-dev/vitest/issues/2632) [<samp>(83da2)</samp>](https://github.com/vitest-dev/vitest/commit/83da2ec4)
-   Change Vite root, if test.root is used  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2637](https://github.com/vitest-dev/vitest/issues/2637) [<samp>(efbff)</samp>](https://github.com/vitest-dev/vitest/commit/efbff2a2)
-   Don't use ownKeys, when interoping a module  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2629](https://github.com/vitest-dev/vitest/issues/2629) [<samp>(a186a)</samp>](https://github.com/vitest-dev/vitest/commit/a186a7e1)
-   Cut duplicate error in negated toHaveBeenCalled  -  by [@&#8203;richardboehme](https://github.com/richardboehme) in [https://github.com/vitest-dev/vitest/issues/2638](https://github.com/vitest-dev/vitest/issues/2638) [<samp>(09d62)</samp>](https://github.com/vitest-dev/vitest/commit/09d62226)
-   Always update last HMR ms on a module  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) [<samp>(99676)</samp>](https://github.com/vitest-dev/vitest/commit/9967645a)
-   Terminate workers, when closing process  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2645](https://github.com/vitest-dev/vitest/issues/2645) [<samp>(ece43)</samp>](https://github.com/vitest-dev/vitest/commit/ece434a3)
-   **coverage**:
    -   Prevent c8 from crashing on invalid sourcemaps  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2634](https://github.com/vitest-dev/vitest/issues/2634) [<samp>(0163d)</samp>](https://github.com/vitest-dev/vitest/commit/0163dc80)
    -   Istanbul provider to use `coverage.extension`  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/2641](https://github.com/vitest-dev/vitest/issues/2641) [<samp>(7e388)</samp>](https://github.com/vitest-dev/vitest/commit/7e388903)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v0.27.0...v0.27.1)

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

[Compare Source](https://github.com/vitest-dev/vitest/compare/v0.26.3...v0.27.0)

#####    🚨 Breaking Changes

-   Deprecate "error" on result, store errors in "errors"  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2586](https://github.com/vitest-dev/vitest/issues/2586) [<samp>(e641a)</samp>](https://github.com/vitest-dev/vitest/commit/e641a110)
-   Split vitest into separate packages, but still bundle them for the time being  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2575](https://github.com/vitest-dev/vitest/issues/2575) [<samp>(c8e6f)</samp>](https://github.com/vitest-dev/vitest/commit/c8e6fb69)

#####    🚀 Features

-   **coverage**: report only changed files when using istanbul coverage with watch mode  -  by [@&#8203;g4rry420](https://github.com/g4rry420) in [https://github.com/vitest-dev/vitest/issues/2385](https://github.com/vitest-dev/vitest/issues/2385) [<samp>(bf872)</samp>](https://github.com/vitest-dev/vitest/commit/bf87282c)

#####    🐞 Bug Fixes

-   Return mock path only when mocked  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2619](https://github.com/vitest-dev/vitest/issues/2619) [<samp>(f8ac2)</samp>](https://github.com/vitest-dev/vitest/commit/f8ac2094)
-   Allow mocking CJS module with interoped default  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/2598](https://github.com/vitest-dev/vitest/issues/2598

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Wednesday" in timezone Europe/Berlin, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

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

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/mheob/changeset-changelog).
renovate bot referenced this pull request in Unleash/unleash May 5, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [vitest](https://github.com/vitest-dev/vitest) | [`0.28.5` ->
`0.30.1`](https://renovatebot.com/diffs/npm/vitest/0.28.5/0.30.1) |
[![age](https://badges.renovateapi.com/packages/npm/vitest/0.30.1/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/vitest/0.30.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/vitest/0.30.1/compatibility-slim/0.28.5)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/vitest/0.30.1/confidence-slim/0.28.5)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.30.0...v0.30.1)

#####    🐞 Bug Fixes

- Do not rely on global `performance` and `AggregateError`  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3171](https://github.com/vitest-dev/vitest/issues/3171)
[<samp>(cce45)</samp>](https://github.com/vitest-dev/vitest/commit/cce45496)
- Allow workspace without a config in the root  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3173](https://github.com/vitest-dev/vitest/issues/3173)
[<samp>(06852)</samp>](https://github.com/vitest-dev/vitest/commit/06852f18)
- `test.each` respects `chaiConfig`  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va)
[<samp>(4f6c1)</samp>](https://github.com/vitest-dev/vitest/commit/4f6c1340)
- Use relative paths in source map's "sources" field  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3177](https://github.com/vitest-dev/vitest/issues/3177)
[<samp>(6b1b4)</samp>](https://github.com/vitest-dev/vitest/commit/6b1b4e68)
-   **types**:
- Allow augmenting jest namespace for custom assertions  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3169](https://github.com/vitest-dev/vitest/issues/3169)
[<samp>(905ec)</samp>](https://github.com/vitest-dev/vitest/commit/905ec05a)
- Publish utils and snapshot .d.ts files for typescript  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3172](https://github.com/vitest-dev/vitest/issues/3172)
[<samp>(7af64)</samp>](https://github.com/vitest-dev/vitest/commit/7af64444)
-   **snapshot**:
- `toMatchFileSnapshot` ensure dir exists  -  by
[@&#8203;antfu](https://github.com/antfu) in
[https://github.com/vitest-dev/vitest/issues/3155](https://github.com/vitest-dev/vitest/issues/3155)
[<samp>(31168)</samp>](https://github.com/vitest-dev/vitest/commit/311682a8)
- Improve `skipWriting` check  -  by
[@&#8203;antfu](https://github.com/antfu)
[<samp>(5436c)</samp>](https://github.com/vitest-dev/vitest/commit/5436c736)
- Normalize EOL for `toMatchFileSnapshot`  -  by
[@&#8203;antfu](https://github.com/antfu) in
[https://github.com/vitest-dev/vitest/issues/3164](https://github.com/vitest-dev/vitest/issues/3164)
[<samp>(df3f2)</samp>](https://github.com/vitest-dev/vitest/commit/df3f2b50)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.30.0...v0.30.1)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.8...v0.30.0)

#####    🚨 Breaking Changes

- Remove tinyspy internal properties on Vitest spies  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3069](https://github.com/vitest-dev/vitest/issues/3069)
[<samp>(2f1dc)</samp>](https://github.com/vitest-dev/vitest/commit/2f1dc5ce)
- Only support Node.js 14.18.0 or newer  -  by
[@&#8203;danez](https://github.com/danez) in
[https://github.com/vitest-dev/vitest/issues/2985](https://github.com/vitest-dev/vitest/issues/2985)
[<samp>(287dc)</samp>](https://github.com/vitest-dev/vitest/commit/287dc205)
- Use "concordance" package to display diff instead of using custom diff
 -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2828](https://github.com/vitest-dev/vitest/issues/2828)
[<samp>(44630)</samp>](https://github.com/vitest-dev/vitest/commit/446308da)
- Move snapshot implementation into
[@&#8203;vitest/snapshot](https://github.com/vitest/snapshot)  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3032](https://github.com/vitest-dev/vitest/issues/3032)
[<samp>(6aff0)</samp>](https://github.com/vitest-dev/vitest/commit/6aff0176)
- Bump coverage packages vitest peer dependency  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3126](https://github.com/vitest-dev/vitest/issues/3126)
[<samp>(be1bf)</samp>](https://github.com/vitest-dev/vitest/commit/be1bf08d)
- Add workspace support  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3103](https://github.com/vitest-dev/vitest/issues/3103)
[<samp>(b9d1a)</samp>](https://github.com/vitest-dev/vitest/commit/b9d1a975)
-   Experimental optimizer introduced in 0.29.0 is temporarily disabled.

#####    🚀 Features

- Gzip html reporter's metadata  -  by
[@&#8203;7rulnik](https://github.com/7rulnik) in
[https://github.com/vitest-dev/vitest/issues/3113](https://github.com/vitest-dev/vitest/issues/3113)
[<samp>(7856e)</samp>](https://github.com/vitest-dev/vitest/commit/7856ec12)
- Add chai config  -  by [@&#8203;btea](https://github.com/btea) in
[https://github.com/vitest-dev/vitest/issues/3066](https://github.com/vitest-dev/vitest/issues/3066)
[<samp>(6fcba)</samp>](https://github.com/vitest-dev/vitest/commit/6fcba9ba)
- **snapshot**: Introduce `toMatchFileSnapshot` and auto queuing expect
promise  -  by [@&#8203;antfu](https://github.com/antfu) in
[https://github.com/vitest-dev/vitest/issues/3116](https://github.com/vitest-dev/vitest/issues/3116)
[<samp>(bdc06)</samp>](https://github.com/vitest-dev/vitest/commit/bdc06dcb)

#####    🐞 Bug Fixes

- Resolve reporters passed down to the CLI relative to the running
directory  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va)
in
[https://github.com/vitest-dev/vitest/issues/3097](https://github.com/vitest-dev/vitest/issues/3097)
[<samp>(93c7e)</samp>](https://github.com/vitest-dev/vitest/commit/93c7e39d)
- Don't show "diff" in "serialized error" section  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va)
[<samp>(326b2)</samp>](https://github.com/vitest-dev/vitest/commit/326b242d)
- Convert '--single-thread' and '--inspect' cli args to boolean  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3111](https://github.com/vitest-dev/vitest/issues/3111)
[<samp>(83a9a)</samp>](https://github.com/vitest-dev/vitest/commit/83a9aa74)
- Stack trace point to incorrect file  -  by
[@&#8203;ChenKS12138](https://github.com/ChenKS12138) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3004](https://github.com/vitest-dev/vitest/issues/3004)
and
[https://github.com/vitest-dev/vitest/issues/3115](https://github.com/vitest-dev/vitest/issues/3115)
[<samp>(5cee4)</samp>](https://github.com/vitest-dev/vitest/commit/5cee4fbf)
- Run benchmarks sequentially  -  by
[@&#8203;thecodrr](https://github.com/thecodrr) in
[https://github.com/vitest-dev/vitest/issues/2004](https://github.com/vitest-dev/vitest/issues/2004)
and
[https://github.com/vitest-dev/vitest/issues/3151](https://github.com/vitest-dev/vitest/issues/3151)
[<samp>(430b4)</samp>](https://github.com/vitest-dev/vitest/commit/430b4ecb)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.8...v0.30.0)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.7...v0.29.8)

#####    🚀 Features

- Allow accessing "vi" methods without context, don't fail when mocker
is not available  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3047](https://github.com/vitest-dev/vitest/issues/3047)
[<samp>(1531c)</samp>](https://github.com/vitest-dev/vitest/commit/1531c420)
- Show browser console in the terminal  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3048](https://github.com/vitest-dev/vitest/issues/3048)
[<samp>(ee6f5)</samp>](https://github.com/vitest-dev/vitest/commit/ee6f590d)
- Playwright as browser provider  -  by
[@&#8203;Aslemammad](https://github.com/Aslemammad) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3079](https://github.com/vitest-dev/vitest/issues/3079)
[<samp>(9dc69)</samp>](https://github.com/vitest-dev/vitest/commit/9dc69293)
- Implement `istanbul` coverage support for browser testing  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) and
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3040](https://github.com/vitest-dev/vitest/issues/3040)
[<samp>(0f44d)</samp>](https://github.com/vitest-dev/vitest/commit/0f44d2c8)

#####    🐞 Bug Fixes

- Add generic to expect.objectContaining type  -  by
[@&#8203;ArtyMaury](https://github.com/ArtyMaury) in
[https://github.com/vitest-dev/vitest/issues/3053](https://github.com/vitest-dev/vitest/issues/3053)
[<samp>(69d2c)</samp>](https://github.com/vitest-dev/vitest/commit/69d2cc93)
- Do not fail, when primitive error is thrown  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3074](https://github.com/vitest-dev/vitest/issues/3074)
[<samp>(6efe6)</samp>](https://github.com/vitest-dev/vitest/commit/6efe61ab)
- Handle cloning proxied classes w/ enumerable getters  -  by
[@&#8203;tgriesser](https://github.com/tgriesser) in
[https://github.com/vitest-dev/vitest/issues/3026](https://github.com/vitest-dev/vitest/issues/3026)
[<samp>(196a0)</samp>](https://github.com/vitest-dev/vitest/commit/196a067a)
- Spy on popup apis like alert  -  by
[@&#8203;Aslemammad](https://github.com/Aslemammad) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3076](https://github.com/vitest-dev/vitest/issues/3076)
[<samp>(280ad)</samp>](https://github.com/vitest-dev/vitest/commit/280ad1ed)
- Report coverage even when no tests found  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3091](https://github.com/vitest-dev/vitest/issues/3091)
[<samp>(2cb91)</samp>](https://github.com/vitest-dev/vitest/commit/2cb91211)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.7...v0.29.8)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.6...v0.29.7)

#####    🐞 Bug Fixes

- Import [@&#8203;vite/client](https://github.com/vite/client) in
browser code for handling optimizer  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va)
[<samp>(20c51)</samp>](https://github.com/vitest-dev/vitest/commit/20c510c4)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.6...v0.29.7)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.5...v0.29.6)

#####    🐞 Bug Fixes

- Bundle UI with
[@&#8203;vitest/browser](https://github.com/vitest/browser)  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va)
[<samp>(14091)</samp>](https://github.com/vitest-dev/vitest/commit/14091c59)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.5...v0.29.6)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.4...v0.29.5)

#####    🐞 Bug Fixes

- **browser**: Relax vitest peer dependency  -  by
[@&#8203;cexbrayat](https://github.com/cexbrayat) in
[https://github.com/vitest-dev/vitest/issues/3039](https://github.com/vitest-dev/vitest/issues/3039)
[<samp>(865d1)</samp>](https://github.com/vitest-dev/vitest/commit/865d1afd)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.4...v0.29.5)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.3...v0.29.4)

#####    🚀 Features

- `--test-timeout` CLI argument  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3019](https://github.com/vitest-dev/vitest/issues/3019)
[<samp>(63c62)</samp>](https://github.com/vitest-dev/vitest/commit/63c62f9e)
- Add an option to control Vitest pool with filepath  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3029](https://github.com/vitest-dev/vitest/issues/3029)
[<samp>(c7f0c)</samp>](https://github.com/vitest-dev/vitest/commit/c7f0c86b)
- Process timeout to log names of stuck test files  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3031](https://github.com/vitest-dev/vitest/issues/3031)
[<samp>(0ddf7)</samp>](https://github.com/vitest-dev/vitest/commit/0ddf7220)
- Support relative path in html report  -  by
[@&#8203;poyoho](https://github.com/poyoho) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2695](https://github.com/vitest-dev/vitest/issues/2695)
[<samp>(a7680)</samp>](https://github.com/vitest-dev/vitest/commit/a768015e)
- Webdriverio (+ custom providers) integration for browser mode  -  by
[@&#8203;Aslemammad](https://github.com/Aslemammad), **Christian
Bromann**, [@&#8203;sheremet-va](https://github.com/sheremet-va),
[@&#8203;userquin](https://github.com/userquin) and
[@&#8203;dammy001](https://github.com/dammy001) in
[https://github.com/vitest-dev/vitest/issues/2999](https://github.com/vitest-dev/vitest/issues/2999)
[<samp>(9cdc8)</samp>](https://github.com/vitest-dev/vitest/commit/9cdc8030)

#####    🐞 Bug Fixes

- Show correct line numbers in stack trace when using vi.resetModules()
 -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3020](https://github.com/vitest-dev/vitest/issues/3020)
[<samp>(35730)</samp>](https://github.com/vitest-dev/vitest/commit/35730328)
- Mocking value proxy filter Symbol static properties  -  by
[@&#8203;ChpShy](https://github.com/ChpShy) in
[https://github.com/vitest-dev/vitest/issues/3036](https://github.com/vitest-dev/vitest/issues/3036)
[<samp>(0cf44)</samp>](https://github.com/vitest-dev/vitest/commit/0cf44098)
- Escape XML in error stack trace when using junit reporter  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3038](https://github.com/vitest-dev/vitest/issues/3038)
[<samp>(cc577)</samp>](https://github.com/vitest-dev/vitest/commit/cc5779d6)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.3...v0.29.4)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.2...v0.29.3)

#####    🚀 Features

- Use custom colors implementation instead of picocolors  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va)
[<samp>(427b0)</samp>](https://github.com/vitest-dev/vitest/commit/427b0622)
- Uncaught errors to indicate env teardown  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2982](https://github.com/vitest-dev/vitest/issues/2982)
[<samp>(1fe82)</samp>](https://github.com/vitest-dev/vitest/commit/1fe8286c)
- **config**: Add an option to run setupFiles in sequence  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3008](https://github.com/vitest-dev/vitest/issues/3008)
[<samp>(c2e25)</samp>](https://github.com/vitest-dev/vitest/commit/c2e25bb9)

#####    🐞 Bug Fixes

- Console log not visible  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2943](https://github.com/vitest-dev/vitest/issues/2943)
[<samp>(02808)</samp>](https://github.com/vitest-dev/vitest/commit/0280825f)
- Remove duplicate execArgv when deps.registerNodeLoader: true  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2965](https://github.com/vitest-dev/vitest/issues/2965)
[<samp>(a1954)</samp>](https://github.com/vitest-dev/vitest/commit/a1954cc0)
- Prevent running test cases timers after environment teardown  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2971](https://github.com/vitest-dev/vitest/issues/2971)
[<samp>(bde75)</samp>](https://github.com/vitest-dev/vitest/commit/bde75a34)
- Don't mark setupFiles as test files, if experimentaOptimizer is used
 -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2974](https://github.com/vitest-dev/vitest/issues/2974)
[<samp>(819c6)</samp>](https://github.com/vitest-dev/vitest/commit/819c6cbe)
- Config errors not visible  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2995](https://github.com/vitest-dev/vitest/issues/2995)
[<samp>(f01c7)</samp>](https://github.com/vitest-dev/vitest/commit/f01c7833)
- \--inspect to work inside workers  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2983](https://github.com/vitest-dev/vitest/issues/2983)
[<samp>(36087)</samp>](https://github.com/vitest-dev/vitest/commit/36087d1e)
- **types**: Use `any` as default value for TArgs in vi.fn()  -  by
[@&#8203;jessevanassen](https://github.com/jessevanassen) in
[https://github.com/vitest-dev/vitest/issues/2947](https://github.com/vitest-dev/vitest/issues/2947)
[<samp>(1bdcc)</samp>](https://github.com/vitest-dev/vitest/commit/1bdcc212)

#####    🏎 Performance

- **reporters**: Overall improvements  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3006](https://github.com/vitest-dev/vitest/issues/3006)
[<samp>(22ca0)</samp>](https://github.com/vitest-dev/vitest/commit/22ca0b6b)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.2...v0.29.3)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.1...v0.29.2)

#####    🐞 Bug Fixes

- Optimize dependencies in setup files  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2935](https://github.com/vitest-dev/vitest/issues/2935)
[<samp>(c169f)</samp>](https://github.com/vitest-dev/vitest/commit/c169f980)
- **coverage**: C8 provider to work when isolate:false  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2929](https://github.com/vitest-dev/vitest/issues/2929)
[<samp>(86538)</samp>](https://github.com/vitest-dev/vitest/commit/8653830b)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.1...v0.29.2)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.0...v0.29.1)

#####    🐞 Bug Fixes

- Wait for optimized dependency to be bundled in non-pnpm package
managers  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va)
[<samp>(d2460)</samp>](https://github.com/vitest-dev/vitest/commit/d2460b7a)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.0...v0.29.1)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.28.5...v0.29.0)

This release makes some significant changes to how tests are running. If
you were using `--no-threads` before, you might consider enabling
`--single-thread` instead (because your tests are now running in
`child_process` instead of a worker thread) or try our new performance
optimization feature (discussed later). If you were relying on API that
was not available inside a worker (like `process.chdir()`, you can now
use this option.

One of the potential breaking bug fixes is that environments do not
share the same global scope anymore if you run them with `--no-isolate`,
`--no-threads` or `--single-thread` - you might need to update your
setup files if you were relying on a global variable before.

If you had performance issues on large code bases before, try the new
[`deps.experimentalOptimizer`](https://vitest.dev/config/#deps-experimentaloptimizer)
option instead of disabling threads. Feedback is welcome!

One of the breaking changes includes adding a link to snapshots inside
snapshot files, meaning you will need to update all your snapshots.

#####    🚨 Breaking Changes

- Vitest as peer dependency for coverage packages  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2836](https://github.com/vitest-dev/vitest/issues/2836)
[<samp>(94247)</samp>](https://github.com/vitest-dev/vitest/commit/94247f1b)
- Coverage-c8 to use V8 profiler directly instead of `NODE_V8_COVERAGE`
 -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2786](https://github.com/vitest-dev/vitest/issues/2786)
[<samp>(095c6)</samp>](https://github.com/vitest-dev/vitest/commit/095c6390)
- Add a link to the comment at the top of the snapshot file  -  by
[@&#8203;btea](https://github.com/btea) in
[https://github.com/vitest-dev/vitest/issues/2867](https://github.com/vitest-dev/vitest/issues/2867)
[<samp>(615e1)</samp>](https://github.com/vitest-dev/vitest/commit/615e150b)
- Always run separate environments in isolation  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2860](https://github.com/vitest-dev/vitest/issues/2860)
[<samp>(1f858)</samp>](https://github.com/vitest-dev/vitest/commit/1f858e0c)
- Tests with `node` and `jsdom` (and other environments) now don't share
the same global scope, if you run them with `--no-isolate` or
`--no-threads` flag. Vitest doesn't provide a way to restore the
previous behavior as it is considered a bug.
- Use child_process when --no-threads is used  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2772](https://github.com/vitest-dev/vitest/issues/2772)
[<samp>(7bf54)</samp>](https://github.com/vitest-dev/vitest/commit/7bf54505)
- Tests inside `chid_process` might run longer due to the communication
overhead. If you want to restore the previous behavior, use
`--single-thread`.

#####    🚀 Features

- Add test seed to banner  -  by
[@&#8203;btkostner](https://github.com/btkostner) in
[https://github.com/vitest-dev/vitest/issues/2877](https://github.com/vitest-dev/vitest/issues/2877)
[<samp>(bdb39)</samp>](https://github.com/vitest-dev/vitest/commit/bdb39569)
- Use custom source-map-support implementation  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2905](https://github.com/vitest-dev/vitest/issues/2905)
[<samp>(6ff6c)</samp>](https://github.com/vitest-dev/vitest/commit/6ff6c6eb)
- Add an option to enable Vite optimizer  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2912](https://github.com/vitest-dev/vitest/issues/2912)
[<samp>(af8de)</samp>](https://github.com/vitest-dev/vitest/commit/af8de362)
-   **coverage**:
- Add support for coverage reporter options  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2690](https://github.com/vitest-dev/vitest/issues/2690)
[<samp>(f8176)</samp>](https://github.com/vitest-dev/vitest/commit/f8176182)
- Automatic threshold updating  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2886](https://github.com/vitest-dev/vitest/issues/2886)
[<samp>(e1652)</samp>](https://github.com/vitest-dev/vitest/commit/e1652163)
-   **spy**:
- Implement mock.withImplementation API  -  by
[@&#8203;obadakhalili](https://github.com/obadakhalili) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2835](https://github.com/vitest-dev/vitest/issues/2835)
[<samp>(610b1)</samp>](https://github.com/vitest-dev/vitest/commit/610b1d46)
-   **vite-node**:
- Cli option for vite mode  -  by
[@&#8203;abarke](https://github.com/abarke) in
[https://github.com/vitest-dev/vitest/issues/2893](https://github.com/vitest-dev/vitest/issues/2893)
[<samp>(0fc08)</samp>](https://github.com/vitest-dev/vitest/commit/0fc08032)

#####    🐞 Bug Fixes

- Wait for console.log to print a message before terminating a worker
 -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2861](https://github.com/vitest-dev/vitest/issues/2861)
[<samp>(fbc54)</samp>](https://github.com/vitest-dev/vitest/commit/fbc54c91)
- Cleanup last mocked cache when call vi.doMock  -  by
[@&#8203;mysteryven](https://github.com/mysteryven) in
[https://github.com/vitest-dev/vitest/issues/2872](https://github.com/vitest-dev/vitest/issues/2872)
[<samp>(65d71)</samp>](https://github.com/vitest-dev/vitest/commit/65d71b9e)
- Reload changed configuration file on watch mode  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2889](https://github.com/vitest-dev/vitest/issues/2889)
[<samp>(4d277)</samp>](https://github.com/vitest-dev/vitest/commit/4d277d8d)
- **coverage**: Custom providers to work inside worker threads  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2817](https://github.com/vitest-dev/vitest/issues/2817)
[<samp>(81604)</samp>](https://github.com/vitest-dev/vitest/commit/81604bce)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.28.5...v0.29.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

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

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS43MS4wIiwidXBkYXRlZEluVmVyIjoiMzUuNzEuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
huang-julien referenced this pull request in huang-julien/nuxt-hydration May 16, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [vitest](https://github.com/vitest-dev/vitest) | [`^0.28.5` ->
`^0.31.0`](https://renovatebot.com/diffs/npm/vitest/0.28.5/0.31.0) |
[![age](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/compatibility-slim/0.28.5)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/vitest/0.31.0/confidence-slim/0.28.5)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.30.1...v0.31.0)

#####    🚨 Breaking Changes

- Remove `browser` from allowed pools inside `poolMatchGlob` config
option. Please, use Vitest workspaces for running tests in the browser.
- Move assertion declarations to expect package  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3294](https://github.com/vitest-dev/vitest/issues/3294)
[<samp>(cf3af)</samp>](https://github.com/vitest-dev/vitest/commit/cf3afe2b)

    -   The change should be minor:

    ```diff
    - declare namespace Vi {
    + declare module 'vitest' {
       interface Assertion<T = any> extends CustomMatchers<T> {}
       interface AsymmetricMatchersContaining extends CustomMatchers {}
    }
    ```

#####    🚀 Features

- Update mock implementation to support ESM runtime, introduce
"vi.hoisted"  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3258](https://github.com/vitest-dev/vitest/issues/3258)
[<samp>(0c09a)</samp>](https://github.com/vitest-dev/vitest/commit/0c09a40d)
- Bypass ESM import order restriction with `vi.hoisted` to run code
before imports are executed:
    ```ts
    vi.hoisted(() => vi.setSystemTime(new Date(2022, 1, 1)))
    ```
    You can also use it to pass variables to `vi.mock`:
    ```ts
    const { mockedMethod } = vi.hoisted(() => {
      return { mockedMethod: vi.fn() }
    })   
    vi.mock('./path/to/module.js', () => {
      return { originalMethod: mockedMethod }
    })
    ```
- Add repeat method to tests  -  by
[@&#8203;samkevin1](https://github.com/samkevin1) in
[https://github.com/vitest-dev/vitest/issues/2652](https://github.com/vitest-dev/vitest/issues/2652)
[<samp>(7c8f0)</samp>](https://github.com/vitest-dev/vitest/commit/7c8f0ba9)
- Add an option to hide skipped test lines  -  by
[@&#8203;g4rry420](https://github.com/g4rry420) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2745](https://github.com/vitest-dev/vitest/issues/2745)
[<samp>(9bdb1)</samp>](https://github.com/vitest-dev/vitest/commit/9bdb1603)
- **coverage**: Watermarks for c8  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3254](https://github.com/vitest-dev/vitest/issues/3254)
[<samp>(730af)</samp>](https://github.com/vitest-dev/vitest/commit/730af0b4)
- **ui**: Add html coverage  -  by
[@&#8203;userquin](https://github.com/userquin) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3071](https://github.com/vitest-dev/vitest/issues/3071)
[<samp>(e24cd)</samp>](https://github.com/vitest-dev/vitest/commit/e24cd9b2)
- **watch**: Test run cancelling, feat: `--bail` option for cancelling
test run  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3163](https://github.com/vitest-dev/vitest/issues/3163)
[<samp>(8d460)</samp>](https://github.com/vitest-dev/vitest/commit/8d4606eb)

#####    🐞 Bug Fixes

- Don't call global setup teardown twice  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3188](https://github.com/vitest-dev/vitest/issues/3188)
[<samp>(ba3d1)</samp>](https://github.com/vitest-dev/vitest/commit/ba3d1338)
- Reporter to log version before provider initalizations  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3131](https://github.com/vitest-dev/vitest/issues/3131)
[<samp>(481b1)</samp>](https://github.com/vitest-dev/vitest/commit/481b1fd2)
- Throw an error if Vitest cannot access its internal state  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3250](https://github.com/vitest-dev/vitest/issues/3250)
[<samp>(fbb14)</samp>](https://github.com/vitest-dev/vitest/commit/fbb1468e)
- Warning suppression broken  -  by
[@&#8203;IceQub3](https://github.com/IceQub3) in
[https://github.com/vitest-dev/vitest/issues/3270](https://github.com/vitest-dev/vitest/issues/3270)
and
[https://github.com/vitest-dev/vitest/issues/3271](https://github.com/vitest-dev/vitest/issues/3271)
[<samp>(036de)</samp>](https://github.com/vitest-dev/vitest/commit/036de797)
- Show correct diff in "toHaveBeenCalledWith"  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3289](https://github.com/vitest-dev/vitest/issues/3289)
[<samp>(19fcd)</samp>](https://github.com/vitest-dev/vitest/commit/19fcd8df)
- Don't print esm warning, if package name is not found  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3292](https://github.com/vitest-dev/vitest/issues/3292)
[<samp>(62c14)</samp>](https://github.com/vitest-dev/vitest/commit/62c14cba)
- Support exactOptionalPropertyTypes  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3293](https://github.com/vitest-dev/vitest/issues/3293)
[<samp>(ba81d)</samp>](https://github.com/vitest-dev/vitest/commit/ba81d8a3)
- Don't inline vite hmr and rollup types  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3291](https://github.com/vitest-dev/vitest/issues/3291)
[<samp>(1f118)</samp>](https://github.com/vitest-dev/vitest/commit/1f1189bc)
-   **browser**:
- Failing to load vitest/utils  -  by
[@&#8203;userquin](https://github.com/userquin) in
[https://github.com/vitest-dev/vitest/issues/3190](https://github.com/vitest-dev/vitest/issues/3190)
[<samp>(78bad)</samp>](https://github.com/vitest-dev/vitest/commit/78bad4ab)
-   **coverage**:
- `thresholdAutoUpdate` to work with `perFile`  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3182](https://github.com/vitest-dev/vitest/issues/3182)
[<samp>(29eeb)</samp>](https://github.com/vitest-dev/vitest/commit/29eebf65)
- Throw error if fail to load built-in provider  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3217](https://github.com/vitest-dev/vitest/issues/3217)
[<samp>(0a287)</samp>](https://github.com/vitest-dev/vitest/commit/0a2875e3)
- Stackblitz hangs with c8  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3225](https://github.com/vitest-dev/vitest/issues/3225)
[<samp>(d9fda)</samp>](https://github.com/vitest-dev/vitest/commit/d9fda2a1)
- C8 to ignore vite's generated helpers  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3241](https://github.com/vitest-dev/vitest/issues/3241)
[<samp>(21942)</samp>](https://github.com/vitest-dev/vitest/commit/21942db0)
- Workspaces c8 source maps  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3226](https://github.com/vitest-dev/vitest/issues/3226)
[<samp>(efce3)</samp>](https://github.com/vitest-dev/vitest/commit/efce3b4d)
-   **docs**:
- Correct typo and broken link to WebdriverIO  -  by
[@&#8203;nathanbabcock](https://github.com/nathanbabcock) in
[https://github.com/vitest-dev/vitest/issues/3275](https://github.com/vitest-dev/vitest/issues/3275)
[<samp>(c7da1)</samp>](https://github.com/vitest-dev/vitest/commit/c7da155f)
-   **spy**:
- Update to set initial implementation through normal logic  -  by
[@&#8203;Codex-](https://github.com/Codex-) in
[https://github.com/vitest-dev/vitest/issues/3260](https://github.com/vitest-dev/vitest/issues/3260)
and
[https://github.com/vitest-dev/vitest/issues/3263](https://github.com/vitest-dev/vitest/issues/3263)
[<samp>(c759a)</samp>](https://github.com/vitest-dev/vitest/commit/c759a9aa)
-   **vite-node**:
- Circular imports  -  by [@&#8203;antfu](https://github.com/antfu) in
[https://github.com/vitest-dev/vitest/issues/3196](https://github.com/vitest-dev/vitest/issues/3196)
[<samp>(cbb59)</samp>](https://github.com/vitest-dev/vitest/commit/cbb593a8)
- Add missing `import.meta.hot.send` mock  -  by
[@&#8203;antfu](https://github.com/antfu)
[<samp>(b1624)</samp>](https://github.com/vitest-dev/vitest/commit/b1624db5)
-   **vitest**:
- Also check for vite relative to vitest package  -  by
[@&#8203;JoshuaKGoldberg](https://github.com/JoshuaKGoldberg) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3274](https://github.com/vitest-dev/vitest/issues/3274)
[<samp>(a3393)</samp>](https://github.com/vitest-dev/vitest/commit/a3393b15)
-   **watch**:
- Run test files when added to filesystem  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3189](https://github.com/vitest-dev/vitest/issues/3189)
[<samp>(7b2c8)</samp>](https://github.com/vitest-dev/vitest/commit/7b2c81bc)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.30.1...v0.31.0)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.30.0...v0.30.1)

#####    🐞 Bug Fixes

- Do not rely on global `performance` and `AggregateError`  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3171](https://github.com/vitest-dev/vitest/issues/3171)
[<samp>(cce45)</samp>](https://github.com/vitest-dev/vitest/commit/cce45496)
- Allow workspace without a config in the root  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3173](https://github.com/vitest-dev/vitest/issues/3173)
[<samp>(06852)</samp>](https://github.com/vitest-dev/vitest/commit/06852f18)
- `test.each` respects `chaiConfig`  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va)
[<samp>(4f6c1)</samp>](https://github.com/vitest-dev/vitest/commit/4f6c1340)
- Use relative paths in source map's "sources" field  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3177](https://github.com/vitest-dev/vitest/issues/3177)
[<samp>(6b1b4)</samp>](https://github.com/vitest-dev/vitest/commit/6b1b4e68)
-   **types**:
- Allow augmenting jest namespace for custom assertions  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3169](https://github.com/vitest-dev/vitest/issues/3169)
[<samp>(905ec)</samp>](https://github.com/vitest-dev/vitest/commit/905ec05a)
- Publish utils and snapshot .d.ts files for typescript  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3172](https://github.com/vitest-dev/vitest/issues/3172)
[<samp>(7af64)</samp>](https://github.com/vitest-dev/vitest/commit/7af64444)
-   **snapshot**:
- `toMatchFileSnapshot` ensure dir exists  -  by
[@&#8203;antfu](https://github.com/antfu) in
[https://github.com/vitest-dev/vitest/issues/3155](https://github.com/vitest-dev/vitest/issues/3155)
[<samp>(31168)</samp>](https://github.com/vitest-dev/vitest/commit/311682a8)
- Improve `skipWriting` check  -  by
[@&#8203;antfu](https://github.com/antfu)
[<samp>(5436c)</samp>](https://github.com/vitest-dev/vitest/commit/5436c736)
- Normalize EOL for `toMatchFileSnapshot`  -  by
[@&#8203;antfu](https://github.com/antfu) in
[https://github.com/vitest-dev/vitest/issues/3164](https://github.com/vitest-dev/vitest/issues/3164)
[<samp>(df3f2)</samp>](https://github.com/vitest-dev/vitest/commit/df3f2b50)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.30.0...v0.30.1)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.8...v0.30.0)

#####    🚨 Breaking Changes

- Remove tinyspy internal properties on Vitest spies  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3069](https://github.com/vitest-dev/vitest/issues/3069)
[<samp>(2f1dc)</samp>](https://github.com/vitest-dev/vitest/commit/2f1dc5ce)
- Only support Node.js 14.18.0 or newer  -  by
[@&#8203;danez](https://github.com/danez) in
[https://github.com/vitest-dev/vitest/issues/2985](https://github.com/vitest-dev/vitest/issues/2985)
[<samp>(287dc)</samp>](https://github.com/vitest-dev/vitest/commit/287dc205)
- Use "concordance" package to display diff instead of using custom diff
 -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2828](https://github.com/vitest-dev/vitest/issues/2828)
[<samp>(44630)</samp>](https://github.com/vitest-dev/vitest/commit/446308da)
- Move snapshot implementation into
[@&#8203;vitest/snapshot](https://github.com/vitest/snapshot)  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3032](https://github.com/vitest-dev/vitest/issues/3032)
[<samp>(6aff0)</samp>](https://github.com/vitest-dev/vitest/commit/6aff0176)
- Bump coverage packages vitest peer dependency  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3126](https://github.com/vitest-dev/vitest/issues/3126)
[<samp>(be1bf)</samp>](https://github.com/vitest-dev/vitest/commit/be1bf08d)
- Add workspace support  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3103](https://github.com/vitest-dev/vitest/issues/3103)
[<samp>(b9d1a)</samp>](https://github.com/vitest-dev/vitest/commit/b9d1a975)
-   Experimental optimizer introduced in 0.29.0 is temporarily disabled.

#####    🚀 Features

- Gzip html reporter's metadata  -  by
[@&#8203;7rulnik](https://github.com/7rulnik) in
[https://github.com/vitest-dev/vitest/issues/3113](https://github.com/vitest-dev/vitest/issues/3113)
[<samp>(7856e)</samp>](https://github.com/vitest-dev/vitest/commit/7856ec12)
- Add chai config  -  by [@&#8203;btea](https://github.com/btea) in
[https://github.com/vitest-dev/vitest/issues/3066](https://github.com/vitest-dev/vitest/issues/3066)
[<samp>(6fcba)</samp>](https://github.com/vitest-dev/vitest/commit/6fcba9ba)
- **snapshot**: Introduce `toMatchFileSnapshot` and auto queuing expect
promise  -  by [@&#8203;antfu](https://github.com/antfu) in
[https://github.com/vitest-dev/vitest/issues/3116](https://github.com/vitest-dev/vitest/issues/3116)
[<samp>(bdc06)</samp>](https://github.com/vitest-dev/vitest/commit/bdc06dcb)

#####    🐞 Bug Fixes

- Resolve reporters passed down to the CLI relative to the running
directory  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va)
in
[https://github.com/vitest-dev/vitest/issues/3097](https://github.com/vitest-dev/vitest/issues/3097)
[<samp>(93c7e)</samp>](https://github.com/vitest-dev/vitest/commit/93c7e39d)
- Don't show "diff" in "serialized error" section  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va)
[<samp>(326b2)</samp>](https://github.com/vitest-dev/vitest/commit/326b242d)
- Convert '--single-thread' and '--inspect' cli args to boolean  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3111](https://github.com/vitest-dev/vitest/issues/3111)
[<samp>(83a9a)</samp>](https://github.com/vitest-dev/vitest/commit/83a9aa74)
- Stack trace point to incorrect file  -  by
[@&#8203;ChenKS12138](https://github.com/ChenKS12138) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3004](https://github.com/vitest-dev/vitest/issues/3004)
and
[https://github.com/vitest-dev/vitest/issues/3115](https://github.com/vitest-dev/vitest/issues/3115)
[<samp>(5cee4)</samp>](https://github.com/vitest-dev/vitest/commit/5cee4fbf)
- Run benchmarks sequentially  -  by
[@&#8203;thecodrr](https://github.com/thecodrr) in
[https://github.com/vitest-dev/vitest/issues/2004](https://github.com/vitest-dev/vitest/issues/2004)
and
[https://github.com/vitest-dev/vitest/issues/3151](https://github.com/vitest-dev/vitest/issues/3151)
[<samp>(430b4)</samp>](https://github.com/vitest-dev/vitest/commit/430b4ecb)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.8...v0.30.0)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.7...v0.29.8)

#####    🚀 Features

- Allow accessing "vi" methods without context, don't fail when mocker
is not available  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3047](https://github.com/vitest-dev/vitest/issues/3047)
[<samp>(1531c)</samp>](https://github.com/vitest-dev/vitest/commit/1531c420)
- Show browser console in the terminal  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3048](https://github.com/vitest-dev/vitest/issues/3048)
[<samp>(ee6f5)</samp>](https://github.com/vitest-dev/vitest/commit/ee6f590d)
- Playwright as browser provider  -  by
[@&#8203;Aslemammad](https://github.com/Aslemammad) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3079](https://github.com/vitest-dev/vitest/issues/3079)
[<samp>(9dc69)</samp>](https://github.com/vitest-dev/vitest/commit/9dc69293)
- Implement `istanbul` coverage support for browser testing  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) and
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3040](https://github.com/vitest-dev/vitest/issues/3040)
[<samp>(0f44d)</samp>](https://github.com/vitest-dev/vitest/commit/0f44d2c8)

#####    🐞 Bug Fixes

- Add generic to expect.objectContaining type  -  by
[@&#8203;ArtyMaury](https://github.com/ArtyMaury) in
[https://github.com/vitest-dev/vitest/issues/3053](https://github.com/vitest-dev/vitest/issues/3053)
[<samp>(69d2c)</samp>](https://github.com/vitest-dev/vitest/commit/69d2cc93)
- Do not fail, when primitive error is thrown  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3074](https://github.com/vitest-dev/vitest/issues/3074)
[<samp>(6efe6)</samp>](https://github.com/vitest-dev/vitest/commit/6efe61ab)
- Handle cloning proxied classes w/ enumerable getters  -  by
[@&#8203;tgriesser](https://github.com/tgriesser) in
[https://github.com/vitest-dev/vitest/issues/3026](https://github.com/vitest-dev/vitest/issues/3026)
[<samp>(196a0)</samp>](https://github.com/vitest-dev/vitest/commit/196a067a)
- Spy on popup apis like alert  -  by
[@&#8203;Aslemammad](https://github.com/Aslemammad) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3076](https://github.com/vitest-dev/vitest/issues/3076)
[<samp>(280ad)</samp>](https://github.com/vitest-dev/vitest/commit/280ad1ed)
- Report coverage even when no tests found  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3091](https://github.com/vitest-dev/vitest/issues/3091)
[<samp>(2cb91)</samp>](https://github.com/vitest-dev/vitest/commit/2cb91211)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.7...v0.29.8)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.6...v0.29.7)

#####    🐞 Bug Fixes

- Import [@&#8203;vite/client](https://github.com/vite/client) in
browser code for handling optimizer  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va)
[<samp>(20c51)</samp>](https://github.com/vitest-dev/vitest/commit/20c510c4)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.6...v0.29.7)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.5...v0.29.6)

#####    🐞 Bug Fixes

- Bundle UI with
[@&#8203;vitest/browser](https://github.com/vitest/browser)  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va)
[<samp>(14091)</samp>](https://github.com/vitest-dev/vitest/commit/14091c59)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.5...v0.29.6)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.4...v0.29.5)

#####    🐞 Bug Fixes

- **browser**: Relax vitest peer dependency  -  by
[@&#8203;cexbrayat](https://github.com/cexbrayat) in
[https://github.com/vitest-dev/vitest/issues/3039](https://github.com/vitest-dev/vitest/issues/3039)
[<samp>(865d1)</samp>](https://github.com/vitest-dev/vitest/commit/865d1afd)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.4...v0.29.5)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.3...v0.29.4)

#####    🚀 Features

- `--test-timeout` CLI argument  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3019](https://github.com/vitest-dev/vitest/issues/3019)
[<samp>(63c62)</samp>](https://github.com/vitest-dev/vitest/commit/63c62f9e)
- Add an option to control Vitest pool with filepath  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3029](https://github.com/vitest-dev/vitest/issues/3029)
[<samp>(c7f0c)</samp>](https://github.com/vitest-dev/vitest/commit/c7f0c86b)
- Process timeout to log names of stuck test files  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3031](https://github.com/vitest-dev/vitest/issues/3031)
[<samp>(0ddf7)</samp>](https://github.com/vitest-dev/vitest/commit/0ddf7220)
- Support relative path in html report  -  by
[@&#8203;poyoho](https://github.com/poyoho) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2695](https://github.com/vitest-dev/vitest/issues/2695)
[<samp>(a7680)</samp>](https://github.com/vitest-dev/vitest/commit/a768015e)
- Webdriverio (+ custom providers) integration for browser mode  -  by
[@&#8203;Aslemammad](https://github.com/Aslemammad), **Christian
Bromann**, [@&#8203;sheremet-va](https://github.com/sheremet-va),
[@&#8203;userquin](https://github.com/userquin) and
[@&#8203;dammy001](https://github.com/dammy001) in
[https://github.com/vitest-dev/vitest/issues/2999](https://github.com/vitest-dev/vitest/issues/2999)
[<samp>(9cdc8)</samp>](https://github.com/vitest-dev/vitest/commit/9cdc8030)

#####    🐞 Bug Fixes

- Show correct line numbers in stack trace when using vi.resetModules()
 -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3020](https://github.com/vitest-dev/vitest/issues/3020)
[<samp>(35730)</samp>](https://github.com/vitest-dev/vitest/commit/35730328)
- Mocking value proxy filter Symbol static properties  -  by
[@&#8203;ChpShy](https://github.com/ChpShy) in
[https://github.com/vitest-dev/vitest/issues/3036](https://github.com/vitest-dev/vitest/issues/3036)
[<samp>(0cf44)</samp>](https://github.com/vitest-dev/vitest/commit/0cf44098)
- Escape XML in error stack trace when using junit reporter  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3038](https://github.com/vitest-dev/vitest/issues/3038)
[<samp>(cc577)</samp>](https://github.com/vitest-dev/vitest/commit/cc5779d6)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.3...v0.29.4)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.2...v0.29.3)

#####    🚀 Features

- Use custom colors implementation instead of picocolors  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va)
[<samp>(427b0)</samp>](https://github.com/vitest-dev/vitest/commit/427b0622)
- Uncaught errors to indicate env teardown  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2982](https://github.com/vitest-dev/vitest/issues/2982)
[<samp>(1fe82)</samp>](https://github.com/vitest-dev/vitest/commit/1fe8286c)
- **config**: Add an option to run setupFiles in sequence  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/3008](https://github.com/vitest-dev/vitest/issues/3008)
[<samp>(c2e25)</samp>](https://github.com/vitest-dev/vitest/commit/c2e25bb9)

#####    🐞 Bug Fixes

- Console log not visible  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2943](https://github.com/vitest-dev/vitest/issues/2943)
[<samp>(02808)</samp>](https://github.com/vitest-dev/vitest/commit/0280825f)
- Remove duplicate execArgv when deps.registerNodeLoader: true  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2965](https://github.com/vitest-dev/vitest/issues/2965)
[<samp>(a1954)</samp>](https://github.com/vitest-dev/vitest/commit/a1954cc0)
- Prevent running test cases timers after environment teardown  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2971](https://github.com/vitest-dev/vitest/issues/2971)
[<samp>(bde75)</samp>](https://github.com/vitest-dev/vitest/commit/bde75a34)
- Don't mark setupFiles as test files, if experimentaOptimizer is used
 -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2974](https://github.com/vitest-dev/vitest/issues/2974)
[<samp>(819c6)</samp>](https://github.com/vitest-dev/vitest/commit/819c6cbe)
- Config errors not visible  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2995](https://github.com/vitest-dev/vitest/issues/2995)
[<samp>(f01c7)</samp>](https://github.com/vitest-dev/vitest/commit/f01c7833)
- \--inspect to work inside workers  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2983](https://github.com/vitest-dev/vitest/issues/2983)
[<samp>(36087)</samp>](https://github.com/vitest-dev/vitest/commit/36087d1e)
- **types**: Use `any` as default value for TArgs in vi.fn()  -  by
[@&#8203;jessevanassen](https://github.com/jessevanassen) in
[https://github.com/vitest-dev/vitest/issues/2947](https://github.com/vitest-dev/vitest/issues/2947)
[<samp>(1bdcc)</samp>](https://github.com/vitest-dev/vitest/commit/1bdcc212)

#####    🏎 Performance

- **reporters**: Overall improvements  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/3006](https://github.com/vitest-dev/vitest/issues/3006)
[<samp>(22ca0)</samp>](https://github.com/vitest-dev/vitest/commit/22ca0b6b)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.2...v0.29.3)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.1...v0.29.2)

#####    🐞 Bug Fixes

- Optimize dependencies in setup files  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2935](https://github.com/vitest-dev/vitest/issues/2935)
[<samp>(c169f)</samp>](https://github.com/vitest-dev/vitest/commit/c169f980)
- **coverage**: C8 provider to work when isolate:false  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2929](https://github.com/vitest-dev/vitest/issues/2929)
[<samp>(86538)</samp>](https://github.com/vitest-dev/vitest/commit/8653830b)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.1...v0.29.2)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.29.0...v0.29.1)

#####    🐞 Bug Fixes

- Wait for optimized dependency to be bundled in non-pnpm package
managers  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va)
[<samp>(d2460)</samp>](https://github.com/vitest-dev/vitest/commit/d2460b7a)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.29.0...v0.29.1)

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

[Compare
Source](https://github.com/vitest-dev/vitest/compare/v0.28.5...v0.29.0)

This release makes some significant changes to how tests are running. If
you were using `--no-threads` before, you might consider enabling
`--single-thread` instead (because your tests are now running in
`child_process` instead of a worker thread) or try our new performance
optimization feature (discussed later). If you were relying on API that
was not available inside a worker (like `process.chdir()`, you can now
use this option.

One of the potential breaking bug fixes is that environments do not
share the same global scope anymore if you run them with `--no-isolate`,
`--no-threads` or `--single-thread` - you might need to update your
setup files if you were relying on a global variable before.

If you had performance issues on large code bases before, try the new
[`deps.experimentalOptimizer`](https://vitest.dev/config/#deps-experimentaloptimizer)
option instead of disabling threads. Feedback is welcome!

One of the breaking changes includes adding a link to snapshots inside
snapshot files, meaning you will need to update all your snapshots.

#####    🚨 Breaking Changes

- Vitest as peer dependency for coverage packages  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2836](https://github.com/vitest-dev/vitest/issues/2836)
[<samp>(94247)</samp>](https://github.com/vitest-dev/vitest/commit/94247f1b)
- Coverage-c8 to use V8 profiler directly instead of `NODE_V8_COVERAGE`
 -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2786](https://github.com/vitest-dev/vitest/issues/2786)
[<samp>(095c6)</samp>](https://github.com/vitest-dev/vitest/commit/095c6390)
- Add a link to the comment at the top of the snapshot file  -  by
[@&#8203;btea](https://github.com/btea) in
[https://github.com/vitest-dev/vitest/issues/2867](https://github.com/vitest-dev/vitest/issues/2867)
[<samp>(615e1)</samp>](https://github.com/vitest-dev/vitest/commit/615e150b)
- Always run separate environments in isolation  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2860](https://github.com/vitest-dev/vitest/issues/2860)
[<samp>(1f858)</samp>](https://github.com/vitest-dev/vitest/commit/1f858e0c)
- Tests with `node` and `jsdom` (and other environments) now don't share
the same global scope, if you run them with `--no-isolate` or
`--no-threads` flag. Vitest doesn't provide a way to restore the
previous behavior as it is considered a bug.
- Use child_process when --no-threads is used  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2772](https://github.com/vitest-dev/vitest/issues/2772)
[<samp>(7bf54)</samp>](https://github.com/vitest-dev/vitest/commit/7bf54505)
- Tests inside `chid_process` might run longer due to the communication
overhead. If you want to restore the previous behavior, use
`--single-thread`.

#####    🚀 Features

- Add test seed to banner  -  by
[@&#8203;btkostner](https://github.com/btkostner) in
[https://github.com/vitest-dev/vitest/issues/2877](https://github.com/vitest-dev/vitest/issues/2877)
[<samp>(bdb39)</samp>](https://github.com/vitest-dev/vitest/commit/bdb39569)
- Use custom source-map-support implementation  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2905](https://github.com/vitest-dev/vitest/issues/2905)
[<samp>(6ff6c)</samp>](https://github.com/vitest-dev/vitest/commit/6ff6c6eb)
- Add an option to enable Vite optimizer  -  by
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2912](https://github.com/vitest-dev/vitest/issues/2912)
[<samp>(af8de)</samp>](https://github.com/vitest-dev/vitest/commit/af8de362)
-   **coverage**:
- Add support for coverage reporter options  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2690](https://github.com/vitest-dev/vitest/issues/2690)
[<samp>(f8176)</samp>](https://github.com/vitest-dev/vitest/commit/f8176182)
- Automatic threshold updating  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2886](https://github.com/vitest-dev/vitest/issues/2886)
[<samp>(e1652)</samp>](https://github.com/vitest-dev/vitest/commit/e1652163)
-   **spy**:
- Implement mock.withImplementation API  -  by
[@&#8203;obadakhalili](https://github.com/obadakhalili) and
[@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2835](https://github.com/vitest-dev/vitest/issues/2835)
[<samp>(610b1)</samp>](https://github.com/vitest-dev/vitest/commit/610b1d46)
-   **vite-node**:
- Cli option for vite mode  -  by
[@&#8203;abarke](https://github.com/abarke) in
[https://github.com/vitest-dev/vitest/issues/2893](https://github.com/vitest-dev/vitest/issues/2893)
[<samp>(0fc08)</samp>](https://github.com/vitest-dev/vitest/commit/0fc08032)

#####    🐞 Bug Fixes

- Wait for console.log to print a message before terminating a worker
 -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in
[https://github.com/vitest-dev/vitest/issues/2861](https://github.com/vitest-dev/vitest/issues/2861)
[<samp>(fbc54)</samp>](https://github.com/vitest-dev/vitest/commit/fbc54c91)
- Cleanup last mocked cache when call vi.doMock  -  by
[@&#8203;mysteryven](https://github.com/mysteryven) in
[https://github.com/vitest-dev/vitest/issues/2872](https://github.com/vitest-dev/vitest/issues/2872)
[<samp>(65d71)</samp>](https://github.com/vitest-dev/vitest/commit/65d71b9e)
- Reload changed configuration file on watch mode  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2889](https://github.com/vitest-dev/vitest/issues/2889)
[<samp>(4d277)</samp>](https://github.com/vitest-dev/vitest/commit/4d277d8d)
- **coverage**: Custom providers to work inside worker threads  -  by
[@&#8203;AriPerkkio](https://github.com/AriPerkkio) in
[https://github.com/vitest-dev/vitest/issues/2817](https://github.com/vitest-dev/vitest/issues/2817)
[<samp>(81604)</samp>](https://github.com/vitest-dev/vitest/commit/81604bce)

#####     [View changes on
GitHub](https://github.com/vitest-dev/vitest/compare/v0.28.5...v0.29.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

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

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/huang-julien/nuxt-hydration).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS44Ny4xIiwidXBkYXRlZEluVmVyIjoiMzUuODcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants