kolaente
46dbeb5784
feat(editor): preserve comment-id on blockquotes
...
Extend the default Blockquote with a `commentId` attribute that
round-trips through HTML as `data-comment-id`. This single attribute
is the canonical record of a reply: it survives TipTap serialize /
parse so the backend listener and the in-app renderer can both find
the parent comment without a separate schema field.
2026-05-20 21:02:14 +00:00
kolaente
1fd1427fed
fix(deps): bump postcss to >=8.5.10 to fix XSS via unescaped </style>
...
Adds a pnpm override to force postcss to a patched version (>=8.5.10),
removing the vulnerable postcss@7.0.39 pulled in transitively by
postcss-easing-gradients. Resolves GHSA / Dependabot alert #197 .
2026-05-19 16:58:25 +02:00
kolaente
a5dc85b5d3
fix(deps): bump ip-address to 10.2.0
...
Adds a pnpm override to pull ip-address >=10.1.1, resolving the XSS
vulnerability in Address6 HTML-emitting methods (GHSA, dev-only
transitive dependency via puppeteer/socks).
2026-05-19 16:56:07 +02:00
renovate[bot]
faeeebe661
chore(deps): update dev-dependencies to v8.59.4
2026-05-18 19:01:32 +00:00
renovate[bot]
ad457488fd
chore(deps): update dependency vue-tsc to v3.3.0
2026-05-18 18:13:13 +00:00
renovate[bot]
d4e186a024
chore(deps): update dependency caniuse-lite to v1.0.30001793
2026-05-17 14:51:39 +00:00
renovate[bot]
c371ca7196
chore(deps): update dev-dependencies
2026-05-15 13:57:32 +00:00
renovate[bot]
7caaa9a16a
chore(deps): update dev-dependencies
2026-05-15 10:28:16 +00:00
renovate[bot]
57a0b8fee4
chore(deps): update dev-dependencies to v4.3.0
2026-05-11 21:21:39 +00:00
renovate[bot]
572edd431d
chore(deps): update dev-dependencies
2026-05-11 06:05:06 +00:00
renovate[bot]
812fa11b9b
chore(deps): update dependency vite to v7.3.3
2026-05-07 07:38:48 +00:00
dependabot[bot]
fc9a9a6c71
chore(deps): bump axios from 1.15.0 to 1.15.2 in /frontend
...
Bumps [axios](https://github.com/axios/axios ) from 1.15.0 to 1.15.2.
- [Release notes](https://github.com/axios/axios/releases )
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md )
- [Commits](https://github.com/axios/axios/compare/v1.15.0...v1.15.2 )
---
updated-dependencies:
- dependency-name: axios
dependency-version: 1.15.2
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-05-06 12:37:48 +00:00
renovate[bot]
4754230ef0
chore(deps): update dev-dependencies
2026-05-06 12:37:26 +00:00
kolaente
926e163089
chore(deps): bump workbox-precaching to 7.4.1 to match workbox-cli
2026-05-05 08:31:42 +00:00
renovate[bot]
7ed0e3ecd6
chore(deps): update dev-dependencies
2026-05-05 08:31:42 +00:00
renovate[bot]
55e96018f3
chore(deps): update dev-dependencies
2026-05-04 10:55:46 +00:00
renovate[bot]
0f1bf6fab2
chore(deps): update dev-dependencies
2026-05-04 10:21:25 +00:00
kolaente
9852aff4ee
fix(frontend): add postcss-html as explicit devDependency
...
Stylelint 17.9.0 resolves customSyntax modules relative to the
stylelint package, so the transitive postcss-html pulled in via
stylelint-config-recommended-vue is no longer reachable and lint
fails with "Could not find postcss-html".
2026-04-27 09:22:01 +00:00
renovate[bot]
519b65b96e
chore(deps): update dev-dependencies
2026-04-27 09:22:01 +00:00
renovate[bot]
71c2e01366
chore(deps): update dependency caniuse-lite to v1.0.30001790
2026-04-22 10:18:08 +00:00
renovate[bot]
49ac0348e4
chore(deps): update dev-dependencies
2026-04-22 06:31:37 +00:00
renovate[bot]
0b2b5b580d
chore(deps): update dev-dependencies
2026-04-21 18:38:21 +00:00
renovate[bot]
9d25864b25
chore(deps): pin dependency otplib to 12.0.1
2026-04-21 11:14:41 +00:00
kolaente
3b7c098c84
test(e2e): add otplib dev dep for TOTP tests
2026-04-21 10:50:09 +00:00
renovate[bot]
73a597345a
chore(deps): update dev-dependencies to v4.2.3
2026-04-21 07:41:56 +00:00
renovate[bot]
5a1db90103
chore(deps): update dev-dependencies to v8.59.0
2026-04-20 19:28:55 +00:00
renovate[bot]
326874d94c
chore(deps): update dev-dependencies
2026-04-20 06:18:12 +00:00
dependabot[bot]
10ec3b55b0
chore(deps): bump dompurify from 3.3.2 to 3.4.0 in /frontend
...
Bumps [dompurify](https://github.com/cure53/DOMPurify ) from 3.3.2 to 3.4.0.
- [Release notes](https://github.com/cure53/DOMPurify/releases )
- [Commits](https://github.com/cure53/DOMPurify/compare/3.3.2...3.4.0 )
---
updated-dependencies:
- dependency-name: dompurify
dependency-version: 3.4.0
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-04-16 13:01:57 +00:00
renovate[bot]
2ae194e943
chore(deps): update dependency postcss to v8.5.10
2026-04-15 16:25:26 +00:00
renovate[bot]
85dbef8330
chore(deps): update dependency stylelint to v17.8.0
2026-04-15 15:49:30 +00:00
kolaente
a1fbc277be
fix(deps): patch follow-redirects and basic-ftp security vulnerabilities
...
Update follow-redirects to 1.16.0 (fixes auth header leak on cross-domain
redirects) and basic-ftp to 5.2.2 (fixes CRLF injection in FTP commands).
2026-04-14 20:49:42 +02:00
renovate[bot]
c68649faf4
chore(deps): update dev-dependencies
2026-04-14 10:51:01 +00:00
renovate[bot]
a3ac01346a
chore(deps): update dev-dependencies
2026-04-13 10:14:34 +00:00
renovate[bot]
160495b84e
chore(deps): update dependency stylelint to v17.7.0
2026-04-12 14:42:19 +00:00
renovate[bot]
df7a5c645c
chore(deps): update dependency wait-on to v9.0.5
2026-04-10 22:57:21 +00:00
dependabot[bot]
e8c20b1244
chore(deps): bump axios from 1.13.5 to 1.15.0 in /frontend
...
Bumps [axios](https://github.com/axios/axios ) from 1.13.5 to 1.15.0.
- [Release notes](https://github.com/axios/axios/releases )
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md )
- [Commits](https://github.com/axios/axios/compare/v1.13.5...v1.15.0 )
---
updated-dependencies:
- dependency-name: axios
dependency-version: 1.15.0
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-04-10 09:58:30 +00:00
kolaente
28b537837f
chore: v2.3.0 release preparations
2026-04-09 20:43:40 +02:00
kolaente
27a88dd17a
fix(deps): bump basic-ftp override to 5.2.1 to patch CRLF injection
...
Resolves Dependabot alert #183 (high severity): basic-ftp 5.2.0 is
vulnerable to FTP command injection via CRLF. The package is pulled in
as a dev-only transitive dependency by @histoire/plugin-screenshot.
2026-04-09 15:34:00 +02:00
renovate[bot]
4415485675
chore(deps): update dependency vitest to v4.1.4
2026-04-09 08:59:51 +00:00
renovate[bot]
e898c01e3d
chore(deps): update dev-dependencies
2026-04-08 08:03:18 +00:00
renovate[bot]
11299d773f
chore(deps): update dependency vitest to v4.1.3
2026-04-07 13:43:01 +00:00
renovate[bot]
33886d2e3c
chore(deps): update dev-dependencies
2026-04-06 16:23:31 +00:00
kolaente
0834d19f9c
feat: remove flexsearch dependency and replace with simple string filtering ( #2542 )
2026-04-04 21:41:25 +02:00
renovate[bot]
33d607714d
chore(deps): update dependency caniuse-lite to v1.0.30001785
2026-04-04 18:38:07 +00:00
renovate[bot]
12ba9ff985
chore(deps): update dev-dependencies
2026-04-03 17:52:24 +00:00
renovate[bot]
ea54f3eb85
chore(deps): update dependency ws to v8.20.0
2026-04-03 16:57:34 +00:00
renovate[bot]
b69564a77c
chore(deps): pin dependencies
2026-04-03 16:16:07 +00:00
kolaente
4cd79088d1
test: add WebSocket e2e tests
...
Add comprehensive end-to-end tests for the WebSocket system:
- Protocol tests: auth (valid/invalid token, timeout, double auth),
subscriptions (valid/invalid event, auth required, unsubscribe),
message delivery (notification on team add, doer exclusion,
multi-connection)
- Frontend integration tests: notification badge update, dropdown
rendering, and logout cleanup via browser-level Playwright tests
- Comment notification test: full flow where user B mentions user A
in a task comment and user A receives real-time WebSocket notification
Includes ws test dependency, shared test helper utilities, and
cascade-truncation of notifications when truncating users to prevent
test pollution.
2026-04-02 16:30:23 +00:00
renovate[bot]
d73222e4a7
chore(deps): update dependency esbuild to v0.27.5
2026-04-02 08:23:19 +00:00
renovate[bot]
59ebfa3b2c
chore(deps): update dependency caniuse-lite to v1.0.30001784
2026-04-01 09:17:36 +00:00
renovate[bot]
020aa899f8
chore(deps): update dependency browserslist to v4.28.2
2026-03-31 21:21:12 +00:00
renovate[bot]
167380a01e
chore(deps): update dependency @typescript-eslint/parser to v8.58.0
2026-03-30 20:13:08 +00:00
renovate[bot]
1a3a18e42b
chore(deps): update dependency @typescript-eslint/eslint-plugin to v8.58.0
2026-03-30 19:12:16 +00:00
renovate[bot]
1c0513de10
chore(deps): update dev-dependencies
2026-03-30 10:24:04 +00:00
dependabot[bot]
21a450b21f
chore(deps): bump serialize-javascript from 7.0.3 to 7.0.5 in /frontend
...
Bumps [serialize-javascript](https://github.com/yahoo/serialize-javascript ) from 7.0.3 to 7.0.5.
- [Release notes](https://github.com/yahoo/serialize-javascript/releases )
- [Commits](https://github.com/yahoo/serialize-javascript/compare/v7.0.3...v7.0.5 )
---
updated-dependencies:
- dependency-name: serialize-javascript
dependency-version: 7.0.5
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-03-28 23:35:34 +00:00
renovate[bot]
8d958aef62
chore(deps): update dev-dependencies
2026-03-27 23:06:28 +00:00
renovate[bot]
9d8c6a0a72
chore(deps): update dev-dependencies
2026-03-26 09:02:42 +00:00
renovate[bot]
4b16d72e28
chore(deps): update dev-dependencies
2026-03-24 15:14:31 +00:00
kolaente
772316b47f
chore: v2.2.2 release preparations
2026-03-23 21:49:15 +01:00
kolaente
6d5d3e051f
chore: v2.2.1 release preparations
2026-03-23 19:50:19 +01:00
renovate[bot]
2c1104ca86
chore(deps): update dev-dependencies to v8.57.2
2026-03-23 18:30:13 +00:00
renovate[bot]
36bd716e04
chore(deps): update dev-dependencies
2026-03-23 16:33:59 +00:00
renovate[bot]
8bf450b98f
chore(deps): update dependency caniuse-lite to v1.0.30001781
2026-03-23 10:28:55 +00:00
renovate[bot]
79f807f4c2
chore(deps): update dependency rollup to v4.60.0
2026-03-22 14:23:41 +00:00
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