kolaente
b365be1881
chore: v2.2.0 release preparations
2026-03-20 13:40:18 +01:00
renovate[bot]
9c3fa8e91b
chore(deps): update dependency stylelint to v17.5.0
2026-03-20 10:17:24 +01:00
renovate[bot]
aed93b9389
chore(deps): update dev-dependencies to v4.2.2
2026-03-18 17:57:57 +01:00
renovate[bot]
650ceabd3c
chore(deps): update dependency vue-tsc to v3.2.6
2026-03-17 19:01:11 +01:00
renovate[bot]
176588bf1d
chore(deps): update dev-dependencies
2026-03-17 10:12:15 +01:00
kolaente
e20af6df40
fix(deps): override flatted to 3.4.1 to fix unbounded recursion DoS
...
Adds pnpm override for flatted to resolve GHSA-25h7-pfq9-p65f.
2026-03-17 09:52:49 +01:00
renovate[bot]
88a011aadc
chore(deps): update dependency caniuse-lite to v1.0.30001779
2026-03-16 08:59:31 +01:00
renovate[bot]
9bcdbb6433
chore(deps): update dev-dependencies ( #2395 )
...
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/ ) |
[Confidence](https://docs.renovatebot.com/merge-confidence/ ) |
|---|---|---|---|
|
[@vitejs/plugin-vue](https://redirect.github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#readme )
([source](https://redirect.github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue ))
| [`6.0.4` →
`6.0.5`](https://renovatebot.com/diffs/npm/@vitejs%2fplugin-vue/6.0.4/6.0.5 )
|

|

|
| [caniuse-lite](https://redirect.github.com/browserslist/caniuse-lite )
| [`1.0.30001777` →
`1.0.30001778`](https://renovatebot.com/diffs/npm/caniuse-lite/1.0.30001777/1.0.30001778 )
|

|

|
| [electron](https://redirect.github.com/electron/electron ) | [`40.8.0`
→ `40.8.2`](https://renovatebot.com/diffs/npm/electron/40.8.0/40.8.2 ) |

|

|
| [esbuild](https://redirect.github.com/evanw/esbuild ) | [`0.27.3` →
`0.27.4`](https://renovatebot.com/diffs/npm/esbuild/0.27.3/0.27.4 ) |

|

|
| [happy-dom](https://redirect.github.com/capricorn86/happy-dom ) |
[`20.8.3` →
`20.8.4`](https://renovatebot.com/diffs/npm/happy-dom/20.8.3/20.8.4 ) |

|

|
| [vite-plugin-vue-devtools](https://redirect.github.com/vuejs/devtools )
([source](https://redirect.github.com/vuejs/devtools/tree/HEAD/packages/vite ))
| [`8.0.7` →
`8.1.0`](https://renovatebot.com/diffs/npm/vite-plugin-vue-devtools/8.0.7/8.1.0 )
|

|

|
| [vitest](https://vitest.dev )
([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest ))
| [`4.0.18` →
`4.1.0`](https://renovatebot.com/diffs/npm/vitest/4.0.18/4.1.0 ) |

|

|
---
### Release Notes
<details>
<summary>vitejs/vite-plugin-vue (@​vitejs/plugin-vue)</summary>
###
[`v6.0.5`](https://redirect.github.com/vitejs/vite-plugin-vue/blob/HEAD/packages/plugin-vue/CHANGELOG.md#small-605-2026-03-12-small )
##### Miscellaneous Chores
- remove Vite 8 beta from supported range
([#​746](https://redirect.github.com/vitejs/vite-plugin-vue/issues/746 ))
([b3f23e4](b3f23e4d08 ))
</details>
<details>
<summary>browserslist/caniuse-lite (caniuse-lite)</summary>
###
[`v1.0.30001778`](https://redirect.github.com/browserslist/caniuse-lite/compare/1.0.30001777...1.0.30001778 )
[Compare
Source](https://redirect.github.com/browserslist/caniuse-lite/compare/1.0.30001777...1.0.30001778 )
</details>
<details>
<summary>electron/electron (electron)</summary>
###
[`v40.8.2`](https://redirect.github.com/electron/electron/releases/tag/v40.8.2 ):
electron v40.8.2
[Compare
Source](https://redirect.github.com/electron/electron/compare/v40.8.1...v40.8.2 )
### Release Notes for v40.8.2
#### Other Changes
- Backported fix for b/491421267.
[#​50229](https://redirect.github.com/electron/electron/pull/50229 )
- Fixed an issue where running app icons were not correctly retrieved on
macOS Tahoe.
[#​50188](https://redirect.github.com/electron/electron/pull/50188 )
###
[`v40.8.1`](https://redirect.github.com/electron/electron/releases/tag/v40.8.1 ):
electron v40.8.1
[Compare
Source](https://redirect.github.com/electron/electron/compare/v40.8.0...v40.8.1 )
### Release Notes for v40.8.1
#### Fixes
- Added validation to protocol client methods to reject protocol names
that do not conform to the RFC 3986 URI scheme grammar.
[#​50158](https://redirect.github.com/electron/electron/pull/50158 )
<sup>(Also in
[38](https://redirect.github.com/electron/electron/pull/50157 ),
[39](https://redirect.github.com/electron/electron/pull/50156 ),
[41](https://redirect.github.com/electron/electron/pull/50155 ))</sup>
- Fixed an issue on macOS where calling `autoUpdater.quitAndInstall()`
could fail if `checkForUpdates()` was called again after an update was
already downloaded.
[#​50216](https://redirect.github.com/electron/electron/pull/50216 )
<sup>(Also in
[39](https://redirect.github.com/electron/electron/pull/50215 ),
[41](https://redirect.github.com/electron/electron/pull/50217 ))</sup>
- Fixed an issue where Chrome Devtools menus may not appear in certain
embedded windows.
[#​50138](https://redirect.github.com/electron/electron/pull/50138 )
<sup>(Also in
[39](https://redirect.github.com/electron/electron/pull/50136 ),
[41](https://redirect.github.com/electron/electron/pull/50137 ))</sup>
- Fixed an issue where `additionalData` passed to
`app.requestSingleInstanceLock` on Windows could be truncated or fail to
deserialize in the primary instance's `second-instance` event.
[#​50162](https://redirect.github.com/electron/electron/pull/50162 )
<sup>(Also in
[38](https://redirect.github.com/electron/electron/pull/50177 ),
[39](https://redirect.github.com/electron/electron/pull/50174 ),
[41](https://redirect.github.com/electron/electron/pull/50154 ))</sup>
- Fixed an issue where `screen.getCursorScreenPoint()` crashed on
Wayland when it was called before a `BrowserWindow` had been created.
[#​50104](https://redirect.github.com/electron/electron/pull/50104 )
<sup>(Also in
[39](https://redirect.github.com/electron/electron/pull/50106 ),
[41](https://redirect.github.com/electron/electron/pull/50105 ))</sup>
- Fixed an issue where calling `setBounds` on a `WebContentsView` could
trigger redundant `page-favicon-updated` events even when the favicon
had not changed.
[#​50084](https://redirect.github.com/electron/electron/pull/50084 )
<sup>(Also in
[39](https://redirect.github.com/electron/electron/pull/50086 ),
[41](https://redirect.github.com/electron/electron/pull/50085 ))</sup>
- Fixed an issue where invalid characters in custom protocol or
webRequest response header values were not rejected.
[#​50131](https://redirect.github.com/electron/electron/pull/50131 )
<sup>(Also in
[38](https://redirect.github.com/electron/electron/pull/50130 ),
[39](https://redirect.github.com/electron/electron/pull/50129 ),
[41](https://redirect.github.com/electron/electron/pull/50132 ))</sup>
- Fixed an issue where permission and device-chooser handlers received
the top-level page origin instead of the requesting subframe's origin.
[#​50149](https://redirect.github.com/electron/electron/pull/50149 )
<sup>(Also in
[38](https://redirect.github.com/electron/electron/pull/50151 ),
[39](https://redirect.github.com/electron/electron/pull/50147 ),
[41](https://redirect.github.com/electron/electron/pull/50148 ))</sup>
- Fixed an issue where traffic light buttons would flash at position
(0,0) when restoring a window with a custom `trafficLightPosition` from
minimization on macOS.
[#​50207](https://redirect.github.com/electron/electron/pull/50207 )
<sup>(Also in
[39](https://redirect.github.com/electron/electron/pull/50208 ),
[41](https://redirect.github.com/electron/electron/pull/50209 ))</sup>
- Fixed bug where opening a message box immediately upon closing a child
window may cause the parent window to freeze on Windows.
[#​50189](https://redirect.github.com/electron/electron/pull/50189 )
<sup>(Also in
[39](https://redirect.github.com/electron/electron/pull/50190 ),
[41](https://redirect.github.com/electron/electron/pull/50191 ))</sup>
- Reverted AltGr key fix that caused menu bar to no longer show on
Windows.
[#​50110](https://redirect.github.com/electron/electron/pull/50110 )
<sup>(Also in
[39](https://redirect.github.com/electron/electron/pull/50109 ),
[41](https://redirect.github.com/electron/electron/pull/50111 ))</sup>
#### Other Changes
- Backported fix for chromium:485622239.
[#​50168](https://redirect.github.com/electron/electron/pull/50168 )
</details>
<details>
<summary>evanw/esbuild (esbuild)</summary>
###
[`v0.27.4`](https://redirect.github.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0274 )
[Compare
Source](https://redirect.github.com/evanw/esbuild/compare/v0.27.3...v0.27.4 )
- Fix a regression with CSS media queries
([#​4395](https://redirect.github.com/evanw/esbuild/issues/4395 ),
[#​4405](https://redirect.github.com/evanw/esbuild/issues/4405 ),
[#​4406](https://redirect.github.com/evanw/esbuild/issues/4406 ))
Version 0.25.11 of esbuild introduced support for parsing media queries.
This unintentionally introduced a regression with printing media queries
that use the `<media-type> and <media-condition-without-or>` grammar.
Specifically, esbuild was failing to wrap an `or` clause with
parentheses when inside `<media-condition-without-or>`. This release
fixes the regression.
Here is an example:
```css
/* Original code */
@​media only screen and ((min-width: 10px) or (min-height: 10px))
{
a { color: red }
}
/* Old output (incorrect) */
@​media only screen and (min-width: 10px) or (min-height: 10px) {
a {
color: red;
}
}
/* New output (correct) */
@​media only screen and ((min-width: 10px) or (min-height: 10px))
{
a {
color: red;
}
}
```
- Fix an edge case with the `inject` feature
([#​4407](https://redirect.github.com/evanw/esbuild/issues/4407 ))
This release fixes an edge case where esbuild's `inject` feature could
not be used with arbitrary module namespace names exported using an
`export {} from` statement with bundling disabled and a target
environment where arbitrary module namespace names is unsupported.
With the fix, the following `inject` file:
```js
import jquery from 'jquery';
export { jquery as 'window.jQuery' };
```
Can now always be rewritten as this without esbuild sometimes
incorrectly generating an error:
```js
export { default as 'window.jQuery' } from 'jquery';
```
- Attempt to improve API handling of huge metafiles
([#​4329](https://redirect.github.com/evanw/esbuild/issues/4329 ),
[#​4415](https://redirect.github.com/evanw/esbuild/issues/4415 ))
This release contains a few changes that attempt to improve the behavior
of esbuild's JavaScript API with huge metafiles (esbuild's name for the
build metadata, formatted as a JSON object). The JavaScript API is
designed to return the metafile JSON as a JavaScript object in memory,
which makes it easy to access from within a JavaScript-based plugin.
Multiple people have encountered issues where this API breaks down with
a pathologically-large metafile.
The primary issue is that V8 has an implementation-specific maximum
string length, so using the `JSON.parse` API with large enough strings
is impossible. This release will now attempt to use a fallback
JavaScript-based JSON parser that operates directly on the UTF8-encoded
JSON bytes instead of using `JSON.parse` when the JSON metafile is too
big to fit in a JavaScript string. The new fallback path has not yet
been heavily-tested. The metafile will also now be generated with
whitespace removed if the bundle is significantly large, which will
reduce the size of the metafile JSON slightly.
However, hitting this case is potentially a sign that something else is
wrong. Ideally you wouldn't be building something so enormous that the
build metadata can't even fit inside a JavaScript string. You may want
to consider optimizing your project, or breaking up your project into
multiple parts that are built independently. Another option could
potentially be to use esbuild's command-line API instead of its
JavaScript API, which is more efficient (although of course then you
can't use JavaScript plugins, so it may not be an option).
</details>
<details>
<summary>capricorn86/happy-dom (happy-dom)</summary>
###
[`v20.8.4`](https://redirect.github.com/capricorn86/happy-dom/compare/v20.8.3...82a0888cb2c87a6123e05424b528f8e8c9b3e426 )
[Compare
Source](https://redirect.github.com/capricorn86/happy-dom/compare/v20.8.3...v20.8.4 )
</details>
<details>
<summary>vuejs/devtools (vite-plugin-vue-devtools)</summary>
###
[`v8.1.0`](https://redirect.github.com/vuejs/devtools/releases/tag/v8.1.0 )
[Compare
Source](https://redirect.github.com/vuejs/devtools/compare/v8.0.7...v8.1.0 )
*No significant changes*
##### [View changes on
GitHub](https://redirect.github.com/vuejs/devtools/compare/v8.0.8...v8.1.0 )
</details>
<details>
<summary>vitest-dev/vitest (vitest)</summary>
###
[`v4.1.0`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v4.1.0 )
[Compare
Source](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.18...v4.1.0 )
Vitest 4.1 is out!
This release page lists all changes made to the project during the 4.1
beta. To get a review of all the new features, read our [blog
post](https://vitest.dev/blog/vitest-4 ).
##### 🚀 Features
- Return a disposable from doMock() - by
[@​kirkwaiblinger](https://redirect.github.com/kirkwaiblinger ) in
[#​9332](https://redirect.github.com/vitest-dev/vitest/issues/9332 )
[<samp>(e3e65)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/e3e659a96 )
- Added chai style assertions - by
[@​ronnakamoto](https://redirect.github.com/ronnakamoto ) and
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​8842](https://redirect.github.com/vitest-dev/vitest/issues/8842 )
[<samp>(841df)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/841df9ac5 )
- Update to sinon/fake-timers v15 and add `setTickMode` to timer
controls - by [@​atscott](https://redirect.github.com/atscott )
and [@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​8726](https://redirect.github.com/vitest-dev/vitest/issues/8726 )
[<samp>(4b480)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/4b480aaed )
- Expose matcher types - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9448](https://redirect.github.com/vitest-dev/vitest/issues/9448 )
[<samp>(3e4b9)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/3e4b913b1 )
- Add `toTestSpecification` to reported tasks - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9464](https://redirect.github.com/vitest-dev/vitest/issues/9464 )
[<samp>(1a470)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/1a4705da9 )
- Show a warning if `vi.mock` or `vi.hoisted` are declared outside of
top level of the module - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9387](https://redirect.github.com/vitest-dev/vitest/issues/9387 )
[<samp>(5db54)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/5db54a468 )
- Track and display expectedly failed tests (.fails) in UI and CLI -
by [@​Copilot](https://redirect.github.com/Copilot ),
**sheremet-va** and
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9476](https://redirect.github.com/vitest-dev/vitest/issues/9476 )
[<samp>(77d75)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/77d75fd34 )
- Support tags - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9478](https://redirect.github.com/vitest-dev/vitest/issues/9478 )
[<samp>(de7c8)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/de7c8a521 )
- Implement `aroundEach` and `aroundAll` hooks - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9450](https://redirect.github.com/vitest-dev/vitest/issues/9450 )
[<samp>(2a8cb)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/2a8cb9dc2 )
- Stabilize experimental features - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9529](https://redirect.github.com/vitest-dev/vitest/issues/9529 )
[<samp>(b5fd2)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/b5fd2a16a )
- Accept `new` or `all` in `--update` flag - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9543](https://redirect.github.com/vitest-dev/vitest/issues/9543 )
[<samp>(a5acf)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/a5acf28a5 )
- Support `meta` in test options - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9535](https://redirect.github.com/vitest-dev/vitest/issues/9535 )
[<samp>(7d622)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/7d622e3d1 )
- Support type inference with a new `test.extend` syntax - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9550](https://redirect.github.com/vitest-dev/vitest/issues/9550 )
[<samp>(e5385)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/e53854fcc )
- Support vite 8 beta, fix type issues in the config with different vite
versions - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9587](https://redirect.github.com/vitest-dev/vitest/issues/9587 )
[<samp>(99028)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/990281dfd )
- Add assertion helper to hide internal stack traces - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) and **Claude
Opus 4.6** in
[#​9594](https://redirect.github.com/vitest-dev/vitest/issues/9594 )
[<samp>(eeb0a)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/eeb0ae2f8 )
- Store failure screenshots using artifacts API - by
[@​macarie](https://redirect.github.com/macarie ) in
[#​9588](https://redirect.github.com/vitest-dev/vitest/issues/9588 )
[<samp>(24603)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/24603e3c4 )
- Allow `vitest list` to statically collect tests instead of running
files to collect them - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9630](https://redirect.github.com/vitest-dev/vitest/issues/9630 )
[<samp>(7a8e7)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/7a8e7fc20 )
- Add `--detect-async-leaks` - by
[@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in
[#​9528](https://redirect.github.com/vitest-dev/vitest/issues/9528 )
[<samp>(c594d)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c594d4af3 )
- Implement `mockThrow` and `mockThrowOnce` - by
[@​thor-juhasz](https://redirect.github.com/thor-juhasz ) and
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9512](https://redirect.github.com/vitest-dev/vitest/issues/9512 )
[<samp>(61917)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/619179fb7 )
- Support `update: "none"` and add docs about snapshots behavior on CI
- by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in
[#​9700](https://redirect.github.com/vitest-dev/vitest/issues/9700 )
[<samp>(05f18)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/05f1854e2 )
- Support playwright `launchOptions` with `connectOptions` - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in
[#​9702](https://redirect.github.com/vitest-dev/vitest/issues/9702 )
[<samp>(f0ff1)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/f0ff1b2a0 )
- Add `page/locator.mark` API to enhance playwright trace - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in
[#​9652](https://redirect.github.com/vitest-dev/vitest/issues/9652 )
[<samp>(d0ee5)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/d0ee546fe )
- **api**:
- Support tests starting or ending with `test` in
`experimental_parseSpecification` - by
[@​jgillick](https://redirect.github.com/jgillick ) and **Jeremy
Gillick** in
[#​9235](https://redirect.github.com/vitest-dev/vitest/issues/9235 )
[<samp>(2f367)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/2f367fad3 )
- Add filters to `createSpecification` - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9336](https://redirect.github.com/vitest-dev/vitest/issues/9336 )
[<samp>(c8e6c)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c8e6c7fbf )
- Expose `runTestFiles` as alternative to `runTestSpecifications` - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9443](https://redirect.github.com/vitest-dev/vitest/issues/9443 )
[<samp>(43d76)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/43d761821 )
- Add `allowWrite` and `allowExec` options to `api` - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9350](https://redirect.github.com/vitest-dev/vitest/issues/9350 )
[<samp>(20e00)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/20e00ef78 )
- Allow passing down test cases to `toTestSpecification` - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9627](https://redirect.github.com/vitest-dev/vitest/issues/9627 )
[<samp>(6f17d)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/6f17d5ddf )
- **browser**:
- Add `userEvent.wheel` API - by
[@​macarie](https://redirect.github.com/macarie ) in
[#​9188](https://redirect.github.com/vitest-dev/vitest/issues/9188 )
[<samp>(66080)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/660801979 )
- Add `filterNode` option to prettyDOM for filtering browser assertion
error output - by
[@​Copilot](https://redirect.github.com/Copilot ), **sheremet-va**
and [@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9475](https://redirect.github.com/vitest-dev/vitest/issues/9475 )
[<samp>(d3220)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/d3220fcd8 )
- Support playwright persistent context - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ), **Claude Opus
4.6** and [@​sheremet-va](https://redirect.github.com/sheremet-va )
in
[#​9229](https://redirect.github.com/vitest-dev/vitest/issues/9229 )
[<samp>(f865d)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/f865d2ba4 )
- Added `detailsPanelPosition` option and button - by
[@​shairez](https://redirect.github.com/shairez ) in
[#​9525](https://redirect.github.com/vitest-dev/vitest/issues/9525 )
[<samp>(c8a31)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c8a31147c )
- Use BlazeDiff instead of pixelmatch - by
[@​macarie](https://redirect.github.com/macarie ) in
[#​9514](https://redirect.github.com/vitest-dev/vitest/issues/9514 )
[<samp>(30936)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/309362089 )
- Add `findElement` and enable strict mode in webdriverio and preview
- by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9677](https://redirect.github.com/vitest-dev/vitest/issues/9677 )
[<samp>(c3f37)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c3f37721c )
- **cli**:
- Add [@​bomb](https://redirect.github.com/bomb ).sh/tab
completions - by
[@​AmirSa12](https://redirect.github.com/AmirSa12 ) and
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​8639](https://redirect.github.com/vitest-dev/vitest/issues/8639 )
[<samp>(200f3)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/200f31704 )
- **coverage**:
- Support `ignore start/stop` ignore hints - by
[@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in
[#​9204](https://redirect.github.com/vitest-dev/vitest/issues/9204 )
[<samp>(e59c9)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/e59c94ba6 )
- Add `coverage.changed` option to report only changed files - by
[@​kykim00](https://redirect.github.com/kykim00 ) and
[@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in
[#​9521](https://redirect.github.com/vitest-dev/vitest/issues/9521 )
[<samp>(1d939)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/1d9392c67 )
- **experimental**:
- Add `onModuleRunner` hook to `worker.init` - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9286](https://redirect.github.com/vitest-dev/vitest/issues/9286 )
[<samp>(e977f)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/e977f3deb )
- Option to disable the module runner - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) and
[@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in
[#​9210](https://redirect.github.com/vitest-dev/vitest/issues/9210 )
[<samp>(9be61)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/9be6121ee )
- Add `importDurations: { limit, print }` options - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ), **Claude Opus
4.6** and [@​sheremet-va](https://redirect.github.com/sheremet-va )
in
[#​9401](https://redirect.github.com/vitest-dev/vitest/issues/9401 )
[<samp>(7e10f)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/7e10fb356 )
- Add print and fail thresholds for `importDurations` - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) and **Claude
Opus 4.6** in
[#​9533](https://redirect.github.com/vitest-dev/vitest/issues/9533 )
[<samp>(3f7a5)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/3f7a5f8f8 )
- **fixtures**:
- Pass down file context to `beforeAll`/`afterAll` - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9572](https://redirect.github.com/vitest-dev/vitest/issues/9572 )
[<samp>(c8339)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c83395f2c )
- **reporters**:
- Add `agent` reporter to reduce ai agent token usage - by
[@​cpojer](https://redirect.github.com/cpojer ) in
[#​9779](https://redirect.github.com/vitest-dev/vitest/issues/9779 )
[<samp>(3e9e0)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/3e9e096a2 )
- **runner**:
- Enhance `retry` options - by
[@​MazenSamehR](https://redirect.github.com/MazenSamehR ), **Matan
Shavit**, [@​AriPerkkio](https://redirect.github.com/AriPerkkio )
and [@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9370](https://redirect.github.com/vitest-dev/vitest/issues/9370 )
[<samp>(9e4cf)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/9e4cfd295 )
- **ui**:
- Allow run individual test/suites - by
[@​userquin](https://redirect.github.com/userquin ) in
[#​9465](https://redirect.github.com/vitest-dev/vitest/issues/9465 )
[<samp>(73b10)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/73b10f1b9 )
- Add project filter/sort support - by
[@​userquin](https://redirect.github.com/userquin ) in
[#​8689](https://redirect.github.com/vitest-dev/vitest/issues/8689 )
[<samp>(0c7ea)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/0c7eaac16 )
- Add duration sorting to explorer - by
[@​julianhahn](https://redirect.github.com/julianhahn ) and
[@​cursoragent](https://redirect.github.com/cursoragent ) in
[#​9603](https://redirect.github.com/vitest-dev/vitest/issues/9603 )
[<samp>(209b1)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/209b1b0e1 )
- Implement filter for slow tests - by
[@​DerYeger](https://redirect.github.com/DerYeger ) and
[@​userquin](https://redirect.github.com/userquin ) in
[#​9705](https://redirect.github.com/vitest-dev/vitest/issues/9705 )
[<samp>(8880c)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/8880c907a )
- **vitest**:
- Add run summary in GitHub Actions Reporter - by
[@​macarie](https://redirect.github.com/macarie ) and **jhnance**
in
[#​9579](https://redirect.github.com/vitest-dev/vitest/issues/9579 )
[<samp>(96bfc)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/96bfc8345 )
##### 🐞 Bug Fixes
- Deprecate several vitest/\* entry points - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9347](https://redirect.github.com/vitest-dev/vitest/issues/9347 )
[<samp>(fd459)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/fd45928be )
- Use `meta.url` in `createRequire` - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9441](https://redirect.github.com/vitest-dev/vitest/issues/9441 )
[<samp>(e3422)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/e34225563 )
- Preact browser mode init example of render function not async - by
[@​WuMingDao](https://redirect.github.com/WuMingDao ) in
[#​9375](https://redirect.github.com/vitest-dev/vitest/issues/9375 )
[<samp>(2bea5)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/2bea549c7 )
- Deprecate unused types in matcher context - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9449](https://redirect.github.com/vitest-dev/vitest/issues/9449 )
[<samp>(20f87)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/20f8753a2 )
- Handle `external/noExternal` during `configEnvironment` hook - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) and **Claude
Opus 4.6** in
[#​9508](https://redirect.github.com/vitest-dev/vitest/issues/9508 )
[<samp>(59ea2)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/59ea27c1c )
- Replace default ssr environment runner with Vitest server module
runner - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa )
and **Claude Opus 4.6** in
[#​9506](https://redirect.github.com/vitest-dev/vitest/issues/9506 )
[<samp>(cd5db)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/cd5db660c )
- Propagate experimental CLI options to child projects - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) and **Claude
Opus 4.6** in
[#​9531](https://redirect.github.com/vitest-dev/vitest/issues/9531 )
[<samp>(b624f)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/b624fae53 )
- Show a warning when `browser.isolate` is used - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9410](https://redirect.github.com/vitest-dev/vitest/issues/9410 )
[<samp>(3d48e)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/3d48ebcb9 )
- Fix `vi.mock({ spy: true })` node v8 coverage - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ), **hi-ogawa**
and **Claude Opus 4.6** in
[#​9541](https://redirect.github.com/vitest-dev/vitest/issues/9541 )
[<samp>(687b6)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/687b633c1 )
- Don't show internal ssr handler in errors - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9547](https://redirect.github.com/vitest-dev/vitest/issues/9547 )
[<samp>(76c43)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/76c4397b5 )
- Close vitest if it failed to start - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9573](https://redirect.github.com/vitest-dev/vitest/issues/9573 )
[<samp>(728ba)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/728ba617f )
- Fix ssr environment runner in project - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in
[#​9584](https://redirect.github.com/vitest-dev/vitest/issues/9584 )
[<samp>(09006)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/090064f97 )
- Trim trailing white spaces in code block - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in
[#​9591](https://redirect.github.com/vitest-dev/vitest/issues/9591 )
[<samp>(f78be)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/f78bea992 )
- Support inline snapshot inside test.for/each - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in
[#​9590](https://redirect.github.com/vitest-dev/vitest/issues/9590 )
[<samp>(615fd)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/615fd521e )
- Apply source maps for external module stack trace - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in
[#​9152](https://redirect.github.com/vitest-dev/vitest/issues/9152 )
[<samp>(79e20)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/79e20d5a3 )
- Remove the `.name` from statically collected test - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9596](https://redirect.github.com/vitest-dev/vitest/issues/9596 )
[<samp>(b66ff)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/b66ff691a )
- Don't suppress warnings on pnp - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9602](https://redirect.github.com/vitest-dev/vitest/issues/9602 )
[<samp>(89cbd)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/89cbdaea3 )
- Support snapshot with `expect.soft` - by
[@​iumehara](https://redirect.github.com/iumehara ),
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) and **Claude
Opus 4.6** in
[#​9231](https://redirect.github.com/vitest-dev/vitest/issues/9231 )
[<samp>(3eb2c)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/3eb2cd541 )
- Log seed when only `sequence.shuffle.tests` is enabled - by
[@​kaigritun](https://redirect.github.com/kaigritun ), **Kai
Gritun** and
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9576](https://redirect.github.com/vitest-dev/vitest/issues/9576 )
[<samp>(8182b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/8182b77ad )
- Externalize `expect/src/utils` from `vitest` - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in
[#​9616](https://redirect.github.com/vitest-dev/vitest/issues/9616 )
[<samp>(48739)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/487398422 )
- Ignore test.override during static collection - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9620](https://redirect.github.com/vitest-dev/vitest/issues/9620 )
[<samp>(09174)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/0917470ce )
- Increase stacktrace limit for `--detect-async-leaks` - by
[@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in
[#​9638](https://redirect.github.com/vitest-dev/vitest/issues/9638 )
[<samp>(9fd4c)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/9fd4ce533 )
- Hanging-reporter link in cli - by
[@​flx-sta](https://redirect.github.com/flx-sta ) in
[#​9649](https://redirect.github.com/vitest-dev/vitest/issues/9649 )
[<samp>(7c103)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/7c103055c )
- Fix teardown timeout of `aroundEach/All` when inner `aroundEach/All`
throws - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa )
in
[#​9657](https://redirect.github.com/vitest-dev/vitest/issues/9657 )
[<samp>(4ec6c)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/4ec6cb305 )
- Fix ui mode / html reporter and coverage integration - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) and **Claude
Opus 4.6** in
[#​9626](https://redirect.github.com/vitest-dev/vitest/issues/9626 )
[<samp>(86fad)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/86fad4b42 )
- Don't continue when `aroundEach/All` setup timed out - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in
[#​9670](https://redirect.github.com/vitest-dev/vitest/issues/9670 )
[<samp>(bb013)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/bb013d54b )
- Align `VitestRunnerConfig` optional fields with `SerializedConfig` -
by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in
[#​9661](https://redirect.github.com/vitest-dev/vitest/issues/9661 )
[<samp>(79520)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/79520d82d )
- Handle Symbol values in format utility - by
[@​nami8824](https://redirect.github.com/nami8824 ) in
[#​9658](https://redirect.github.com/vitest-dev/vitest/issues/9658 )
[<samp>(0583f)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/0583f067e )
- Deprecate `toBe*` spy assertions in favor of `toHaveBeen*` (and
`toThrowError`) - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9665](https://redirect.github.com/vitest-dev/vitest/issues/9665 )
[<samp>(4d390)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/4d390dfe9 )
- Don't propagate nested `aroundEach/All` errors but aggregate them on
runner - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa )
in
[#​9673](https://redirect.github.com/vitest-dev/vitest/issues/9673 )
[<samp>(b6365)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/b63653f5a )
- Show a better error if there is a pending dynamic import - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9676](https://redirect.github.com/vitest-dev/vitest/issues/9676 )
[<samp>(7ef5c)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/7ef5cf4b7 )
- Preserve stack trace of `resolves/rejects` chained assertion error -
by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in
[#​9679](https://redirect.github.com/vitest-dev/vitest/issues/9679 )
[<samp>(c6151)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c61511d4a )
- Handle module-sync condition in vmThreads/vmForks require - by
[@​lesleh](https://redirect.github.com/lesleh ) in
[#​9650](https://redirect.github.com/vitest-dev/vitest/issues/9650 )
and
[#​9651](https://redirect.github.com/vitest-dev/vitest/issues/9651 )
[<samp>(bb203)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/bb20389f4 )
- Hooks should respect `maxConcurrency` - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in
[#​9653](https://redirect.github.com/vitest-dev/vitest/issues/9653 )
[<samp>(16d13)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/16d13d981 )
- Recursively autospy module object - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in
[#​9687](https://redirect.github.com/vitest-dev/vitest/issues/9687 )
[<samp>(695a8)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/695a86b41 )
- Remove trailing spaces from diff error log - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) and
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9680](https://redirect.github.com/vitest-dev/vitest/issues/9680 )
[<samp>(395d1)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/395d1a29e )
- Respect project `resolve.conditions` for externals - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in
[#​9717](https://redirect.github.com/vitest-dev/vitest/issues/9717 )
[<samp>(1d498)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/1d4987498 )
- Use object for WeakMap instead of a symbol to support webcontainers
- by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9731](https://redirect.github.com/vitest-dev/vitest/issues/9731 )
[<samp>(c5225)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c52259330 )
- Fix re-mocking virtual module - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in
[#​9748](https://redirect.github.com/vitest-dev/vitest/issues/9748 )
[<samp>(3cbbb)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/3cbbb17f1 )
- Cancelling should stop current test immediately - by
[@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in
[#​9729](https://redirect.github.com/vitest-dev/vitest/issues/9729 )
[<samp>(0cb2f)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/0cb2f7239 )
- Make `mockObject` change backwards compatible - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9744](https://redirect.github.com/vitest-dev/vitest/issues/9744 )
[<samp>(84c69)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/84c69497f )
- Fix `URL.name` on jsdom - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in
[#​9767](https://redirect.github.com/vitest-dev/vitest/issues/9767 )
[<samp>(031f3)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/031f3a374 )
- Save and restore module graph in blob reporter - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in
[#​9740](https://redirect.github.com/vitest-dev/vitest/issues/9740 )
[<samp>(84355)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/843554bf0 )
- Don't silence reporter errors from test runtime events handler in
normal run and --merge-reports - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in
[#​9727](https://redirect.github.com/vitest-dev/vitest/issues/9727 )
[<samp>(4072d)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/4072d0132 )
- Fix `vi.importActual()` for virtual modules - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) and **Claude
Opus 4.6** in
[#​9772](https://redirect.github.com/vitest-dev/vitest/issues/9772 )
[<samp>(1e89e)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/1e89ec020 )
- Throw `FixtureAccessError` if suite hook accesses undefined fixture
- by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9786](https://redirect.github.com/vitest-dev/vitest/issues/9786 )
[<samp>(fc2ce)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/fc2cea2b7 )
- Allow hyphens in project config file name pattern - by
[@​Koutaro-Hanabusa](https://redirect.github.com/Koutaro-Hanabusa )
and [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in
[#​9760](https://redirect.github.com/vitest-dev/vitest/issues/9760 )
[<samp>(33e96)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/33e96311a )
- Manual and redirect mock shouldn't `load` or `transform` original
module - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa )
and **Claude Opus 4.6** in
[#​9774](https://redirect.github.com/vitest-dev/vitest/issues/9774 )
[<samp>(a8216)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/a8216b001 )
- `hideSkippedTests` should not hide `test.todo` - by
[@​oilater](https://redirect.github.com/oilater ) in
[#​9562](https://redirect.github.com/vitest-dev/vitest/issues/9562 )
and
[#​9781](https://redirect.github.com/vitest-dev/vitest/issues/9781 )
[<samp>(8181e)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/8181e06e7 )
- Allow catch/finally for async assertion - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in
[#​9827](https://redirect.github.com/vitest-dev/vitest/issues/9827 )
[<samp>(031f0)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/031f02a89 )
- Resolve fixture overrides from test's suite in `beforeEach` hooks -
by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) and **Claude
Opus 4.6** in
[#​9826](https://redirect.github.com/vitest-dev/vitest/issues/9826 )
[<samp>(99e52)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/99e52fe58 )
- Use isAgent check, not just TTY, for watch mode - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9841](https://redirect.github.com/vitest-dev/vitest/issues/9841 )
[<samp>(c3cac)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c3cac1c1b )
- Use `performance.now` to measure test timeout duration - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) and **Claude
Opus 4.6** in
[#​9795](https://redirect.github.com/vitest-dev/vitest/issues/9795 )
[<samp>(f48a6)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/f48a60114 )
- Correctly identify concurrent test during static analysis - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9846](https://redirect.github.com/vitest-dev/vitest/issues/9846 )
[<samp>(1de0a)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/1de0aa22d )
- **browser**:
- Avoid updating screenshots when `toMatchScreenshot` passes - by
[@​macarie](https://redirect.github.com/macarie ) in
[#​9289](https://redirect.github.com/vitest-dev/vitest/issues/9289 )
[<samp>(46aab)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/46aabaa44 )
- Hide injected data-testid attributes - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9503](https://redirect.github.com/vitest-dev/vitest/issues/9503 )
[<samp>(c8d2c)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c8d2c411c )
- Throw an error if iframe was reloaded - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9516](https://redirect.github.com/vitest-dev/vitest/issues/9516 )
[<samp>(73a81)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/73a81f880 )
- Encode projectName in browser client URL - by
[@​dkkim0122](https://redirect.github.com/dkkim0122 ) in
[#​9523](https://redirect.github.com/vitest-dev/vitest/issues/9523 )
[<samp>(5b164)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/5b16483c3 )
- Don't take failure screenshot if tests have artifacts created by
`toMatchScreenshot` - by
[@​macarie](https://redirect.github.com/macarie ) in
[#​9552](https://redirect.github.com/vitest-dev/vitest/issues/9552 )
[<samp>(83ca0)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/83ca02547 )
- Remove `--remote-debugging-address` from chrome args - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) and
[@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in
[#​9712](https://redirect.github.com/vitest-dev/vitest/issues/9712 )
[<samp>(f09bb)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/f09bb5c32 )
- Make sure userEvent actions support `ensureAwaited` - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9732](https://redirect.github.com/vitest-dev/vitest/issues/9732 )
[<samp>(97685)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/9768517b8 )
- Types of `getCDPSession` and `cdp()` - by
[@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in
[#​9716](https://redirect.github.com/vitest-dev/vitest/issues/9716 )
[<samp>(689a2)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/689a22a1b )
- Skip esbuild.legalComments when using rolldown-vite - by
[@​Copilot](https://redirect.github.com/Copilot ), **hi-ogawa** and
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in
[#​9803](https://redirect.github.com/vitest-dev/vitest/issues/9803 )
[<samp>(3505f)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/3505fa5a3 )
- **chai**:
- Don't allow `deepEqual` in the config because it's not serializable
- by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9666](https://redirect.github.com/vitest-dev/vitest/issues/9666 )
[<samp>(9ee99)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/9ee999d73 )
- **coverage**:
- Infer transform mode for uncovered files - by
[@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in
[#​9435](https://redirect.github.com/vitest-dev/vitest/issues/9435 )
[<samp>(f3967)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/f396792d6 )
- `thresholds.autoUpdate` to preserve ending whitespace - by
[@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in
[#​9436](https://redirect.github.com/vitest-dev/vitest/issues/9436 )
[<samp>(7e534)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/7e534a0b6 )
- **deps**:
- Update all non-major dependencies - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in
[#​9192](https://redirect.github.com/vitest-dev/vitest/issues/9192 )
[<samp>(90c30)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/90c302f3b )
- Update all non-major dependencies - in
[#​9485](https://redirect.github.com/vitest-dev/vitest/issues/9485 )
[<samp>(c0118)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c01186022 )
- Update all non-major dependencies - in
[#​9567](https://redirect.github.com/vitest-dev/vitest/issues/9567 )
[<samp>(13c9e)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/13c9e022b )
- **docs**:
- Fix old `/config/#option` hash links causing hydration errors - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ), **Claude Opus
4.6** and [@​sheremet-va](https://redirect.github.com/sheremet-va )
in
[#​9610](https://redirect.github.com/vitest-dev/vitest/issues/9610 )
[<samp>(a603c)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/a603c3a30 )
- **expect**:
- `toMatchObject(Map/Set)` should expect `Map/Set` on left hand side -
by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) and **Claude
Opus 4.6** in
[#​9532](https://redirect.github.com/vitest-dev/vitest/issues/9532 )
[<samp>(381da)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/381da4a9d )
- Fix objectContaining with proxy - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) and **Claude
Opus 4.6** in
[#​9554](https://redirect.github.com/vitest-dev/vitest/issues/9554 )
[<samp>(7ce34)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/7ce3417b1 )
- Support arbitrary value equality for `toThrow` and make Error
detection robust - by
[@​hi-ogawa](https://redirect.github.com/hi-ogawa ) and **Claude
Opus 4.6** in
[#​9570](https://redirect.github.com/vitest-dev/vitest/issues/9570 )
[<samp>(de215)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/de215c19c )
- **mock**:
- Inject helpers after hashbang if present - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9545](https://redirect.github.com/vitest-dev/vitest/issues/9545 )
[<samp>(65432)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/65432a74b )
- **mocker**:
- Update vite's peer dependency range - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9808](https://redirect.github.com/vitest-dev/vitest/issues/9808 )
[<samp>(36f9a)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/36f9a81a2 )
- **reporter**:
- `dot` reporter leaves pending tests - by
[@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in
[#​9684](https://redirect.github.com/vitest-dev/vitest/issues/9684 )
[<samp>(4d793)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/4d7938a56 )
- **runner**:
- Mark repeated tests as finished on last run - by
[@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in
[#​9707](https://redirect.github.com/vitest-dev/vitest/issues/9707 )
[<samp>(cc735)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/cc735970a )
- **spy**:
- Support deep partial in vi.mocked - by
[@​j2h30728](https://redirect.github.com/j2h30728 ) in
[#​8152](https://redirect.github.com/vitest-dev/vitest/issues/8152 )
and
[#​9493](https://redirect.github.com/vitest-dev/vitest/issues/9493 )
[<samp>(71cb5)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/71cb51ffc )
- Fallback to object accessor if descriptor's value is `undefined` -
by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9511](https://redirect.github.com/vitest-dev/vitest/issues/9511 )
[<samp>(6f181)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/6f18103fa )
- Throw correct errors when shorthand methods are used on a class - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9513](https://redirect.github.com/vitest-dev/vitest/issues/9513 )
[<samp>(5d0fd)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/5d0fd3b62 )
- **types**:
- `bench.reporters` no longer gives type errors when passing file name
string paths - by
[@​Bertie690](https://redirect.github.com/Bertie690 ) in
[#​9695](https://redirect.github.com/vitest-dev/vitest/issues/9695 )
[<samp>(093c8)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/093c8f6b5 )
- **ui**:
- Process artifact attachments when generating HTML reporter - by
[@​macarie](https://redirect.github.com/macarie ) in
[#​9472](https://redirect.github.com/vitest-dev/vitest/issues/9472 )
[<samp>(96eb9)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/96eb92826 )
- Don't fail if --ui and --root are specified together - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9536](https://redirect.github.com/vitest-dev/vitest/issues/9536 )
[<samp>(d9305)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/d93055fc7 )
##### 🏎 Performance
- **pretty-format**: Combine DOMElement plugins - by
[@​sheremet-va](https://redirect.github.com/sheremet-va ) in
[#​9581](https://redirect.github.com/vitest-dev/vitest/issues/9581 )
[<samp>(da85a)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/da85a3267 )
##### [View changes on
GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v4.0.17...v4.1.0 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM ( * 0-3
* * * ) (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://redirect.github.com/renovatebot/renovate/discussions ) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/go-vikunja/vikunja ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My42Ni40IiwidXBkYXRlZEluVmVyIjoiNDMuNjYuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-14 22:49:09 +00:00
renovate[bot]
c57c884fd4
chore(deps): update dependency sass-embedded to v1.98.0
2026-03-11 08:53:39 +01:00
renovate[bot]
271da6a2ec
chore(deps): update dev-dependencies to v8.57.0
2026-03-09 21:06:23 +01:00
renovate[bot]
52e47c732f
chore(deps): update dependency eslint to v9.39.4
2026-03-08 12:09:25 +01:00
renovate[bot]
c49d8e129a
chore(deps): update dev-dependencies
2026-03-06 10:02:55 +01:00
dependabot[bot]
b85ad9c298
chore(deps): bump dompurify from 3.3.1 to 3.3.2 in /frontend
...
Bumps [dompurify](https://github.com/cure53/DOMPurify ) from 3.3.1 to 3.3.2.
- [Release notes](https://github.com/cure53/DOMPurify/releases )
- [Commits](https://github.com/cure53/DOMPurify/compare/3.3.1...3.3.2 )
---
updated-dependencies:
- dependency-name: dompurify
dependency-version: 3.3.2
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-06 10:02:38 +01:00
renovate[bot]
e5701fc0e3
chore(deps): update dev-dependencies
2026-03-06 08:47:55 +01:00
renovate[bot]
2dd4421fb5
chore(deps): update dependency vite-svg-loader to v5.1.1
2026-03-05 19:43:50 +01:00
renovate[bot]
3fad03d40f
chore(deps): update dependency rollup-plugin-visualizer to v6.0.11
2026-03-04 11:03:35 +01:00
kolaente
da9cb87448
fix(shortcuts): track active sequences explicitly to prevent misfires
...
Replace the global sequenceBuffer (which only tracked key count) with
per-candidate ActiveSequence tracking. This fixes two bugs:
- Sequences with different prefixes could misfire once any sequence
started, since only buffer length was checked, not which sequence
was being matched.
- Single-key shortcuts could fire during an in-progress sequence,
preempting sequence completion depending on binding iteration order.
2026-03-03 14:00:25 +01:00
kolaente
f8763d812e
fix: correct package.json indentation after dependency removal
2026-03-03 14:00:25 +01:00
kolaente
18969e61be
chore(deps): remove @github/hotkey dependency
...
Remove @github/hotkey package, its patch file, and the
patchedDependencies entry since all shortcut handling is now done by
the custom @/helpers/shortcut module.
2026-03-03 14:00:25 +01:00
kolaente
1d02e76914
fix(deps): remove obsolete flexsearch 0.7.43 patch
...
The patch fixed missing module/types fields in flexsearch 0.7's
package.json. Version 0.8.212 ships with proper exports, making
the patch unnecessary.
2026-03-03 13:17:24 +01:00
renovate[bot]
4f1830768a
fix(deps): update dependency flexsearch to v0.8.212
2026-03-03 13:17:24 +01:00
renovate[bot]
8b5ab62af9
chore(deps): update dev-dependencies
2026-03-03 13:05:59 +01:00
renovate[bot]
9a4a2eb184
chore(deps): update dev-dependencies
2026-03-03 12:45:12 +01:00
Dominik Pschenitschni
0a9586e8d4
feat: use offical vite plugin for sentry ( #873 )
2026-03-03 12:30:49 +01:00
kolaente
a08667b669
feat(frontend): upgrade Tailwind CSS from v3 to v4
...
- Replace tailwindcss v3 with tailwindcss v4 + @tailwindcss/vite plugin
- Create dedicated tailwind.css entry with granular imports (skip preflight)
- Use CSS-first config with prefix(tw) instead of JS config
- Switch from PostCSS plugin to Vite plugin for better performance
- Update class prefix from tw- (dash) to tw: (colon) in all Vue files
- Remove @tailwind directives from global.scss
- Delete tailwind.config.js (replaced by CSS directives)
- Update stylelint at-rules for v4 directives
2026-03-03 11:46:18 +01:00
renovate[bot]
648605c066
chore(deps): update dependency @vue/tsconfig to v0.9.0
2026-03-02 09:06:20 +01:00
kolaente
8690332652
chore(deps): upgrade serialize-javascript to 7.0.3
2026-03-02 08:56:08 +01:00
renovate[bot]
cb2647abbe
chore(deps): update dev-dependencies
2026-03-02 08:26:16 +01:00
kolaente
4cce6ed34c
chore(deps): upgrade transitive minimatch from 10.2.1 to 10.2.3+
2026-02-26 23:33:39 +01:00
kolaente
04590d959c
chore(deps): upgrade transitive basic-ftp from 5.0.5 to 5.2.0
...
Add pnpm override to bump basic-ftp (transitive dependency via
puppeteer/get-uri) from 5.0.5 to 5.2.0.
2026-02-26 23:16:01 +01:00
kolaente
f2a4a40e28
chore(deps): override transitive rollup 2.x to use direct dependency version
...
Add pnpm override to force all transitive rollup dependencies to use
the direct dependency version (4.59.0), eliminating the old 2.79.2
pulled in by workbox-build.
2026-02-26 23:16:00 +01:00
renovate[bot]
a76ba87939
chore(deps): update dev-dependencies
2026-02-26 22:54:58 +01:00
renovate[bot]
b6205bb809
chore(deps): update dependency autoprefixer to v10.4.26
2026-02-25 20:30:07 +01:00
renovate[bot]
89c9209de4
chore(deps): update dependency stylelint to v17.4.0
2026-02-25 15:23:20 +01:00
renovate[bot]
f362738e33
chore(deps): update dev-dependencies to v8.56.1
2026-02-23 20:50:07 +01:00
renovate[bot]
524d8f522d
chore(deps): update dependency caniuse-lite to v1.0.30001774
2026-02-23 10:24:42 +01:00
renovate[bot]
5ff1596314
chore(deps): update dev-dependencies
2026-02-23 10:14:21 +01:00
renovate[bot]
4babc477ef
chore(deps): update dev-dependencies
2026-02-21 23:12:36 +01:00
renovate[bot]
d00bb999b5
chore(deps): update dev-dependencies
2026-02-20 22:44:24 +01:00
renovate[bot]
1c8b9e8810
chore(deps): update dependency rollup-plugin-visualizer to v6.0.8
2026-02-20 11:32:32 +01:00
kolaente
b64926be73
chore(deps): update minimatch to ^10.2.1 via pnpm overrides
...
Add pnpm overrides in frontend and desktop to consolidate all
transitive minimatch versions (3.1.2, 5.1.6, 9.0.1, 9.0.5, 10.1.1)
to 10.2.1, resolving the known ReDoS vulnerability in older versions.
2026-02-19 14:20:29 +01:00
renovate[bot]
37a013c472
chore(deps): update dev-dependencies
2026-02-19 13:08:14 +01:00
renovate[bot]
31eda396e2
chore(deps): update dev-dependencies ( #2257 )
...
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/ ) |
[Confidence](https://docs.renovatebot.com/merge-confidence/ ) |
|---|---|---|---|
|
[electron-builder](https://redirect.github.com/electron-userland/electron-builder )
([source](https://redirect.github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-builder ))
| [`26.8.0` →
`26.8.1`](https://renovatebot.com/diffs/npm/electron-builder/26.8.0/26.8.1 )
|

|

|
| [happy-dom](https://redirect.github.com/capricorn86/happy-dom ) |
[`20.6.1` →
`20.6.2`](https://renovatebot.com/diffs/npm/happy-dom/20.6.1/20.6.2 ) |

|

|
---
### Release Notes
<details>
<summary>electron-userland/electron-builder (electron-builder)</summary>
###
[`v26.8.1`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/electron-builder/CHANGELOG.md#2681 )
[Compare
Source](https://redirect.github.com/electron-userland/electron-builder/compare/electron-builder@26.8.0...electron-builder@26.8.1 )
##### Patch Changes
<details><summary>Updated 3 dependencies</summary>
<small>
[`4edd695`](4edd695045 )
[`8940ec6`](8940ec63ba )
[`4edd695`](4edd695045 )
[`dde4309`](dde4309b91 )
</small>
- `app-builder-lib@26.8.1`
- `builder-util@26.8.1`
- `dmg-builder@26.8.1`
</details>
</details>
<details>
<summary>capricorn86/happy-dom (happy-dom)</summary>
###
[`v20.6.2`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v20.6.2 )
[Compare
Source](https://redirect.github.com/capricorn86/happy-dom/compare/v20.6.1...v20.6.2 )
##### :construction\_worker\_man: Patch fixes
- Update entities package version to resolve missing export for vue and
vue-compat v3.5 - By
**[@​acollins1991](https://redirect.github.com/acollins1991 )** in
task
[#​2066](https://redirect.github.com/capricorn86/happy-dom/issues/2066 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM ( * 0-3
* * * ) (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://redirect.github.com/renovatebot/renovate/discussions ) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/go-vikunja/vikunja ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMi4wIiwidXBkYXRlZEluVmVyIjoiNDMuMjIuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-18 15:44:19 +00:00
renovate[bot]
f67802721a
chore(deps): update dependency @vue/eslint-config-typescript to v14.7.0
2026-02-17 15:38:34 +01:00
renovate[bot]
7b7b883139
chore(deps): pin dependency eslint-plugin-depend to 1.4.0
2026-02-17 15:19:07 +01:00
kolaente
2fe66c8944
feat: add eslint-plugin-depend to frontend
2026-02-17 12:00:31 +01:00
renovate[bot]
c3b760ec04
chore(deps): update dev-dependencies to v8.56.0
2026-02-16 21:09:53 +01:00
renovate[bot]
ad1d769f5b
chore(deps): update dependency caniuse-lite to v1.0.30001770
2026-02-15 19:53:52 +01:00
renovate[bot]
e8d8f9cbec
chore(deps): update dependency eslint-plugin-vue to v10.8.0
2026-02-14 20:16:39 +01:00
renovate[bot]
5a3c17aed1
chore(deps): update dev-dependencies
2026-02-13 19:02:57 +01:00