pengx17
f78416021a
chore: bump blocksuite ( #7163 )
...
## Features
- https://github.com/toeverything/BlockSuite/pull/7230 @akumatus
- https://github.com/toeverything/BlockSuite/pull/7220 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/7228 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/7216 @golok727
- https://github.com/toeverything/BlockSuite/pull/7224 @akumatus
- https://github.com/toeverything/BlockSuite/pull/7217 @pengx17
- https://github.com/toeverything/BlockSuite/pull/7144 @Flrande
## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7231 @fourdim
- https://github.com/toeverything/BlockSuite/pull/7229 @fourdim
- https://github.com/toeverything/BlockSuite/pull/7222 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/7226 @L-Sun
- https://github.com/toeverything/BlockSuite/pull/7218 @fundon
- https://github.com/toeverything/BlockSuite/pull/7213 @donteatfriedrice
## Refactor
- https://github.com/toeverything/BlockSuite/pull/7212 @Flrande
## Misc
- https://github.com/toeverything/BlockSuite/pull/7223 @fundon
2024-06-06 12:04:07 +00:00
EYHN
f67108c6f7
fix(core): fetch share docs on non-cloud workspace ( #7144 )
2024-06-04 09:45:35 +00:00
JimmFly
b13151b480
feat(core): add admin panel page ( #7115 )
...
The path is `/admin-panel`
2024-05-31 09:42:23 +00:00
darkskygit
0dfcc97c52
chore: update cleanup history gql ( #7103 )
2024-05-29 07:34:08 +00:00
forehalo
638fc62601
feat(server): runtime setting support ( #5602 )
...
---
<details open="true"><summary>Generated summary (powered by <a href="https://app.graphite.dev ">Graphite</a>)</summary>
> ## TL;DR
> This pull request adds a new migration file, a new model, and new modules related to runtime settings. It also introduces a new `Runtime` service that allows getting, setting, and updating runtime configurations.
>
> ## What changed
> - Added a new migration file `migration.sql` that creates a table called `application_settings` with columns `key` and `value`.
> - Added a new model `ApplicationSetting` with properties `key` and `value`.
> - Added a new module `RuntimeSettingModule` that exports the `Runtime` service.
> - Added a new service `Runtime` that provides methods for getting, setting, and updating runtime configurations.
> - Modified the `app.module.ts` file to import the `RuntimeSettingModule`.
> - Modified the `index.ts` file in the `fundamentals` directory to export the `Runtime` service.
> - Added a new file `def.ts` in the `runtime` directory that defines the runtime configurations and provides a default implementation.
> - Added a new file `service.ts` in the `runtime` directory that implements the `Runtime` service.
>
> ## How to test
> 1. Run the migration script to create the `application_settings` table.
> 2. Use the `Runtime` service to get, set, and update runtime configurations.
> 3. Verify that the runtime configurations are stored correctly in the database and can be retrieved and modified using the `Runtime` service.
>
> ## Why make this change
> This change introduces a new feature related to runtime settings. The `Runtime` service allows the application to dynamically manage and modify runtime configurations without requiring a restart. This provides flexibility and allows for easier customization and configuration of the application.
</details>
2024-05-28 06:43:53 +00:00
EYHN
306cf2ae6f
fix(core): unexpected re-render in edgeless ( #7077 )
2024-05-27 07:52:00 +00:00
Tao Chen
22a8a2663e
feat(server): add OIDC for AFFiNE ( #6991 )
...
Co-authored-by: LongYinan <lynweklm@gmail.com >
Co-authored-by: DarkSky <darksky2048@gmail.com >
2024-05-24 00:35:30 +08:00
EYHN
35ce4adffe
fix(core): fix error when server not support ai ( #6796 )
2024-05-07 08:25:27 +00:00
EYHN
c425cfa598
chore: bump blocksuite ( #6666 )
...
## Features
- https://github.com/toeverything/BlockSuite/pull/6842 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/6836 @regischen
## Bugfix
- https://github.com/toeverything/BlockSuite/pull/6837 @pengx17
- https://github.com/toeverything/BlockSuite/pull/6803 @lawvs
- https://github.com/toeverything/BlockSuite/pull/6843 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/6838 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/6834 @regischen
- https://github.com/toeverything/BlockSuite/pull/6835 @donteatfriedrice
- https://github.com/toeverything/BlockSuite/pull/6831 @pengx17
- https://github.com/toeverything/BlockSuite/pull/6827 @golok727
- https://github.com/toeverything/BlockSuite/pull/6828 @regischen
## Refactor
## Misc
2024-04-23 01:38:23 +00:00
darkskygit
b3b9e9a056
chore: cleanup outdated api ( #6604 )
2024-04-18 14:42:46 +00:00
soumyasen10
19f8407d7f
fix: disable default save page as ( #6548 )
...
Co-authored-by: Peng Xiao <pengxiao@outlook.com >
2024-04-18 16:19:03 +08:00
forehalo
d9e6561762
feat(server): add created timestamp to history ( #6607 )
2024-04-18 07:06:47 +00:00
pengx17
5fc56a20ac
feat: adopt createMessage upload api ( #6596 )
2024-04-18 06:55:29 +00:00
DarkSky
ccb3bed91e
feat: add blob upload support for copilot ( #6584 )
2024-04-17 14:05:38 +00:00
EYHN
06fda3b62c
feat(infra): framework
2024-04-17 15:09:09 +08:00
darkskygit
1b0864eb60
feat: check quota correctly ( #6561 )
2024-04-16 09:41:48 +00:00
regischen
a15ceb8dde
fix: add action field in histories gql ( #6558 )
2024-04-15 08:15:47 +00:00
pengx17
9b620ecbc9
fix(core): use backend prompts ( #6542 )
2024-04-12 21:29:14 +08:00
darkskygit
2336638996
fix: cannot query chat history ( #6539 )
2024-04-12 12:16:43 +00:00
CatsJuice
d40052c748
feat(core): add ai usage in account-setting ( #6516 )
2024-04-12 06:06:11 +00:00
darkskygit
9f349a2300
feat: text to image impl ( #6437 )
...
fix CLOUD-18
fix CLOUD-28
fix CLOUD-29
2024-04-10 12:13:39 +00:00
darkskygit
7c38a54f81
feat: copilot controller ( #6272 )
...
fix CLOUD-27
2024-04-10 11:58:40 +00:00
darkskygit
e6a576551a
feat: add copilot impl ( #6230 )
...
fix CLOUD-22
fix CLOUD-24
2024-04-10 11:15:32 +00:00
CatsJuice
a0c92b9966
feat(core): i18n for pricing plans ( #6499 )
...
feat(core): adjust pricing plans style
feat(core): i18n for pricing plans
2024-04-10 08:09:14 +00:00
CatsJuice
3e9e2ce93b
feat(core): pricing plans ai subscription ui ( #6449 )
2024-04-03 08:04:30 +00:00
CatsJuice
af2158cb0c
feat(core): compatible with multiple subscriptions ( #6277 )
2024-04-01 07:28:33 +00:00
fundon
8ee9f6ec05
chore: improve password error message ( #6255 )
...
chore: improve error message
chore: add password minlength & maxlength i18n
chore: check max length
fix: i18n variables
feat: add CredentialsRequirementType
2024-03-26 07:15:06 +00:00
Brooooooklyn
6467e10690
ci: fix lint oom ( #6295 )
2024-03-25 07:11:49 +00:00
Brooooooklyn
aecc523663
fix(server): avoid error when other prices added but logic is not released ( #6191 )
2024-03-22 08:39:12 +00:00
Peng Xiao
dd9a253772
feat(core): add split view to experimental features settings ( #6093 )
2024-03-14 05:13:04 +00:00
liuyi
73801ce864
fix(server): gql schema is outdated ( #6097 )
2024-03-13 04:11:44 +00:00
liuyi
fb3a0e7b8f
refactor(server): auth ( #5895 )
...
Remove `next-auth` and implement our own Authorization/Authentication system from scratch.
## Server
- [x] tokens
- [x] function
- [x] encryption
- [x] AuthController
- [x] /api/auth/sign-in
- [x] /api/auth/sign-out
- [x] /api/auth/session
- [x] /api/auth/session (WE SUPPORT MULTI-ACCOUNT!)
- [x] OAuthPlugin
- [x] OAuthController
- [x] /oauth/login
- [x] /oauth/callback
- [x] Providers
- [x] Google
- [x] GitHub
## Client
- [x] useSession
- [x] cloudSignIn
- [x] cloudSignOut
## NOTE:
Tests will be adding in the future
2024-03-12 10:00:09 +00:00
LongYinan
ae41c6c544
chore: bump all dependencies ( #5891 )
2024-02-23 09:37:14 +00:00
liuyi
bef266ae3b
refactor(server): reorganize server configs ( #5753 )
2024-02-02 08:32:07 +00:00
Joooye_34
338c3001b0
feat: support sign-in with subscription coupon ( #5768 )
2024-02-01 08:43:47 +00:00
Yifeng Wang
fec2090de5
feat: bump blocksuite ( #5767 )
...
Co-authored-by: LongYinan <lynweklm@gmail.com >
2024-02-01 16:28:22 +08:00
liuyi
26db1d436d
refactor(server): server errors ( #5741 )
...
standardize the error raising in both GraphQL Resolvers and Controllers.
Now, All user aware errors should be throwed with `HttpException`'s variants, for example `NotFoundException`.
> Directly throwing `GraphQLError` are forbidden.
The GraphQL errorFormatter will handle it automatically and set `code`, `status` in error extensions.
At the same time, the frontend `GraphQLError` should be imported from `@affine/graphql`, which introduce a better error extensions type.
----
controller example:
```js
@Get('/docs/${id}')
doc() {
// ...
// imported from '@nestjs/common'
throw new NotFoundException('Doc is not found.');
// ...
}
```
the above will response as:
```
status: 404 Not Found
{
"message": "Doc is not found.",
"statusCode": 404,
"error": "Not Found"
}
```
resolver example:
```js
@Mutation()
invite() {
// ...
throw new PayloadTooLargeException('Workspace seats is full.')
// ...
}
```
the above will response as:
```
status: 200 Ok
{
"data": null,
"errors": [
{
"message": "Workspace seats is full.",
"extensions": {
"code": 404,
"status": "Not Found"
}
}
]
}
```
for frontend GraphQLError user-friend, a helper function introduced:
```js
import { findGraphQLError } from '@affine/graphql'
fetch(query)
.catch(errOrArr => {
const e = findGraphQLError(errOrArr, e => e.extensions.code === 404)
if (e) {
// handle
}
})
```
2024-01-31 08:43:03 +00:00
DarkSky
070d5ca471
feat: impl unlimited features ( #5659 )
2024-01-26 08:28:54 +00:00
JimmFly
25897dc404
feat(workspace): add blob and storage limit ( #5535 )
...
close TOV-343 AFF-508 TOV-461 TOV-460 TOV-419
Add `isOverCapacity ` status to detect if blob usage exceeds limits.
Add `onCapacityChange` and `onBlobSet` to monitor if the storage or blob exceeds the capacity limit.
Global modals `LocalQuotaModal` and `CloudQuotaModal` have been added, with the upload size of the blob being limited within the modal components.
The notification component has been adjusted, now you can pass in `action` click events and `actionLabel` .
2024-01-24 07:34:51 +00:00
liuyi
e516e0db23
refactor(server): plugin modules ( #5630 )
...
- [x] separates modules into `fundamental`, `core`, `plugins`
- [x] optional modules with `@OptionalModule` decorator to install modules with requirements met(`requires`, `if`)
- [x] `module.contributesTo` defines optional features that will be enabled if module registered
- [x] `AFFiNE.plugins.use('payment', {})` to enable a optional/plugin module
- [x] `PaymentModule` is the first plugin module
- [x] GraphQLSchema will not be generated for non-included modules
- [x] Frontend can use `ServerConfigType` query to detect which features are enabled
- [x] override existing provider globally
2024-01-22 07:40:28 +00:00
Peng Xiao
9a944048e8
feat(core): experimental features ui ( #5338 )
...
fix TOV-280
experimental features ui
- enabled in the workspace settings for a cloud workspace; only show for workspace owner + early access
- a disclaimer prompt will be shown before going to the next feature setting page
- for now only show the ai poc switch, which controls the display of the ai tab in editor's sidepanel
2024-01-18 07:53:15 +00:00
DarkSky
ee8ec47a4f
feat: use SafeInt replace Float ( #5613 )
2024-01-17 12:36:21 +00:00
DarkSky
ee2520ec18
feat: add query quota of workspace ( #5603 )
2024-01-16 09:45:55 +00:00
liuyi
4c49b62ab7
fix(server): node imports order ( #5583 )
2024-01-14 05:47:56 +00:00
DarkSky
443908da22
feat: add workspace experimental features api ( #5525 )
2024-01-06 11:04:49 +00:00
DarkSky
f6ec786ef9
feat: add workspace level feature apis ( #5503 )
2024-01-05 04:13:49 +00:00
DarkSky
3082d63948
fix: use absolute path in gql client ( #5454 )
2023-12-29 06:48:04 +00:00
EYHN
0b9cd00fd3
refactor(core): adjust graphql hook ( #5339 )
2023-12-28 07:43:25 +00:00
DarkSky
aa4d42b36c
feat: use baseurl from server config ( #5369 )
2023-12-21 12:52:38 +00:00
EYHN
c7fe42a5b9
chore: bump up vitest monorepo to v1 (major) ( #5217 )
...
[](https://renovatebot.com )
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@vitest/coverage-istanbul](https://togithub.com/vitest-dev/vitest/tree/main/packages/coverage-istanbul#readme ) ([source](https://togithub.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul )) | [`0.34.6` -> `1.0.4`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/0.34.6/1.0.4 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
| [@vitest/ui](https://togithub.com/vitest-dev/vitest/tree/main/packages/ui#readme ) ([source](https://togithub.com/vitest-dev/vitest/tree/HEAD/packages/ui )) | [`0.34.6` -> `1.0.4`](https://renovatebot.com/diffs/npm/@vitest%2fui/0.34.6/1.0.4 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
| [vitest](https://togithub.com/vitest-dev/vitest ) ([source](https://togithub.com/vitest-dev/vitest/tree/HEAD/packages/vitest )) | [`0.34.6` -> `1.0.4`](https://renovatebot.com/diffs/npm/vitest/0.34.6/1.0.4 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
---
### Release Notes
<details>
<summary>vitest-dev/vitest (@​vitest/coverage-istanbul)</summary>
### [`v1.0.4`](https://togithub.com/vitest-dev/vitest/releases/tag/v1.0.4 )
[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v1.0.3...v1.0.4 )
The previous release was built incorrectly and didn't include the performance fix. This release fixes that.
##### 🐞 Bug Fixes
- **cli**: `--coverage.all=false` resolved incorrectly - by [@​AriPerkkio](https://togithub.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/4697 ](https://togithub.com/vitest-dev/vitest/issues/4697 ) [<samp>(a7931)</samp>](https://togithub.com/vitest-dev/vitest/commit/a7931bbf )
##### 🏎 Performance
- **reporters**: Downgrade `log-update` to v5 - by [@​AriPerkkio](https://togithub.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/4711 ](https://togithub.com/vitest-dev/vitest/issues/4711 ) [<samp>(13ff9)</samp>](https://togithub.com/vitest-dev/vitest/commit/13ff97a3 )
##### [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v1.0.3...v1.0.4 )
### [`v1.0.3`](https://togithub.com/vitest-dev/vitest/releases/tag/v1.0.3 )
[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v1.0.2...v1.0.3 )
##### 🐞 Bug Fixes
- Correct package exports - by [@​userquin](https://togithub.com/userquin ) in [https://github.com/vitest-dev/vitest/issues/4707 ](https://togithub.com/vitest-dev/vitest/issues/4707 ) [<samp>(37388)</samp>](https://togithub.com/vitest-dev/vitest/commit/37388d69 )
- **runner**: Fix async fixture teardown - by [@​hi-ogawa](https://togithub.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/4700 ](https://togithub.com/vitest-dev/vitest/issues/4700 ) [<samp>(92afd)</samp>](https://togithub.com/vitest-dev/vitest/commit/92afd54c )
- **vitest**: Correctly filter changed files when Vitest workspace is used - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4693 ](https://togithub.com/vitest-dev/vitest/issues/4693 ) [<samp>(34135)</samp>](https://togithub.com/vitest-dev/vitest/commit/3413518b )
##### 🏎 Performance
- **reporters**: Downgrade `log-update` to v5 - by [@​AriPerkkio](https://togithub.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/4711 ](https://togithub.com/vitest-dev/vitest/issues/4711 ) [<samp>(13ff9)</samp>](https://togithub.com/vitest-dev/vitest/commit/13ff97a3 )
##### [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v1.0.2...v1.0.3 )
### [`v1.0.2`](https://togithub.com/vitest-dev/vitest/releases/tag/v1.0.2 )
[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v1.0.1...v1.0.2 )
##### 🐞 Bug Fixes
- Don't check if vite is installed - by [@​wojtekmaj](https://togithub.com/wojtekmaj ) in [https://github.com/vitest-dev/vitest/issues/4659 ](https://togithub.com/vitest-dev/vitest/issues/4659 ) [<samp>(775e2)</samp>](https://togithub.com/vitest-dev/vitest/commit/775e2014 )
- Fix ensurePackageInstalled on Yarn PnP - by [@​wojtekmaj](https://togithub.com/wojtekmaj ) in [https://github.com/vitest-dev/vitest/issues/4657 ](https://togithub.com/vitest-dev/vitest/issues/4657 ) [<samp>(574cc)</samp>](https://togithub.com/vitest-dev/vitest/commit/574cc7d0 )
- Apply `stripSnapshotIndentation` for thrown snapshot - by [@​hi-ogawa](https://togithub.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/4663 ](https://togithub.com/vitest-dev/vitest/issues/4663 ) [<samp>(74820)</samp>](https://togithub.com/vitest-dev/vitest/commit/748205dc )
- **cli**:
- Prompted packages fail to install - by [@​AriPerkkio](https://togithub.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/4593 ](https://togithub.com/vitest-dev/vitest/issues/4593 ) [<samp>(a9908)</samp>](https://togithub.com/vitest-dev/vitest/commit/a9908453 )
- **expect**:
- Apply `URL` equality check only when `URL` is available - by [@​hi-ogawa](https://togithub.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/4670 ](https://togithub.com/vitest-dev/vitest/issues/4670 ) [<samp>(43783)</samp>](https://togithub.com/vitest-dev/vitest/commit/43783cfe )
- **runner**:
- Improve fixture error messages - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4673 ](https://togithub.com/vitest-dev/vitest/issues/4673 ) [<samp>(1e4aa)</samp>](https://togithub.com/vitest-dev/vitest/commit/1e4aa8e4 )
- Fix fixture cleanup when test times out - by [@​hi-ogawa](https://togithub.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/4679 ](https://togithub.com/vitest-dev/vitest/issues/4679 ) [<samp>(e7c5e)</samp>](https://togithub.com/vitest-dev/vitest/commit/e7c5e1f7 )
- **vitest**:
- Support new Request('/api') in happy-dom - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4671 ](https://togithub.com/vitest-dev/vitest/issues/4671 ) [<samp>(6e6ee)</samp>](https://togithub.com/vitest-dev/vitest/commit/6e6ee10e )
- Skip processing getter in auto-mocked constructor call - by [@​hi-ogawa](https://togithub.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/4677 ](https://togithub.com/vitest-dev/vitest/issues/4677 ) [<samp>(cb786)</samp>](https://togithub.com/vitest-dev/vitest/commit/cb7864aa )
##### [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v1.0.1...v1.0.2 )
### [`v1.0.1`](https://togithub.com/vitest-dev/vitest/releases/tag/v1.0.1 )
[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v1.0.0...v1.0.1 )
##### 🐞 Bug Fixes
- Bump vitest packages `peerDependencies` versions - by [@​AriPerkkio](https://togithub.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/4654 ](https://togithub.com/vitest-dev/vitest/issues/4654 ) [<samp>(42070)</samp>](https://togithub.com/vitest-dev/vitest/commit/420707fc )
##### [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v1.0.0...v1.0.1 )
### [`v1.0.0`](https://togithub.com/vitest-dev/vitest/releases/tag/v1.0.0 )
[Compare Source](https://togithub.com/vitest-dev/vitest/compare/v0.34.6...v1.0.0 )
Vitest 1.0 is here! This release page lists all changes made to the project during the beta. For the migration guide, please refer to the [documentation](https://vitest.dev/guide/migration.html#migrating-from-vitest-0-34-6 ).
##### 🚨 Breaking Changes
- Add support for `pool` and `poolOptions`, remove old flags - by [@​AriPerkkio](https://togithub.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/4172 ](https://togithub.com/vitest-dev/vitest/issues/4172 ) [<samp>(114a9)</samp>](https://togithub.com/vitest-dev/vitest/commit/114a993c )
- Support multiple parallel `child_process` - by [@​AriPerkkio](https://togithub.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/3925 ](https://togithub.com/vitest-dev/vitest/issues/3925 ) [<samp>(8b4a4)</samp>](https://togithub.com/vitest-dev/vitest/commit/8b4a44ad )
- Make snapshots more visually pleasing by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/pull/3961 ](https://togithub.com/vitest-dev/vitest/pull/3961 )
- Set `vitest` peer dependency range for sub packages - by [@​AriPerkkio](https://togithub.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/4299 ](https://togithub.com/vitest-dev/vitest/issues/4299 ) [<samp>(cd03c)</samp>](https://togithub.com/vitest-dev/vitest/commit/cd03cb51 )
- Bump minimum node version to 18 and match Vite 5 requirement - by [@​ghiscoding](https://togithub.com/ghiscoding ) in [https://github.com/vitest-dev/vitest/issues/4296 ](https://togithub.com/vitest-dev/vitest/issues/4296 ) [<samp>(263b7)</samp>](https://togithub.com/vitest-dev/vitest/commit/263b7167 )
- Remove deprecated node loader - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4371 ](https://togithub.com/vitest-dev/vitest/issues/4371 ) [<samp>(29299)</samp>](https://togithub.com/vitest-dev/vitest/commit/29299f3c )
- Move browser providers to [@​vitest/browser](https://togithub.com/vitest/browser ) package - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4364 ](https://togithub.com/vitest-dev/vitest/issues/4364 ) [<samp>(5cdeb)</samp>](https://togithub.com/vitest-dev/vitest/commit/5cdeb558 )
- Remove EnhancedSpy type, deprecate SpyInstance, improve mocks and vi documentation - by [@​sheremet-va](https://togithub.com/sheremet-va ) and [@​dammy001](https://togithub.com/dammy001 ) in [https://github.com/vitest-dev/vitest/issues/4400 ](https://togithub.com/vitest-dev/vitest/issues/4400 ) [<samp>(d40b3)</samp>](https://togithub.com/vitest-dev/vitest/commit/d40b3a58 )
- `expect().toContain()` can handle classList, Node.contains, and any array-like structure. This means you cannot use it to check if one object is a subset of another - use `expect().toMatchObject()` in that case - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4239 ](https://togithub.com/vitest-dev/vitest/issues/4239 ) [<samp>(ce84f)</samp>](https://togithub.com/vitest-dev/vitest/commit/ce84f069 )
- **runner**: Correctly process custom tasks, update runner hooks naming by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/pull/4076 ](https://togithub.com/vitest-dev/vitest/pull/4076 )
- **coverage**:
- glob based coverage thresholds by [@​AriPerkkio](https://togithub.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/pull/4442 ](https://togithub.com/vitest-dev/vitest/pull/4442 ) [<samp>(18300)</samp>](4953410e8d )
- Use `transformMode` and workspace project based source maps - by [@​AriPerkkio](https://togithub.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/4309 ](https://togithub.com/vitest-dev/vitest/issues/4309 ) [<samp>(28109cc)</samp>](https://togithub.com/vitest-dev/vitest/commit/28109cc )
- Enable `coverage.all` by default - by [@​AriPerkkio](https://togithub.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/4265 ](https://togithub.com/vitest-dev/vitest/issues/4265 ) [<samp>(5a741)</samp>](https://togithub.com/vitest-dev/vitest/commit/5a741ca2 )
##### 🚀 Features
- Add Marko example and include code coverage for Marko files - by [@​DylanPiercey](https://togithub.com/DylanPiercey ) in [https://github.com/vitest-dev/vitest/issues/4263 ](https://togithub.com/vitest-dev/vitest/issues/4263 ) [<samp>(eac77)</samp>](https://togithub.com/vitest-dev/vitest/commit/eac77765 )
- Update magic-string - by [@​bluwy](https://togithub.com/bluwy ) in [https://github.com/vitest-dev/vitest/issues/4345 ](https://togithub.com/vitest-dev/vitest/issues/4345 ) [<samp>(fde18)</samp>](https://togithub.com/vitest-dev/vitest/commit/fde1843e )
- Implement provide/inject API to transfer data from the main thread - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4422 ](https://togithub.com/vitest-dev/vitest/issues/4422 ) [<samp>(a7522)</samp>](https://togithub.com/vitest-dev/vitest/commit/a75228f1 )
- Improve expectTypeOf error messages - by [@​mmkal](https://togithub.com/mmkal ), **Misha Kaletsky** and [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4206 ](https://togithub.com/vitest-dev/vitest/issues/4206 ) [<samp>(18300)</samp>](https://togithub.com/vitest-dev/vitest/commit/183005e9 )
- Add test.sequential() api - by [@​dsyddall](https://togithub.com/dsyddall ) in [https://github.com/vitest-dev/vitest/issues/4512 ](https://togithub.com/vitest-dev/vitest/issues/4512 ) [<samp>(c3619)</samp>](https://togithub.com/vitest-dev/vitest/commit/c3619c78 )
- Allow custom pools - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4417 ](https://togithub.com/vitest-dev/vitest/issues/4417 ) [<samp>(a3fd5)</samp>](https://togithub.com/vitest-dev/vitest/commit/a3fd5f85 )
- Add --project option to limit what projects are running - by [@​sheremet-va](https://togithub.com/sheremet-va ), [@​dammy001](https://togithub.com/dammy001 ) and [@​AriPerkkio](https://togithub.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/4561 ](https://togithub.com/vitest-dev/vitest/issues/4561 ) [<samp>(58ef5)</samp>](https://togithub.com/vitest-dev/vitest/commit/58ef51a9 )
- **benchmark**:
- Move importTinybench to runner - by [@​Dunqing](https://togithub.com/Dunqing ) in [https://github.com/vitest-dev/vitest/issues/4376 ](https://togithub.com/vitest-dev/vitest/issues/4376 ) [<samp>(c36d2)</samp>](https://togithub.com/vitest-dev/vitest/commit/c36d2b97 )
- **browser**:
- Support "none" provider and update lit example to use it - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4427 ](https://togithub.com/vitest-dev/vitest/issues/4427 ) [<samp>(d03a2)</samp>](https://togithub.com/vitest-dev/vitest/commit/d03a2a21 )
- **coverage**:
- Support `/* v8 ignore...` ignore hints - by [@​AriPerkkio](https://togithub.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/4573 ](https://togithub.com/vitest-dev/vitest/issues/4573 ) [<samp>(f9e4a)</samp>](https://togithub.com/vitest-dev/vitest/commit/f9e4ad83 )
- **expect**:
- Support `expect.closeTo` api - by [@​Dunqing](https://togithub.com/Dunqing ) and **golebiowskib** in [https://github.com/vitest-dev/vitest/issues/4260 ](https://togithub.com/vitest-dev/vitest/issues/4260 ) [<samp>(7f91c)</samp>](https://togithub.com/vitest-dev/vitest/commit/7f91c6f6 )
- Compare URL objects by href - by [@​kleinfreund](https://togithub.com/kleinfreund ) and [@​AriPerkkio](https://togithub.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/4615 ](https://togithub.com/vitest-dev/vitest/issues/4615 ) [<samp>(f7a73)</samp>](https://togithub.com/vitest-dev/vitest/commit/f7a73338 )
- **snapshot**:
- Add option to configure snapshot directory - by [@​d3lm](https://togithub.com/d3lm ) in [https://github.com/vitest-dev/vitest/issues/4651 ](https://togithub.com/vitest-dev/vitest/issues/4651 ) [<samp>(20b2a)</samp>](https://togithub.com/vitest-dev/vitest/commit/20b2a857 )
- **vite-node**:
- Support import.meta.hot.off for vite 5 - by [@​bluwy](https://togithub.com/bluwy ) in [https://github.com/vitest-dev/vitest/issues/4315 ](https://togithub.com/vitest-dev/vitest/issues/4315 ) [<samp>(01b1c)</samp>](https://togithub.com/vitest-dev/vitest/commit/01b1c55c )
- **vitest**:
- Expose getBenchFn, getBenchOptions - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4208 ](https://togithub.com/vitest-dev/vitest/issues/4208 ) [<samp>(8e5e4)</samp>](https://togithub.com/vitest-dev/vitest/commit/8e5e42dc )
- Run typecheck during tests - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4324 ](https://togithub.com/vitest-dev/vitest/issues/4324 ) [<samp>(a1aad)</samp>](https://togithub.com/vitest-dev/vitest/commit/a1aadd71 )
- Filter stacktraces - by [@​clarkf](https://togithub.com/clarkf ) in [https://github.com/vitest-dev/vitest/issues/1999 ](https://togithub.com/vitest-dev/vitest/issues/1999 ) and [https://github.com/vitest-dev/vitest/issues/4338 ](https://togithub.com/vitest-dev/vitest/issues/4338 ) [<samp>(6b734)</samp>](https://togithub.com/vitest-dev/vitest/commit/6b73473f )
- Expose execArgv to the different pools - by [@​adriencaccia](https://togithub.com/adriencaccia ) in [https://github.com/vitest-dev/vitest/issues/4383 ](https://togithub.com/vitest-dev/vitest/issues/4383 ) [<samp>(9021e)</samp>](https://togithub.com/vitest-dev/vitest/commit/9021e8b8 )
##### 🐞 Bug Fixes
- Add multiple globals in VM+JSDOM - by [@​nstepien](https://togithub.com/nstepien ) in [https://github.com/vitest-dev/vitest/issues/4199 ](https://togithub.com/vitest-dev/vitest/issues/4199 ) and [https://github.com/vitest-dev/vitest/issues/4202 ](https://togithub.com/vitest-dev/vitest/issues/4202 ) [<samp>(fc947)</samp>](https://togithub.com/vitest-dev/vitest/commit/fc947ce6 )
- Ignore "plugins" field in snapshotFormat option - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4204 ](https://togithub.com/vitest-dev/vitest/issues/4204 ) [<samp>(db1ff)</samp>](https://togithub.com/vitest-dev/vitest/commit/db1ff438 )
- `nextTick` mocking error message to mention correct config option - by [@​AriPerkkio](https://togithub.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/4215 ](https://togithub.com/vitest-dev/vitest/issues/4215 ) [<samp>(98fe3)</samp>](https://togithub.com/vitest-dev/vitest/commit/98fe3d55 )
- Export VitestUtils interface - by [@​fbritoferreira](https://togithub.com/fbritoferreira ) in [https://github.com/vitest-dev/vitest/issues/4301 ](https://togithub.com/vitest-dev/vitest/issues/4301 ) [<samp>(b1439)</samp>](https://togithub.com/vitest-dev/vitest/commit/b1439852 )
- Assertion diff message handle non-writable sub-properties - by [@​bfamchon](https://togithub.com/bfamchon ) in [https://github.com/vitest-dev/vitest/issues/4278 ](https://togithub.com/vitest-dev/vitest/issues/4278 ) [<samp>(7e1a0)</samp>](https://togithub.com/vitest-dev/vitest/commit/7e1a0f83 )
- Don't bundle import from rollup - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4392 ](https://togithub.com/vitest-dev/vitest/issues/4392 ) [<samp>(3b584)</samp>](https://togithub.com/vitest-dev/vitest/commit/3b58487b )
- Support accessing fixture at same index of dependency fixture - by [@​dsyddall](https://togithub.com/dsyddall ) in [https://github.com/vitest-dev/vitest/issues/4387 ](https://togithub.com/vitest-dev/vitest/issues/4387 ) [<samp>(4cd1d)</samp>](https://togithub.com/vitest-dev/vitest/commit/4cd1d3ce )
- Make asynchronous fixtures work concurrently - by [@​dsyddall](https://togithub.com/dsyddall ) in [https://github.com/vitest-dev/vitest/issues/4403 ](https://togithub.com/vitest-dev/vitest/issues/4403 ) [<samp>(3c9f9)</samp>](https://togithub.com/vitest-dev/vitest/commit/3c9f920a )
- Coverage.100 crash when using as an cli argument - by [@​marcelobotega](https://togithub.com/marcelobotega ) in [https://github.com/vitest-dev/vitest/issues/4346 ](https://togithub.com/vitest-dev/vitest/issues/4346 ) [<samp>(0db38)</samp>](https://togithub.com/vitest-dev/vitest/commit/0db386dc )
- Support typechecking with Yarn PnP - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4412 ](https://togithub.com/vitest-dev/vitest/issues/4412 ) [<samp>(1ecbe)</samp>](https://togithub.com/vitest-dev/vitest/commit/1ecbe74d )
- Support accessing task from test context without accessing fixtures - by [@​dsyddall](https://togithub.com/dsyddall ) in [https://github.com/vitest-dev/vitest/issues/4419 ](https://togithub.com/vitest-dev/vitest/issues/4419 ) [<samp>(3397f)</samp>](https://togithub.com/vitest-dev/vitest/commit/3397fdc4 )
- Copy custom asymmetric matchers to local `expect` - by [@​hi-ogawa](https://togithub.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/4405 ](https://togithub.com/vitest-dev/vitest/issues/4405 ) [<samp>(9fe38)</samp>](https://togithub.com/vitest-dev/vitest/commit/9fe38737 )
- Apply serializer to `Error` instance for thrown snapshot - by [@​hi-ogawa](https://togithub.com/hi-ogawa ) and [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4396 ](https://togithub.com/vitest-dev/vitest/issues/4396 ) [<samp>(ac309)</samp>](https://togithub.com/vitest-dev/vitest/commit/ac309726 )
- Throw an error when running "vitest typecheck" - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4439 ](https://togithub.com/vitest-dev/vitest/issues/4439 ) [<samp>(7f502)</samp>](https://togithub.com/vitest-dev/vitest/commit/7f502299 )
- Don't expand snapshot diff by default - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4430 ](https://togithub.com/vitest-dev/vitest/issues/4430 ) [<samp>(8983c)</samp>](https://togithub.com/vitest-dev/vitest/commit/8983cd48 )
- Handle errors thrown in fixtures - by [@​dsyddall](https://togithub.com/dsyddall ) [<samp>(f6844)</samp>](https://togithub.com/vitest-dev/vitest/commit/f6844ad6 )
- Default --open to !process.env.CI - by [@​collinstevens](https://togithub.com/collinstevens ) in [https://github.com/vitest-dev/vitest/issues/4477 ](https://togithub.com/vitest-dev/vitest/issues/4477 ) [<samp>(088a0)</samp>](https://togithub.com/vitest-dev/vitest/commit/088a047d )
- Disable ESBuild when user config disables it - by [@​Namchee](https://togithub.com/Namchee ) in [https://github.com/vitest-dev/vitest/issues/4492 ](https://togithub.com/vitest-dev/vitest/issues/4492 ) [<samp>(9abde)</samp>](https://togithub.com/vitest-dev/vitest/commit/9abde204 )
- Inherit concurrent/sequential in nested suites - by [@​dsyddall](https://togithub.com/dsyddall ) in [https://github.com/vitest-dev/vitest/issues/4482 ](https://togithub.com/vitest-dev/vitest/issues/4482 ) [<samp>(ca168)</samp>](https://togithub.com/vitest-dev/vitest/commit/ca168a14 )
- Provide customTesters to asymmetric matchers - by [@​sheremet-va](https://togithub.com/sheremet-va ) [<samp>(ac665)</samp>](https://togithub.com/vitest-dev/vitest/commit/ac665c96 )
- Apply `retry` and `bail` from test config file - by [@​hi-ogawa](https://togithub.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/4530 ](https://togithub.com/vitest-dev/vitest/issues/4530 ) [<samp>(94f9a)</samp>](https://togithub.com/vitest-dev/vitest/commit/94f9a3ca )
- Respect trailing slash when filtering by file path - by [@​ibuibu](https://togithub.com/ibuibu ) in [https://github.com/vitest-dev/vitest/issues/4538 ](https://togithub.com/vitest-dev/vitest/issues/4538 ) [<samp>(f377a)</samp>](https://togithub.com/vitest-dev/vitest/commit/f377a3bf )
- Date prototype when using setSystemTime - by [@​spiroka](https://togithub.com/spiroka ) in [https://github.com/vitest-dev/vitest/issues/4584 ](https://togithub.com/vitest-dev/vitest/issues/4584 ) [<samp>(3f8c3)</samp>](https://togithub.com/vitest-dev/vitest/commit/3f8c3fb1 )
- BrowserTestRunner called incorrect super methods - by [@​samthor](https://togithub.com/samthor ) in [https://github.com/vitest-dev/vitest/issues/4632 ](https://togithub.com/vitest-dev/vitest/issues/4632 ) [<samp>(8385c)</samp>](https://togithub.com/vitest-dev/vitest/commit/8385c981 )
- Set process name for idle workers - by [@​AriPerkkio](https://togithub.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/4641 ](https://togithub.com/vitest-dev/vitest/issues/4641 ) [<samp>(eca25)</samp>](https://togithub.com/vitest-dev/vitest/commit/eca25dc9 )
- **bench**:
- Extract ChainableBenchmarkAPI type - by [@​dsyddall](https://togithub.com/dsyddall ) in [https://github.com/vitest-dev/vitest/issues/4537 ](https://togithub.com/vitest-dev/vitest/issues/4537 ) [<samp>(79e9b)</samp>](https://togithub.com/vitest-dev/vitest/commit/79e9bfaa )
- **browser**:
- Improve error handling and don't rely on Node.js builtin modules in browser mode - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4244 ](https://togithub.com/vitest-dev/vitest/issues/4244 ) [<samp>(e7e8c)</samp>](https://togithub.com/vitest-dev/vitest/commit/e7e8c3cc )
- Disable hijacking ES modules until vi.mock is implemented - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4414 ](https://togithub.com/vitest-dev/vitest/issues/4414 ) [<samp>(ab556)</samp>](https://togithub.com/vitest-dev/vitest/commit/ab556376 )
- Add vitest/ imports to entries - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4514 ](https://togithub.com/vitest-dev/vitest/issues/4514 ) [<samp>(648bc)</samp>](https://togithub.com/vitest-dev/vitest/commit/648bccb9 )
- Wait until vite finishes prebundling of vitest dependencies - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4518 ](https://togithub.com/vitest-dev/vitest/issues/4518 ) [<samp>(56ee7)</samp>](https://togithub.com/vitest-dev/vitest/commit/56ee7026 )
- Allow for `pretty-format` as a sibling dependency - by [@​nicojs](https://togithub.com/nicojs ) in [https://github.com/vitest-dev/vitest/issues/4590 ](https://togithub.com/vitest-dev/vitest/issues/4590 ) [<samp>(ed50a)</samp>](https://togithub.com/vitest-dev/vitest/commit/ed50a944 )
- Don't go into an infinite reload loop, don't fail if "error" event is caught - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4618 ](https://togithub.com/vitest-dev/vitest/issues/4618 ) [<samp>(ec3d6)</samp>](https://togithub.com/vitest-dev/vitest/commit/ec3d6949 )
- Respect "server" option in vite config - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4627 ](https://togithub.com/vitest-dev/vitest/issues/4627 ) [<samp>(723f6)</samp>](https://togithub.com/vitest-dev/vitest/commit/723f65b9 )
- **cli**:
- Do not capture `stdin` when in run mode - by [@​AriPerkkio](https://togithub.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/4310 ](https://togithub.com/vitest-dev/vitest/issues/4310 ) [<samp>(fc51a)</samp>](https://togithub.com/vitest-dev/vitest/commit/fc51ad04 )
- **config**:
- Type issue of `pool` and `poolMatchGlobs` in defineConfig - by [@​InfiniteXyy](https://togithub.com/InfiniteXyy ) in [https://github.com/vitest-dev/vitest/issues/4282 ](https://togithub.com/vitest-dev/vitest/issues/4282 ) [<samp>(9112c)</samp>](https://togithub.com/vitest-dev/vitest/commit/9112cc96 )
- **coverage**:
- `thresholdAutoUpdate` to detect zero limits - by [@​AriPerkkio](https://togithub.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/4287 ](https://togithub.com/vitest-dev/vitest/issues/4287 ) [<samp>(a29fe)</samp>](https://togithub.com/vitest-dev/vitest/commit/a29fecee )
- Exclude files and directories starting with dot by default - by [@​AriPerkkio](https://togithub.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/4428 ](https://togithub.com/vitest-dev/vitest/issues/4428 ) [<samp>(b3327)</samp>](https://togithub.com/vitest-dev/vitest/commit/b3327a64 )
- Improve memory usage by writing temporary files on file system - by [@​AriPerkkio](https://togithub.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/4603 ](https://togithub.com/vitest-dev/vitest/issues/4603 ) [<samp>(4166c)</samp>](https://togithub.com/vitest-dev/vitest/commit/4166c413 )
- **deps**:
- Update dependency v8-to-istanbul to ^9.2.0 - by [@​renovate](https://togithub.com/renovate )\[bot] in[https://github.com/vitest-dev/vitest/issues/4583 ](https://togithub.com/vitest-dev/vitest/issues/4583 )3 [<samp>(a70f2)</samp>](https://togithub.com/vitest-dev/vitest/commit/a70f216d )
- Update dependency std-env to ^3.5.0 - by [@​renovate](https://togithub.com/renovate )\[bot] in[https://github.com/vitest-dev/vitest/issues/4582 ](https://togithub.com/vitest-dev/vitest/issues/4582 )2 [<samp>(1fdd6)</samp>](https://togithub.com/vitest-dev/vitest/commit/1fdd6fe2 )
- **example**:
- Resolve type error - by [@​jqkk](https://togithub.com/jqkk ) in [https://github.com/vitest-dev/vitest/issues/4515 ](https://togithub.com/vitest-dev/vitest/issues/4515 ) [<samp>(2d1b4)</samp>](https://togithub.com/vitest-dev/vitest/commit/2d1b4785 )
- **expect**:
- Publish types file - by [@​sheremet-va](https://togithub.com/sheremet-va ) [<samp>(5996c)</samp>](https://togithub.com/vitest-dev/vitest/commit/5996c8c0 )
- `Object.freeze` breaks `toEqual` - by [@​Dunqing](https://togithub.com/Dunqing ) in [https://github.com/vitest-dev/vitest/issues/4303 ](https://togithub.com/vitest-dev/vitest/issues/4303 ) [<samp>(a4501)</samp>](https://togithub.com/vitest-dev/vitest/commit/a4501d6b )
- Publish semantically correct chai types - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4322 ](https://togithub.com/vitest-dev/vitest/issues/4322 ) [<samp>(80a70)</samp>](https://togithub.com/vitest-dev/vitest/commit/80a706a1 )
- Print full error if promise is rejected - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4467 ](https://togithub.com/vitest-dev/vitest/issues/4467 ) [<samp>(cadb9)</samp>](https://togithub.com/vitest-dev/vitest/commit/cadb9cd3 )
- Don't fail when using jest expect - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4517 ](https://togithub.com/vitest-dev/vitest/issues/4517 ) [<samp>(60d6d)</samp>](https://togithub.com/vitest-dev/vitest/commit/60d6d173 )
- **happy-dom**:
- Don't crash when calling useFakeTimers with empty config - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4214 ](https://togithub.com/vitest-dev/vitest/issues/4214 ) [<samp>(2e1a1)</samp>](https://togithub.com/vitest-dev/vitest/commit/2e1a1bd4 )
- **jsdom**:
- Don't go into an infinite recusion when calling atob - by [@​sheremet-va](https://togithub.com/sheremet-va ) [<samp>(da794)</samp>](https://togithub.com/vitest-dev/vitest/commit/da7949dc )
- **runner**:
- Fixture needs to be initialized for each test - by [@​Dunqing](https://togithub.com/Dunqing ) in [https://github.com/vitest-dev/vitest/issues/4250 ](https://togithub.com/vitest-dev/vitest/issues/4250 ) [<samp>(76a93)</samp>](https://togithub.com/vitest-dev/vitest/commit/76a93298 )
- Nested tests should throw errors - by [@​Dunqing](https://togithub.com/Dunqing ) in [https://github.com/vitest-dev/vitest/issues/4262 ](https://togithub.com/vitest-dev/vitest/issues/4262 ) [<samp>(8ac9f)</samp>](https://togithub.com/vitest-dev/vitest/commit/8ac9f8b1 )
- Removes deprecated `error` option from TaskResult - by [@​Dunqing](https://togithub.com/Dunqing ) in [https://github.com/vitest-dev/vitest/issues/4313 ](https://togithub.com/vitest-dev/vitest/issues/4313 ) [<samp>(4cee6)</samp>](https://togithub.com/vitest-dev/vitest/commit/4cee6711 )
- Preserve fixtures when calling runif and skipif - by [@​dsyddall](https://togithub.com/dsyddall ) in [https://github.com/vitest-dev/vitest/issues/4585 ](https://togithub.com/vitest-dev/vitest/issues/4585 ) and [https://github.com/vitest-dev/vitest/issues/4591 ](https://togithub.com/vitest-dev/vitest/issues/4591 ) [<samp>(515ea)</samp>](https://togithub.com/vitest-dev/vitest/commit/515eadf9 )
- PassWithNoTests option not work - by [@​Dunqing](https://togithub.com/Dunqing ) in [https://github.com/vitest-dev/vitest/issues/4553 ](https://togithub.com/vitest-dev/vitest/issues/4553 ) [<samp>(8d183)</samp>](https://togithub.com/vitest-dev/vitest/commit/8d183da4 )
- **vite-node**:
- Have a separate cache for web/ssr transforms - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4221 ](https://togithub.com/vitest-dev/vitest/issues/4221 ) [<samp>(ca5db)</samp>](https://togithub.com/vitest-dev/vitest/commit/ca5dbef4 )
- Mjs files watch not work - by [@​Dunqing](https://togithub.com/Dunqing ) in [https://github.com/vitest-dev/vitest/issues/3982 ](https://togithub.com/vitest-dev/vitest/issues/3982 ) [<samp>(77ea9)</samp>](https://togithub.com/vitest-dev/vitest/commit/77ea9326 )
- **vitest**:
- Make [@​types/node](https://togithub.com/types/node ) optional - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4210 ](https://togithub.com/vitest-dev/vitest/issues/4210 ) [<samp>(a5383)</samp>](https://togithub.com/vitest-dev/vitest/commit/a5383c2d )
- Inline chai types instead of using [@​types/chai](https://togithub.com/types/chai ) - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4209 ](https://togithub.com/vitest-dev/vitest/issues/4209 ) [<samp>(5f477)</samp>](https://togithub.com/vitest-dev/vitest/commit/5f4774fc )
- Don't initialize globalSetup if workspace doesn't run tests - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4213 ](https://togithub.com/vitest-dev/vitest/issues/4213 ) [<samp>(06461)</samp>](https://togithub.com/vitest-dev/vitest/commit/0646197e )
- Deduplicate vitest when running globally or in a workspace - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4238 ](https://togithub.com/vitest-dev/vitest/issues/4238 ) [<samp>(93504)</samp>](https://togithub.com/vitest-dev/vitest/commit/93504619 )
- Print file path instead of "unknown test" when logging - by [@​Dunqing](https://togithub.com/Dunqing ) in [https://github.com/vitest-dev/vitest/issues/4146 ](https://togithub.com/vitest-dev/vitest/issues/4146 ) [<samp>(ec2e8)</samp>](https://togithub.com/vitest-dev/vitest/commit/ec2e8040 )
- Failed to load custom environment from js/ts file - by [@​Dunqing](https://togithub.com/Dunqing ) and [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4255 ](https://togithub.com/vitest-dev/vitest/issues/4255 ) [<samp>(da8d0)</samp>](https://togithub.com/vitest-dev/vitest/commit/da8d0570 )
- Support assets in new URL in Vite 5 - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4258 ](https://togithub.com/vitest-dev/vitest/issues/4258 ) [<samp>(d280f)</samp>](https://togithub.com/vitest-dev/vitest/commit/d280f489 )
- Correctly hoist `vi.hoisted` if assigned - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4285 ](https://togithub.com/vitest-dev/vitest/issues/4285 ) [<samp>(ff93a)</samp>](https://togithub.com/vitest-dev/vitest/commit/ff93a573 )
- Run globalSetup from the root config even if it's not in a workspace - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4325 ](https://togithub.com/vitest-dev/vitest/issues/4325 ) [<samp>(4293e)</samp>](https://togithub.com/vitest-dev/vitest/commit/4293e1b1 )
- Pass correct mode in vitest config function - by [@​adriencaccia](https://togithub.com/adriencaccia ) in [https://github.com/vitest-dev/vitest/issues/4399 ](https://togithub.com/vitest-dev/vitest/issues/4399 ) [<samp>(b8ca3)</samp>](https://togithub.com/vitest-dev/vitest/commit/b8ca3873 )
- Throw an error if vitest is imported using require() - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4466 ](https://togithub.com/vitest-dev/vitest/issues/4466 ) [<samp>(e5cf1)</samp>](https://togithub.com/vitest-dev/vitest/commit/e5cf1418 )
- Use correct type for defineProject to allow usage in mergeConfig - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4498 ](https://togithub.com/vitest-dev/vitest/issues/4498 ) [<samp>(7dee8)</samp>](https://togithub.com/vitest-dev/vitest/commit/7dee832d )
- Throw an error if Vite wasn't able to resolve aliased path - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4503 ](https://togithub.com/vitest-dev/vitest/issues/4503 ) [<samp>(50333)</samp>](https://togithub.com/vitest-dev/vitest/commit/503331d8 )
- Improve vi.waitUntil type to excude falsy types - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4572 ](https://togithub.com/vitest-dev/vitest/issues/4572 ) [<samp>(23652)</samp>](https://togithub.com/vitest-dev/vitest/commit/23652300 )
- Add import-meta.d.ts - by [@​macdaddyaz](https://togithub.com/macdaddyaz ) in [https://github.com/vitest-dev/vitest/issues/4571 ](https://togithub.com/vitest-dev/vitest/issues/4571 ) [<samp>(dd802)</samp>](https://togithub.com/vitest-dev/vitest/commit/dd80288f )
- Correctly support CSS variable when using happy-dom - by [@​sheremet-va](https://togithub.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/4601 ](https://togithub.com/vitest-dev/vitest/issues/4601 ) [<samp>(9fbf3)</samp>](https://togithub.com/vitest-dev/vitest/commit/9fbf39af )
- Pass correct server options in workspace - by [@​hironytic](https://togithub.com/hironytic ) in [https://github.com/vitest-dev/vitest/issues/4539 ](https://togithub.com/vitest-dev/vitest/issues/4539 ) and [https://github.com/vitest-dev/vitest/issues/4540 ](https://togithub.com/vitest-dev/vitest/issues/4540 ) [<samp>(241a8)</samp>](https://togithub.com/vitest-dev/vitest/commit/241a8c13 )
- Independently mock each instance's methods for mocked class - by [@​hi-ogawa](https://togithub.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/4564 ](https://togithub.com/vitest-dev/vitest/issues/4564 ) [<samp>(05b05)</samp>](https://togithub.com/vitest-dev/vitest/commit/05b0521c )
- **vm**:
- Remove sequencer usage from createVmThreadsPool function - by [@​mhogeveen](https://togithub.com/mhogeveen ) in [https://github.com/vitest-dev/vitest/issues/4638 ](https://togithub.com/vitest-dev/vitest/issues/4638 ) [<samp>(54d52)</samp>](https://togithub.com/vitest-dev/vitest/commit/54d52d44 )
##### 🏎 Performance
- Update `log-update` v9 - by [@​AriPerkkio](https://togithub.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/4390 ](https://togithub.com/vitest-dev/vitest/issues/4390 ) [<samp>(ba1df)</samp>](https://togithub.com/vitest-dev/vitest/commit/ba1df849 )
- Close pool early in run-mode - by [@​AriPerkkio](https://togithub.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/4623 ](https://togithub.com/vitest-dev/vitest/issues/4623 ) [<samp>(e0e20)</samp>](https://togithub.com/vitest-dev/vitest/commit/e0e20176 )
- **coverage-istanbul**: `all: true` instruments already instrumented files - by [@​AriPerkkio](https://togithub.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/4552 ](https://togithub.com/vitest-dev/vitest/issues/4552 ) [<samp>(d1e1b)</samp>](https://togithub.com/vitest-dev/vitest/commit/d1e1bc90 )
##### [View changes on GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.34.7...v1.0.0 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy44MS4zIiwidXBkYXRlZEluVmVyIjoiMzcuOTMuMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSJ9-->
2023-12-18 13:46:29 +00:00