Commit Graph

70 Commits

Author SHA1 Message Date
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)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@vitest/coverage-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) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fcoverage-istanbul/1.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fcoverage-istanbul/1.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fcoverage-istanbul/0.34.6/1.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fcoverage-istanbul/0.34.6/1.0.4?slim=true)](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) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fui/1.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fui/1.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fui/0.34.6/1.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fui/0.34.6/1.0.4?slim=true)](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) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/1.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest/1.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest/0.34.6/1.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/0.34.6/1.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>vitest-dev/vitest (@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;vitest/browser](https://togithub.com/vitest/browser) package  -  by [@&#8203;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 [@&#8203;sheremet-va](https://togithub.com/sheremet-va) and [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;mmkal](https://togithub.com/mmkal), **Misha Kaletsky** and [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;sheremet-va](https://togithub.com/sheremet-va), [@&#8203;dammy001](https://togithub.com/dammy001) and [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;kleinfreund](https://togithub.com/kleinfreund) and [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;hi-ogawa](https://togithub.com/hi-ogawa) and [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;dsyddall](https://togithub.com/dsyddall) [<samp>(f6844)</samp>](https://togithub.com/vitest-dev/vitest/commit/f6844ad6)
-   Default --open to !process.env.CI  -  by [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;sheremet-va](https://togithub.com/sheremet-va) [<samp>(5996c)</samp>](https://togithub.com/vitest-dev/vitest/commit/5996c8c0)
    -   `Object.freeze` breaks `toEqual`  -  by [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;types/node](https://togithub.com/types/node) optional  -  by [@&#8203;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 [@&#8203;types/chai](https://togithub.com/types/chai)  -  by [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;Dunqing](https://togithub.com/Dunqing) and [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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