Commit Graph

9436 Commits

Author SHA1 Message Date
pengx17
79c9425df6 fix(editor): link popover title overflow (#11704)
fix AF-2506
2025-04-16 04:40:59 +00:00
donteatfriedrice
bfec5dd594 fix(editor): markdown html and image import (#11712)
Close
[BS-3145](https://linear.app/affine-design/issue/BS-3145/markdown-adapter-html-标签导入成-code-block)
[BS-3154](https://linear.app/affine-design/issue/BS-3154/[bug]-使用-markdown-with-files-导入到-affine-图片丢失)
2025-04-16 04:27:39 +00:00
Saul-Mirone
828215f45a refactor(editor): remove unused modal widget (#11713) 2025-04-16 04:13:58 +00:00
Aki Chang
26ddccccd2 fix(android): add proguard rules for release build crash (#11710) 2025-04-16 10:11:29 +08:00
Brooooooklyn
fe86722845 perf(native): use simd to speedup audio buffer mix (#11717)
Run `cargo bench -p affine_media_capture`

```
test result: ok. 0 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 0.00s

     Running benches/mix_audio_samples.rs (target/release/deps/mix_audio_samples-ffbc55dcf90d3468)
audio mix/simd          time:   [98.380 ns 99.339 ns 100.57 ns]
                        change: [−19.199% −16.928% −14.569%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 12 outliers among 100 measurements (12.00%)
  6 (6.00%) high mild
  6 (6.00%) high severe
audio mix/scalar        time:   [123.99 ns 126.11 ns 128.71 ns]
                        change: [+0.2703% +1.2739% +2.5727%] (p = 0.02 < 0.05)
                        Change within noise threshold.
Found 11 outliers among 100 measurements (11.00%)
  4 (4.00%) high mild
  7 (7.00%) high severe
```
2025-04-16 00:42:30 +00:00
darkskygit
e0970daa5a feat(server): upgrade models to gpt4.1 (#11696) 2025-04-15 14:23:40 +00:00
pengx17
220087c172 fix(mobile): cannot change tag color (#11708)
fix AF-2402
2025-04-15 13:36:22 +00:00
pengx17
db2a8fd509 fix(core): database backlink row visibility (#11706)
fix AF-2507

do not show the db backlink row if
- the row does not have any properties (excluding `title` column)
- the target doc is a template page
2025-04-15 13:21:49 +00:00
Saul-Mirone
b2694003c9 fix(editor): missing copy as png implementation (#11716) 2025-04-15 13:08:47 +00:00
forehalo
681c61a300 chore(admin): allow config avatar public path (#11689)
close #11677
2025-04-15 12:54:55 +00:00
Saul-Mirone
3ebac1d39d refactor(editor): remove dead code (#11709) 2025-04-15 12:40:36 +00:00
donteatfriedrice
96e58316f7 feat(editor): add footnote node click handler (#11699)
Close [BS-3114](https://linear.app/affine-design/issue/BS-3114/点击-footnote-node-行为更新)
2025-04-15 12:22:43 +00:00
Saul-Mirone
b5c9741f18 feat(editor): extract keyboard toolbar widget (#11707) 2025-04-15 12:06:50 +00:00
renovate
ecdaea9176 chore: bump up i18next version to v25 (#11705)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [i18next](https://www.i18next.com) ([source](https://redirect.github.com/i18next/i18next)) | [`^24.1.0` -> `^25.0.0`](https://renovatebot.com/diffs/npm/i18next/24.2.3/25.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/i18next/25.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/i18next/25.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/i18next/24.2.3/25.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/i18next/24.2.3/25.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>i18next/i18next (i18next)</summary>

### [`v25.0.0`](https://redirect.github.com/i18next/i18next/blob/HEAD/CHANGELOG.md#2500)

[Compare Source](https://redirect.github.com/i18next/i18next/compare/v24.2.3...v25.0.0)

**This is a potentially breaking release:**

-   fix multiple changeLanguage call that may have result in wrong order in previous versions [1605](https://redirect.github.com/i18next/i18next/issues/1605) [2298](https://redirect.github.com/i18next/i18next/pull/2298)
-   adapt `changeLanguage` to always (string or array) use `getBestMatchFromCodes` [2299](https://redirect.github.com/i18next/i18next/issues/2299)
-   `getBestMatchFromCodes` now tries to fallback to language code with same script [2299](https://redirect.github.com/i18next/i18next/issues/2299)

</details>

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-15 11:52:42 +00:00
forehalo
7257f1b55b chore(server): remove enable flag in mail config (#11680)
close #11625
2025-04-15 09:18:10 +00:00
renovate
b249939093 chore: bump up prisma monorepo to v6 (major) (#8964)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@prisma/client](https://www.prisma.io) ([source](https://redirect.github.com/prisma/prisma/tree/HEAD/packages/client)) | [`^5.22.0` -> `^6.0.0`](https://renovatebot.com/diffs/npm/@prisma%2fclient/5.22.0/6.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2fclient/6.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2fclient/6.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2fclient/5.22.0/6.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2fclient/5.22.0/6.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@prisma/instrumentation](https://www.prisma.io) ([source](https://redirect.github.com/prisma/prisma/tree/HEAD/packages/instrumentation)) | [`^5.22.0` -> `^6.0.0`](https://renovatebot.com/diffs/npm/@prisma%2finstrumentation/5.22.0/6.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@prisma%2finstrumentation/6.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@prisma%2finstrumentation/6.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@prisma%2finstrumentation/5.22.0/6.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@prisma%2finstrumentation/5.22.0/6.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [prisma](https://www.prisma.io) ([source](https://redirect.github.com/prisma/prisma/tree/HEAD/packages/cli)) | [`^5.22.0` -> `^6.0.0`](https://renovatebot.com/diffs/npm/prisma/5.22.0/6.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/prisma/6.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prisma/6.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prisma/5.22.0/6.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prisma/5.22.0/6.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>prisma/prisma (@&#8203;prisma/client)</summary>

### [`v6.0.1`](https://redirect.github.com/prisma/prisma/compare/6.0.0...6.0.1)

[Compare Source](https://redirect.github.com/prisma/prisma/compare/6.0.0...6.0.1)

### [`v6.0.0`](https://redirect.github.com/prisma/prisma/releases/tag/6.0.0)

[Compare Source](https://redirect.github.com/prisma/prisma/compare/5.22.0...6.0.0)

We’re excited to share the Prisma ORM v6 release today 🎉

As this is a major release, it includes a few breaking changes that may affect your application. Before upgrading, we recommend that you check out our [upgrade guide](https://www.prisma.io/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-6) to understand the impact on your application.

If you want to have an overview of what we accomplished since v5, check out our announcement blog post: [Prisma 6: Better Performance, More Flexibility & Type-Safe SQL](https://www.prisma.io/blog/prisma-6-better-performance-more-flexibility-and-type-safe-sql).

🌟 **Help us spread the word about Prisma by starring the repo ☝️ or [posting on X](https://twitter.com/intent/tweet?text=Check%20out%20the%20latest%20@&#8203;prisma%20release%20v6.0.0%20%F0%9F%9A%80%0D%0A%0D%0Ahttps://github.com/prisma/prisma/releases/tag/6.0.0) about the release.**

##### Breaking changes

⚠️ This section contains a list of breaking changes. If you upgrade your application to Prisma ORM v6 without addressing these, your application is going to break! **For detailed upgrade instructions, check out the [upgrade guide](https://www.prisma.io/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-6).** ⚠️ 

##### Minimum supported Node.js versions

The new minimum supported Node.js versions for Prisma ORM v6 are:

-   for Node.js 18 the minimum supported version is **18.18.0**
-   for Node.js 20 the minimum supported version is **20.9.0**
-   for Node.js 22 the minimum supported version is **22.11.0**

There is no official support for Node.js <18.18.0, 19, 21, 23.

##### Minimum supported TypeScript version

The new minimum supported TypeScript version for Prisma ORM v6 is: **5.1.0**.

##### Schema change for implicit m-n relations on PostgreSQL

If you're using PostgreSQL and are defining [implicit many-to-many relations](https://www.prisma.io/docs/orm/prisma-schema/data-model/relations/many-to-many-relations#implicit-many-to-many-relations) in your Prisma schema, Prisma ORM maintains the [relation table](https://www.prisma.io/docs/orm/prisma-schema/data-model/relations/many-to-many-relations#relation-tables) for you under the hood. This relation table has `A` and `B` columns to represent the tables of the models that are part of this relation.

Previous versions of Prisma ORM used to create a *unique index* on these two columns. In Prisma v6, this unique index is changing to a *primary key* in order to [simplify for the default replica identity behaviour](https://redirect.github.com/prisma/prisma/issues/25196).

If you're defining implicit m-n relations in your Prisma schema, the next migration you'll create will contain `ALTER TABLE` statements for *all* the relation tables that belong to these relations.

##### Full-text search on PostgreSQL

The `fullTextSearch` Preview feature is promoted to General Availability only for MySQL. This means that if you're using PostgreSQL and currently make use of this Preview feature, you now need to use the new `fullTextSearchPostgres` Preview feature.

##### Usage of `Buffer`

Prisma v6 replaces the usage of [`Buffer`](https://nodejs.org/api/buffer.html) with [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) to represent fields of type `Bytes`. Make sure to replace all your occurrences of the `Buffer` type with the new `Uint8Array`.

##### Removed `NotFoundError`

In Prisma v6, we removed the `NotFoundError` in favor of `PrismaClientKnownRequestError` with error code [`P2025`](https://www.prisma.io/docs/orm/reference/error-reference#p2025) in [`findUniqueOrThrow()`](https://www.prisma.io/docs/orm/reference/prisma-client-reference#finduniqueorthrow) and [`findFirstOrThrow()`](https://www.prisma.io/docs/orm/reference/prisma-client-reference#findfirstorthrow). If you've relied on catching `NotFoundError` instances in your code, you need to adjust the code accordingly.

##### New keywords that can't be used as model names: `async`, `await`, `using`

With this release, you can't use `async`, `await` and `using` as model names any more.

***

⚠️ **For detailed upgrade instructions, check out the [upgrade guide](https://www.prisma.io/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-6).**  ⚠️ 

##### Preview features promoted to General Availability

In this release, we are promoting a number of [Preview](https://www.prisma.io/docs/orm/more/releases#preview) features to [General Availability](https://www.prisma.io/docs/orm/more/releases#generally-available-ga).

##### `fullTextIndex`

If you use the [full-text index](https://www.prisma.io/docs/orm/prisma-schema/data-model/indexes#full-text-indexes-mysql-and-mongodb) feature in your app, you can now remove `fullTextIndex` from the `previewFeatures` in your Prisma schema:

```diff
generator client {
  provider        = "prisma-client-js"
- previewFeatures = ["fullTextIndex"]
}

```

##### `fullTextSearch`

If you use the [full-text search](https://www.prisma.io/docs/orm/prisma-client/queries/full-text-search) feature with **MySQL** in your app, you can now remove `fullTextSearch` from the `previewFeatures` in your Prisma schema:

```diff
generator client {
  provider        = "prisma-client-js"
- previewFeatures = ["fullTextSearch"]
}

```

If you are using it with **PostgreSQL**, you need to update the name of the feature flag to `fullTextSearchPostgres`:

```diff
generator client {
  provider        = "prisma-client-js"
- previewFeatures = ["fullTextSearch"]
+ previewFeatures = ["fullTextSearchPostgres"]
}
```

##### New features

We are also releasing new features with this release:

-   [cuid2() support](https://redirect.github.com/prisma/prisma-engines/pull/5047)
-   [Include unused enum definitions in `prisma generate`'s output](https://redirect.github.com/prisma/prisma/pull/25740)
-   [Improved compatibility with Deno 2](https://redirect.github.com/prisma/prisma/pull/25734)

##### Company news

##### 🚀 Prisma Postgres is free during Early Access

In case you missed it: We recently launched [Prisma Postgres](https://www.prisma.io/blog/announcing-prisma-postgres-early-access), a serverless database with zero cold starts, a generous free tier, connection pooling, real-time events, and a lot more! It’s entirely free during the Early Access phase, try it now!

#####  Let us know what you think of Prisma ORM

We're always trying to improve! If you've recently used Prisma ORM, we'd appreciate hearing your thoughts about your experience via this [2min survey](https://pris.ly/orm/survey/release-5-22).

</details>

<details>
<summary>prisma/prisma (@&#8203;prisma/instrumentation)</summary>

### [`v6.0.1`](https://redirect.github.com/prisma/prisma/releases/tag/6.0.1)

[Compare Source](https://redirect.github.com/prisma/prisma/compare/6.0.0...6.0.1)

Today we are releasing the `6.0.1` patch release to address an issue with using Prisma Client generated in a custom output path with Next.js.

##### Changes

-   [Revert `"type": "commonjs"` addition in generated `package.json`](https://redirect.github.com/prisma/prisma/pull/25767)

### [`v6.0.0`](https://redirect.github.com/prisma/prisma/releases/tag/6.0.0)

[Compare Source](https://redirect.github.com/prisma/prisma/compare/5.22.0...6.0.0)

We’re excited to share the Prisma ORM v6 release today 🎉

As this is a major release, it includes a few breaking changes that may affect your application. Before upgrading, we recommend that you check out our [upgrade guide](https://www.prisma.io/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-6) to understand the impact on your application.

If you want to have an overview of what we accomplished since v5, check out our announcement blog post: [Prisma 6: Better Performance, More Flexibility & Type-Safe SQL](https://www.prisma.io/blog/prisma-6-better-performance-more-flexibility-and-type-safe-sql).

🌟 **Help us spread the word about Prisma by starring the repo ☝️ or [posting on X](https://twitter.com/intent/tweet?text=Check%20out%20the%20latest%20@&#8203;prisma%20release%20v6.0.0%20%F0%9F%9A%80%0D%0A%0D%0Ahttps://github.com/prisma/prisma/releases/tag/6.0.0) about the release.**

#### Breaking changes

⚠️ This section contains a list of breaking changes. If you upgrade your application to Prisma ORM v6 without addressing these, your application is going to break! **For detailed upgrade instructions, check out the [upgrade guide](https://www.prisma.io/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-6).** ⚠️ 

##### Minimum supported Node.js versions

The new minimum supported Node.js versions for Prisma ORM v6 are:

-   for Node.js 18 the minimum supported version is **18.18.0**
-   for Node.js 20 the minimum supported version is **20.9.0**
-   for Node.js 22 the minimum supported version is **22.11.0**

There is no official support for Node.js <18.18.0, 19, 21, 23.

##### Minimum supported TypeScript version

The new minimum supported TypeScript version for Prisma ORM v6 is: **5.1.0**.

##### Schema change for implicit m-n relations on PostgreSQL

If you're using PostgreSQL and are defining [implicit many-to-many relations](https://www.prisma.io/docs/orm/prisma-schema/data-model/relations/many-to-many-relations#implicit-many-to-many-relations) in your Prisma schema, Prisma ORM maintains the [relation table](https://www.prisma.io/docs/orm/prisma-schema/data-model/relations/many-to-many-relations#relation-tables) for you under the hood. This relation table has `A` and `B` columns to represent the tables of the models that are part of this relation.

Previous versions of Prisma ORM used to create a *unique index* on these two columns. In Prisma v6, this unique index is changing to a *primary key* in order to [simplify for the default replica identity behaviour](https://redirect.github.com/prisma/prisma/issues/25196).

If you're defining implicit m-n relations in your Prisma schema, the next migration you'll create will contain `ALTER TABLE` statements for *all* the relation tables that belong to these relations.

##### Full-text search on PostgreSQL

The `fullTextSearch` Preview feature is promoted to General Availability only for MySQL. This means that if you're using PostgreSQL and currently make use of this Preview feature, you now need to use the new `fullTextSearchPostgres` Preview feature.

##### Usage of `Buffer`

Prisma v6 replaces the usage of [`Buffer`](https://nodejs.org/api/buffer.html) with [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) to represent fields of type `Bytes`. Make sure to replace all your occurrences of the `Buffer` type with the new `Uint8Array`.

##### Removed `NotFoundError`

In Prisma v6, we removed the `NotFoundError` in favor of `PrismaClientKnownRequestError` with error code [`P2025`](https://www.prisma.io/docs/orm/reference/error-reference#p2025) in [`findUniqueOrThrow()`](https://www.prisma.io/docs/orm/reference/prisma-client-reference#finduniqueorthrow) and [`findFirstOrThrow()`](https://www.prisma.io/docs/orm/reference/prisma-client-reference#findfirstorthrow). If you've relied on catching `NotFoundError` instances in your code, you need to adjust the code accordingly.

##### New keywords that can't be used as model names: `async`, `await`, `using`

With this release, you can't use `async`, `await` and `using` as model names any more.

***

⚠️ **For detailed upgrade instructions, check out the [upgrade guide](https://www.prisma.io/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-6).**  ⚠️ 

#### Preview features promoted to General Availability

In this release, we are promoting a number of [Preview](https://www.prisma.io/docs/orm/more/releases#preview) features to [General Availability](https://www.prisma.io/docs/orm/more/releases#generally-available-ga).

##### `fullTextIndex`

If you use the [full-text index](https://www.prisma.io/docs/orm/prisma-schema/data-model/indexes#full-text-indexes-mysql-and-mongodb) feature in your app, you can now remove `fullTextIndex` from the `previewFeatures` in your Prisma schema:

```diff
generator client {
  provider        = "prisma-client-js"
- previewFeatures = ["fullTextIndex"]
}

```

##### `fullTextSearch`

If you use the [full-text search](https://www.prisma.io/docs/orm/prisma-client/queries/full-text-search) feature with **MySQL** in your app, you can now remove `fullTextSearch` from the `previewFeatures` in your Prisma schema:

```diff
generator client {
  provider        = "prisma-client-js"
- previewFeatures = ["fullTextSearch"]
}

```

If you are using it with **PostgreSQL**, you need to update the name of the feature flag to `fullTextSearchPostgres`:

```diff
generator client {
  provider        = "prisma-client-js"
- previewFeatures = ["fullTextSearch"]
+ previewFeatures = ["fullTextSearchPostgres"]
}
```

#### New features

We are also releasing new features with this release:

-   [cuid2() support](https://redirect.github.com/prisma/prisma-engines/pull/5047)
-   [Include unused enum definitions in `prisma generate`'s output](https://redirect.github.com/prisma/prisma/pull/25740)
-   [Improved compatibility with Deno 2](https://redirect.github.com/prisma/prisma/pull/25734)

#### Company news

##### 🚀 Prisma Postgres is free during Early Access

In case you missed it: We recently launched [Prisma Postgres](https://www.prisma.io/blog/announcing-prisma-postgres-early-access), a serverless database with zero cold starts, a generous free tier, connection pooling, real-time events, and a lot more! It’s entirely free during the Early Access phase, try it now!

#####  Let us know what you think of Prisma ORM

We're always trying to improve! If you've recently used Prisma ORM, we'd appreciate hearing your thoughts about your experience via this [2min survey](https://pris.ly/orm/survey/release-5-22).

</details>

<details>
<summary>prisma/prisma (prisma)</summary>

### [`v6.0.1`](https://redirect.github.com/prisma/prisma/compare/6.0.0...6.0.1)

[Compare Source](https://redirect.github.com/prisma/prisma/compare/6.0.0...6.0.1)

### [`v6.0.0`](https://redirect.github.com/prisma/prisma/releases/tag/6.0.0)

[Compare Source](https://redirect.github.com/prisma/prisma/compare/5.22.0...6.0.0)

We’re excited to share the Prisma ORM v6 release today 🎉

As this is a major release, it includes a few breaking changes that may affect your application. Before upgrading, we recommend that you check out our [upgrade guide](https://www.prisma.io/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-6) to understand the impact on your application.

If you want to have an overview of what we accomplished since v5, check out our announcement blog post: [Prisma 6: Better Performance, More Flexibility & Type-Safe SQL](https://www.prisma.io/blog/prisma-6-better-performance-more-flexibility-and-type-safe-sql).

🌟 **Help us spread the word about Prisma by starring the repo ☝️ or [posting on X](https://twitter.com/intent/tweet?text=Check%20out%20the%20latest%20@&#8203;prisma%20release%20v6.0.0%20%F0%9F%9A%80%0D%0A%0D%0Ahttps://github.com/prisma/prisma/releases/tag/6.0.0) about the release.**

##### Breaking changes

⚠️ This section contains a list of breaking changes. If you upgrade your application to Prisma ORM v6 without addressing these, your application is going to break! **For detailed upgrade instructions, check out the [upgrade guide](https://www.prisma.io/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-6).** ⚠️ 

##### Minimum supported Node.js versions

The new minimum supported Node.js versions for Prisma ORM v6 are:

-   for Node.js 18 the minimum supported version is **18.18.0**
-   for Node.js 20 the minimum supported version is **20.9.0**
-   for Node.js 22 the minimum supported version is **22.11.0**

There is no official support for Node.js <18.18.0, 19, 21, 23.

##### Minimum supported TypeScript version

The new minimum supported TypeScript version for Prisma ORM v6 is: **5.1.0**.

##### Schema change for implicit m-n relations on PostgreSQL

If you're using PostgreSQL and are defining [implicit many-to-many relations](https://www.prisma.io/docs/orm/prisma-schema/data-model/relations/many-to-many-relations#implicit-many-to-many-relations) in your Prisma schema, Prisma ORM maintains the [relation table](https://www.prisma.io/docs/orm/prisma-schema/data-model/relations/many-to-many-relations#relation-tables) for you under the hood. This relation table has `A` and `B` columns to represent the tables of the models that are part of this relation.

Previous versions of Prisma ORM used to create a *unique index* on these two columns. In Prisma v6, this unique index is changing to a *primary key* in order to [simplify for the default replica identity behaviour](https://redirect.github.com/prisma/prisma/issues/25196).

If you're defining implicit m-n relations in your Prisma schema, the next migration you'll create will contain `ALTER TABLE` statements for *all* the relation tables that belong to these relations.

##### Full-text search on PostgreSQL

The `fullTextSearch` Preview feature is promoted to General Availability only for MySQL. This means that if you're using PostgreSQL and currently make use of this Preview feature, you now need to use the new `fullTextSearchPostgres` Preview feature.

##### Usage of `Buffer`

Prisma v6 replaces the usage of [`Buffer`](https://nodejs.org/api/buffer.html) with [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) to represent fields of type `Bytes`. Make sure to replace all your occurrences of the `Buffer` type with the new `Uint8Array`.

##### Removed `NotFoundError`

In Prisma v6, we removed the `NotFoundError` in favor of `PrismaClientKnownRequestError` with error code [`P2025`](https://www.prisma.io/docs/orm/reference/error-reference#p2025) in [`findUniqueOrThrow()`](https://www.prisma.io/docs/orm/reference/prisma-client-reference#finduniqueorthrow) and [`findFirstOrThrow()`](https://www.prisma.io/docs/orm/reference/prisma-client-reference#findfirstorthrow). If you've relied on catching `NotFoundError` instances in your code, you need to adjust the code accordingly.

##### New keywords that can't be used as model names: `async`, `await`, `using`

With this release, you can't use `async`, `await` and `using` as model names any more.

***

⚠️ **For detailed upgrade instructions, check out the [upgrade guide](https://www.prisma.io/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-6).**  ⚠️ 

##### Preview features promoted to General Availability

In this release, we are promoting a number of [Preview](https://www.prisma.io/docs/orm/more/releases#preview) features to [General Availability](https://www.prisma.io/docs/orm/more/releases#generally-available-ga).

##### `fullTextIndex`

If you use the [full-text index](https://www.prisma.io/docs/orm/prisma-schema/data-model/indexes#full-text-indexes-mysql-and-mongodb) feature in your app, you can now remove `fullTextIndex` from the `previewFeatures` in your Prisma schema:

```diff
generator client {
  provider        = "prisma-client-js"
- previewFeatures = ["fullTextIndex"]
}

```

##### `fullTextSearch`

If you use the [full-text search](https://www.prisma.io/docs/orm/prisma-client/queries/full-text-search) feature with **MySQL** in your app, you can now remove `fullTextSearch` from the `previewFeatures` in your Prisma schema:

```diff
generator client {
  provider        = "prisma-client-js"
- previewFeatures = ["fullTextSearch"]
}

```

If you are using it with **PostgreSQL**, you need to update the name of the feature flag to `fullTextSearchPostgres`:

```diff
generator client {
  provider        = "prisma-client-js"
- previewFeatures = ["fullTextSearch"]
+ previewFeatures = ["fullTextSearchPostgres"]
}
```

##### New features

We are also releasing new features with this release:

-   [cuid2() support](https://redirect.github.com/prisma/prisma-engines/pull/5047)
-   [Include unused enum definitions in `prisma generate`'s output](https://redirect.github.com/prisma/prisma/pull/25740)
-   [Improved compatibility with Deno 2](https://redirect.github.com/prisma/prisma/pull/25734)

##### Company news

##### 🚀 Prisma Postgres is free during Early Access

In case you missed it: We recently launched [Prisma Postgres](https://www.prisma.io/blog/announcing-prisma-postgres-early-access), a serverless database with zero cold starts, a generous free tier, connection pooling, real-time events, and a lot more! It’s entirely free during the Early Access phase, try it now!

#####  Let us know what you think of Prisma ORM

We're always trying to improve! If you've recently used Prisma ORM, we'd appreciate hearing your thoughts about your experience via this [2min survey](https://pris.ly/orm/survey/release-5-22).

</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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuNTguMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2025-04-15 09:05:00 +00:00
fundon
8ca675b2ec fix(editor): improve pdf embed viewer UX (#11641)
Closes: [BS-3101](https://linear.app/affine-design/issue/BS-3101/pdf-embed-模式的选中框选-和点开看详情有比较大的问题)

### What's Changed!

* Fixed disable pointer event in native pdf viewer by dragging
* Disable opening peek view with pdf viewer in readonly and sharing modes
2025-04-15 08:51:02 +00:00
yoyoyohamapi
0df584bd5e refactor(core): add keyPress event to fix IME space detection (#11700)
### TL;DR
Refactor space-triggered AI Widget activation logic from `keydown` to `keypress` event listeners

### Background

The `keydown` event triggered by a space may originate from:
1. Normal space insertion
2. Space triggered by input method confirming candidate words

In scenarios like (2), some browsers (see [ISSUE](https://github.com/toeverything/AFFiNE/issues/11541)) and input method callbacks produce events identical to scenario (1),making it impossible to distinguish between the two.

To fix this, the space-activated AI listener uses the `keypress` event:
In scenario 2, `event.which !== 32` (may be `30430` or other values) can be used to differentiate from scenario 1.

> CLOSE BS-3081
2025-04-15 08:37:27 +00:00
Flrande
fd6c34cfa3 fix(editor): v-element may get undefined inline editor (#11697) 2025-04-15 08:22:39 +00:00
pengx17
46f3dfc64c fix(core): audio player ux (#11685) 2025-04-15 16:06:59 +08:00
Aki Chang
793d084077 chore(android): only status draft may be created on draft app (#11701) 2025-04-15 15:51:12 +08:00
pengx17
7b2ae7f573 feat(core): adjust history modal styles (#11675)
- add avatar/name info to each history snapshot item
- add avatar to audio transcription job owner

fix AF-2483

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/4a2b88c2-311a-470e-a8a9-113931cdf17e.png)
2025-04-15 07:16:53 +00:00
donteatfriedrice
e02b159bf4 feat(core): remove preview footnote hover effect config (#11695)
Close [BS-3115](https://linear.app/affine-design/issue/BS-3115/侧边栏-footnote-ui-和用户行为与编辑器内统一)
2025-04-15 07:02:51 +00:00
aki-chang-dev
a8cb48da5d chore(android): fix google play action (#11686) 2025-04-15 06:35:24 +00:00
pengx17
575aa3c1c1 fix(editor): rework disable middle click settings for linux (#11556)
fix BS-3028
Unfortunately, I don't find out a way to disable this behavior on ff linux
2025-04-15 04:44:26 +00:00
CatsJuice
4011214451 fix(ios): avoid keyboard covering dialog (#11681)
close PD-2540
2025-04-15 04:30:19 +00:00
L-Sun
6f35021f22 chore(editor): update github block ui (#11690)
Close [BS-2651](https://linear.app/affine-design/issue/BS-2651/github-embed-block的样式修复)
2025-04-15 04:15:00 +00:00
darkskygit
84ff54f9d7 feat(server): make slide audio transcript parallel (#11692) 2025-04-15 03:59:23 +00:00
darkskygit
ad712da07f fix(server): slide audio override (#11688) 2025-04-15 03:59:23 +00:00
darkskygit
f2f1a10715 fix(server): initial user plan (#11687) 2025-04-15 03:59:22 +00:00
LongYinan
5bb67e66c2 docs: format releases.md 2025-04-15 11:37:39 +08:00
glitched-w0rld
2b9ccf8fcf docs: improve grammar of contributing releases.md (#10032) 2025-04-15 10:26:34 +08:00
renovate
aaa81e7d12 chore: bump up all non-major dependencies (#11670)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@ai-sdk/google](https://sdk.vercel.ai/docs) ([source](https://redirect.github.com/vercel/ai)) | [`1.2.10` -> `1.2.11`](https://renovatebot.com/diffs/npm/@ai-sdk%2fgoogle/1.2.10/1.2.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@ai-sdk%2fgoogle/1.2.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@ai-sdk%2fgoogle/1.2.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@ai-sdk%2fgoogle/1.2.10/1.2.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@ai-sdk%2fgoogle/1.2.10/1.2.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@ai-sdk/openai](https://sdk.vercel.ai/docs) ([source](https://redirect.github.com/vercel/ai)) | [`1.3.10` -> `1.3.12`](https://renovatebot.com/diffs/npm/@ai-sdk%2fopenai/1.3.10/1.3.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@ai-sdk%2fopenai/1.3.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@ai-sdk%2fopenai/1.3.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@ai-sdk%2fopenai/1.3.10/1.3.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@ai-sdk%2fopenai/1.3.10/1.3.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@ai-sdk/perplexity](https://sdk.vercel.ai/docs) ([source](https://redirect.github.com/vercel/ai)) | [`1.1.6` -> `1.1.7`](https://renovatebot.com/diffs/npm/@ai-sdk%2fperplexity/1.1.6/1.1.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@ai-sdk%2fperplexity/1.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@ai-sdk%2fperplexity/1.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@ai-sdk%2fperplexity/1.1.6/1.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@ai-sdk%2fperplexity/1.1.6/1.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@swc/core](https://swc.rs) ([source](https://redirect.github.com/swc-project/swc)) | [`1.11.20` -> `1.11.21`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.11.20/1.11.21) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.11.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fcore/1.11.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fcore/1.11.20/1.11.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.11.20/1.11.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@tailwindcss/postcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss)) | [`4.1.3` -> `4.1.4`](https://renovatebot.com/diffs/npm/@tailwindcss%2fpostcss/4.1.3/4.1.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2fpostcss/4.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tailwindcss%2fpostcss/4.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tailwindcss%2fpostcss/4.1.3/4.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2fpostcss/4.1.3/4.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@tailwindcss/vite](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite)) | [`4.1.3` -> `4.1.4`](https://renovatebot.com/diffs/npm/@tailwindcss%2fvite/4.1.3/4.1.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2fvite/4.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tailwindcss%2fvite/4.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tailwindcss%2fvite/4.1.3/4.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2fvite/4.1.3/4.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@tanstack/react-table](https://tanstack.com/table) ([source](https://redirect.github.com/TanStack/table/tree/HEAD/packages/react-table)) | [`8.21.2` -> `8.21.3`](https://renovatebot.com/diffs/npm/@tanstack%2freact-table/8.21.2/8.21.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tanstack%2freact-table/8.21.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tanstack%2freact-table/8.21.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tanstack%2freact-table/8.21.2/8.21.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tanstack%2freact-table/8.21.2/8.21.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@types/react](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)) | [`19.1.1` -> `19.1.2`](https://renovatebot.com/diffs/npm/@types%2freact/19.1.1/19.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/19.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact/19.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact/19.1.1/19.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/19.1.1/19.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [ai](https://sdk.vercel.ai/docs) ([source](https://redirect.github.com/vercel/ai)) | [`4.3.5` -> `4.3.6`](https://renovatebot.com/diffs/npm/ai/4.3.5/4.3.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/ai/4.3.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ai/4.3.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ai/4.3.5/4.3.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ai/4.3.5/4.3.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [react-day-picker](https://daypicker.dev) ([source](https://redirect.github.com/gpbl/react-day-picker)) | [`9.6.6` -> `9.6.7`](https://renovatebot.com/diffs/npm/react-day-picker/9.6.6/9.6.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-day-picker/9.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-day-picker/9.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-day-picker/9.6.6/9.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-day-picker/9.6.6/9.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [tailwindcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss)) | [`4.1.3` -> `4.1.4`](https://renovatebot.com/diffs/npm/tailwindcss/4.1.3/4.1.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/4.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tailwindcss/4.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tailwindcss/4.1.3/4.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/4.1.3/4.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)) | [`8.29.1` -> `8.30.1`](https://renovatebot.com/diffs/npm/typescript-eslint/8.29.1/8.30.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typescript-eslint/8.30.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript-eslint/8.30.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript-eslint/8.29.1/8.30.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript-eslint/8.29.1/8.30.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [yarn](https://redirect.github.com/yarnpkg/berry) ([source](https://redirect.github.com/yarnpkg/berry/tree/HEAD/packages/yarnpkg-cli)) | [`4.9.0` -> `4.9.1`](https://renovatebot.com/diffs/npm/yarn/4.9.0/4.9.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@yarnpkg%2fcli/4.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@yarnpkg%2fcli/4.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@yarnpkg%2fcli/4.9.0/4.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@yarnpkg%2fcli/4.9.0/4.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>vercel/ai (@&#8203;ai-sdk/google)</summary>

### [`v1.2.11`](https://redirect.github.com/vercel/ai/releases/tag/%40ai-sdk/google%401.2.11)

[Compare Source](https://redirect.github.com/vercel/ai/compare/@ai-sdk/google@1.2.10...@ai-sdk/google@1.2.11)

##### Patch Changes

-   Updated dependencies \[[`beef951`](https://redirect.github.com/vercel/ai/commit/beef951)]
    -   [@&#8203;ai-sdk/provider](https://redirect.github.com/ai-sdk/provider)[@&#8203;1](https://redirect.github.com/1).1.3
    -   [@&#8203;ai-sdk/provider-utils](https://redirect.github.com/ai-sdk/provider-utils)[@&#8203;2](https://redirect.github.com/2).2.7

</details>

<details>
<summary>swc-project/swc (@&#8203;swc/core)</summary>

### [`v1.11.21`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#11121---2025-04-14)

[Compare Source](https://redirect.github.com/swc-project/swc/compare/v1.11.20...v1.11.21)

##### Bug Fixes

-   **(es/helpers)** Sync tslib `_ts_generator` implementation ([#&#8203;10366](https://redirect.github.com/swc-project/swc/issues/10366)) ([d3fb992](d3fb992a2f))

-   **(es/proposal)** Fix scope of declarations for `explicit-resource-management` ([#&#8203;10362](https://redirect.github.com/swc-project/swc/issues/10362)) ([eb7f7e9](eb7f7e9ff9))

-   **(ts/fast-strip)** Increase Wasm stack size ([#&#8203;10359](https://redirect.github.com/swc-project/swc/issues/10359)) ([6d444a5](6d444a5592))

##### Miscellaneous Tasks

-   **(es/parser)** Remove useless check ([#&#8203;10363](https://redirect.github.com/swc-project/swc/issues/10363)) ([0f6a8c3](0f6a8c3f3d))

##### Performance

-   **(es/parser)** Reduce string comparison ([#&#8203;10355](https://redirect.github.com/swc-project/swc/issues/10355)) ([21789c4](21789c4077))

-   **(es/parser)** Add initial capacitity for some vectors ([#&#8203;10361](https://redirect.github.com/swc-project/swc/issues/10361)) ([7b7b50e](7b7b50e6cd))

-   **(es/parser)** Reduce clone of token contexts ([#&#8203;10364](https://redirect.github.com/swc-project/swc/issues/10364)) ([3ab47b2](3ab47b291f))

-   **(es/parser)** Use `bitflags` to reduce parser context size ([#&#8203;10367](https://redirect.github.com/swc-project/swc/issues/10367)) ([a2d3596](a2d35960ad))

-   **(es/parser)** Replace byte arguments with generics ([#&#8203;10370](https://redirect.github.com/swc-project/swc/issues/10370)) ([68f7667](68f76679b4))

-   **(es/parser)** Use `arrayvec` and unsafe `push` to optimize escaped string parsing ([#&#8203;10369](https://redirect.github.com/swc-project/swc/issues/10369)) ([e12ae1c](e12ae1c994))

</details>

<details>
<summary>tailwindlabs/tailwindcss (@&#8203;tailwindcss/postcss)</summary>

### [`v4.1.4`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#414---2025-04-14)

[Compare Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.1.3...v4.1.4)

##### Added

-   Add experimental `@tailwindcss/oxide-wasm32-wasi` target for running Tailwind in browser environments like StackBlitz ([#&#8203;17558](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17558))

##### Fixed

-   Ensure `color-mix(…)` polyfills do not cause used CSS variables to be removed ([#&#8203;17555](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17555))
-   Ensure `color-mix(…)` polyfills create fallbacks for theme variables that reference other theme variables ([#&#8203;17562](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17562))
-   Fix brace expansion in declining ranges like `{10..0..5}` and `{0..10..-5}` ([#&#8203;17591](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17591))
-   Work around a Chrome rendering bug when using the `skew-*` utilities ([#&#8203;17627](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17627))
-   Ensure container query variant names can contain hyphens ([#&#8203;17628](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17628))
-   Ensure `shadow-inherit`, `inset-shadow-inherit`, `drop-shadow-inherit`, and `text-shadow-inherit` inherit the shadow color ([#&#8203;17647](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17647))
-   Ensure compatibility with array tuples used in `fontSize` JS theme keys ([#&#8203;17630](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17630))
-   Ensure folders with binary file extensions in their names are scanned for utilities ([#&#8203;17595](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17595))
-   Upgrade: Convert `fontSize` array tuple syntax to CSS theme variables ([#&#8203;17630](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17630))

</details>

<details>
<summary>TanStack/table (@&#8203;tanstack/react-table)</summary>

### [`v8.21.3`](https://redirect.github.com/TanStack/table/releases/tag/v8.21.3)

[Compare Source](https://redirect.github.com/TanStack/table/compare/v8.21.2...v8.21.3)

Version 8.21.3 - 4/14/25, 8:19 PM

#### Changes

##### Fix

-   table-core: use right Document instance on getResizeHandler (column-sizing feature) ([#&#8203;5989](https://redirect.github.com/TanStack/table/issues/5989)) ([`54ce673`](https://redirect.github.com/TanStack/table/commit/54ce673)) by [@&#8203;riccardoperra](https://redirect.github.com/riccardoperra)

##### Docs

-   fix all 158 broken links ([#&#8203;5972](https://redirect.github.com/TanStack/table/issues/5972)) ([`f7bf6f1`](https://redirect.github.com/TanStack/table/commit/f7bf6f1)) by [@&#8203;kisaragi-hiu](https://redirect.github.com/kisaragi-hiu)
-   add vue example for grouping ([#&#8203;5941](https://redirect.github.com/TanStack/table/issues/5941)) ([`3efa59c`](https://redirect.github.com/TanStack/table/commit/3efa59c)) by Harshil Patel

#### Packages

-   [@&#8203;tanstack/table-core](https://redirect.github.com/tanstack/table-core)[@&#8203;8](https://redirect.github.com/8).21.3
-   [@&#8203;tanstack/angular-table](https://redirect.github.com/tanstack/angular-table)[@&#8203;8](https://redirect.github.com/8).21.3
-   [@&#8203;tanstack/lit-table](https://redirect.github.com/tanstack/lit-table)[@&#8203;8](https://redirect.github.com/8).21.3
-   [@&#8203;tanstack/qwik-table](https://redirect.github.com/tanstack/qwik-table)[@&#8203;8](https://redirect.github.com/8).21.3
-   [@&#8203;tanstack/react-table](https://redirect.github.com/tanstack/react-table)[@&#8203;8](https://redirect.github.com/8).21.3
-   [@&#8203;tanstack/solid-table](https://redirect.github.com/tanstack/solid-table)[@&#8203;8](https://redirect.github.com/8).21.3
-   [@&#8203;tanstack/svelte-table](https://redirect.github.com/tanstack/svelte-table)[@&#8203;8](https://redirect.github.com/8).21.3
-   [@&#8203;tanstack/vue-table](https://redirect.github.com/tanstack/vue-table)[@&#8203;8](https://redirect.github.com/8).21.3
-   [@&#8203;tanstack/react-table-devtools](https://redirect.github.com/tanstack/react-table-devtools)[@&#8203;8](https://redirect.github.com/8).21.3

</details>

<details>
<summary>gpbl/react-day-picker (react-day-picker)</summary>

### [`v9.6.7`](https://redirect.github.com/gpbl/react-day-picker/releases/tag/v9.6.7)

[Compare Source](https://redirect.github.com/gpbl/react-day-picker/compare/v9.6.6...v9.6.7)

Improved handling of timezones, fixed alignment with the Left/Right navigation icons.

#### What's Changed

-   fix: improve left/right icon alignment by [@&#8203;AlecRust](https://redirect.github.com/AlecRust) in [https://github.com/gpbl/react-day-picker/pull/2734](https://redirect.github.com/gpbl/react-day-picker/pull/2734)
-   fix: prevent timezone override when `initialMonth` is `Date` type by [@&#8203;lovebuizel](https://redirect.github.com/lovebuizel) in [https://github.com/gpbl/react-day-picker/pull/2737](https://redirect.github.com/gpbl/react-day-picker/pull/2737)

#### New Contributors

-   [@&#8203;lovebuizel](https://redirect.github.com/lovebuizel) made their first contribution in [https://github.com/gpbl/react-day-picker/pull/2737](https://redirect.github.com/gpbl/react-day-picker/pull/2737)

**Full Changelog**: https://github.com/gpbl/react-day-picker/compare/v9.6.6...v9.6.7

</details>

<details>
<summary>typescript-eslint/typescript-eslint (typescript-eslint)</summary>

### [`v8.30.1`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8301-2025-04-14)

[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.30.0...v8.30.1)

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v8.30.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8300-2025-04-14)

[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.29.1...v8.30.0)

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

</details>

<details>
<summary>yarnpkg/berry (yarn)</summary>

### [`v4.9.1`](2b26e3dff6...1908ee79fd)

[Compare Source](2b26e3dff6...1908ee79fd)

</details>

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-15 02:08:17 +00:00
renovate
b70a0dfbc7 chore: bump up nestjs to v11.0.17 (#11676)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@nestjs/common](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/common)) | [`11.0.16` -> `11.0.17`](https://renovatebot.com/diffs/npm/@nestjs%2fcommon/11.0.16/11.0.17) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fcommon/11.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fcommon/11.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fcommon/11.0.16/11.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fcommon/11.0.16/11.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/core](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/core)) | [`11.0.16` -> `11.0.17`](https://renovatebot.com/diffs/npm/@nestjs%2fcore/11.0.16/11.0.17) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fcore/11.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fcore/11.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fcore/11.0.16/11.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fcore/11.0.16/11.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/platform-express](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/platform-express)) | [`11.0.16` -> `11.0.17`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-express/11.0.16/11.0.17) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fplatform-express/11.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fplatform-express/11.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fplatform-express/11.0.16/11.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fplatform-express/11.0.16/11.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/platform-socket.io](https://nestjs.com) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/platform-socket.io)) | [`11.0.16` -> `11.0.17`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-socket.io/11.0.16/11.0.17) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fplatform-socket.io/11.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fplatform-socket.io/11.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fplatform-socket.io/11.0.16/11.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fplatform-socket.io/11.0.16/11.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs/websockets](https://redirect.github.com/nestjs/nest) ([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/websockets)) | [`11.0.16` -> `11.0.17`](https://renovatebot.com/diffs/npm/@nestjs%2fwebsockets/11.0.16/11.0.17) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs%2fwebsockets/11.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs%2fwebsockets/11.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs%2fwebsockets/11.0.16/11.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs%2fwebsockets/11.0.16/11.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>nestjs/nest (@&#8203;nestjs/common)</summary>

### [`v11.0.17`](https://redirect.github.com/nestjs/nest/compare/v11.0.16...f8a171c4cb3f663a7e949fdc8fe1e4c9b49640e6)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v11.0.16...v11.0.17)

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/core)</summary>

### [`v11.0.17`](https://redirect.github.com/nestjs/nest/compare/v11.0.16...f8a171c4cb3f663a7e949fdc8fe1e4c9b49640e6)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v11.0.16...v11.0.17)

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/platform-express)</summary>

### [`v11.0.17`](https://redirect.github.com/nestjs/nest/compare/v11.0.16...f8a171c4cb3f663a7e949fdc8fe1e4c9b49640e6)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v11.0.16...v11.0.17)

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/platform-socket.io)</summary>

### [`v11.0.17`](https://redirect.github.com/nestjs/nest/compare/v11.0.16...v11.0.17)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v11.0.16...v11.0.17)

</details>

<details>
<summary>nestjs/nest (@&#8203;nestjs/websockets)</summary>

### [`v11.0.17`](https://redirect.github.com/nestjs/nest/compare/v11.0.16...v11.0.17)

[Compare Source](https://redirect.github.com/nestjs/nest/compare/v11.0.16...v11.0.17)

</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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-15 01:54:22 +00:00
Yifeng Wang
594e896f74 Merge pull request #11661 from toeverything/0414/vtr_test_layout
test(editor): add tests for turbo renderer layout cache
2025-04-15 09:46:14 +08:00
Yifeng Wang
760a689c07 Merge branch 'canary' into 0414/vtr_test_layout 2025-04-15 09:20:25 +08:00
doodlewind
b8967a8a7b test(editor): add tests for turbo renderer state machine (#11659) 2025-04-14 15:54:02 +00:00
Aki Chang
1a2d6f25be fix(android): nbstore laod error (#11674) 2025-04-14 17:19:14 +08:00
Yifeng Wang
e9d04de399 test(editor): add tests for turbo renderer layout cache 2025-04-14 17:06:13 +08:00
Yifeng Wang
e68947c792 fix(editor): integration vitest config warning 2025-04-14 17:04:57 +08:00
Yifeng Wang
2cd0e75810 fix: flaky 2025-04-14 17:04:22 +08:00
doodlewind
6457c979f5 test(editor): add tests for turbo renderer state machine (#11659) 2025-04-14 17:01:27 +08:00
donteatfriedrice
7aa87de5f7 fix(editor): markdown code preprocessor should handle link correctly (#11671)
Close [BS-3117](https://linear.app/affine-design/issue/BS-3117/代码粘贴后出现多余的-和-符号)
2025-04-14 08:28:43 +00:00
Saul-Mirone
efecce9bf2 test(editor): enable basic test for cross platform (#11667) 2025-04-14 07:36:56 +00:00
pengx17
ee15b364d1 fix(electron): use CG* instead of NS* (#11668)
I encounter the following error when developing locally. Not sure if the current PR is the correct fix.

```
thread '<unnamed>' panicked at packages/frontend/native/media_capture/src/macos/screen_capture_kit.rs:253:11:
invalid message send to -[NSImage initWithSize:]: expected argument at index 0 to have type code '{CGSize=dd}', but found '{NSSize=dd}'
```
2025-04-14 07:21:49 +00:00
renovate
2db7dea46f chore: bump up all non-major dependencies (#11618)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@ai-sdk/openai](https://sdk.vercel.ai/docs) ([source](https://redirect.github.com/vercel/ai)) | [`1.3.9` -> `1.3.10`](https://renovatebot.com/diffs/npm/@ai-sdk%2fopenai/1.3.9/1.3.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@ai-sdk%2fopenai/1.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@ai-sdk%2fopenai/1.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@ai-sdk%2fopenai/1.3.9/1.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@ai-sdk%2fopenai/1.3.9/1.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@aws-sdk/client-s3](https://redirect.github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://redirect.github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.782.0` -> `3.787.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.782.0/3.787.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.787.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.787.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.782.0/3.787.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.782.0/3.787.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@aws-sdk/s3-request-presigner](https://redirect.github.com/aws/aws-sdk-js-v3/tree/main/packages/s3-request-presigner) ([source](https://redirect.github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/s3-request-presigner)) | [`3.782.0` -> `3.787.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fs3-request-presigner/3.782.0/3.787.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fs3-request-presigner/3.787.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fs3-request-presigner/3.787.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fs3-request-presigner/3.782.0/3.787.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fs3-request-presigner/3.782.0/3.787.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@faker-js/faker](https://fakerjs.dev) ([source](https://redirect.github.com/faker-js/faker)) | [`9.6.0` -> `9.7.0`](https://renovatebot.com/diffs/npm/@faker-js%2ffaker/9.6.0/9.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@faker-js%2ffaker/9.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@faker-js%2ffaker/9.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@faker-js%2ffaker/9.6.0/9.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@faker-js%2ffaker/9.6.0/9.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@lit/context](https://lit.dev/) ([source](https://redirect.github.com/lit/lit/tree/HEAD/packages/context)) | [`1.1.4` -> `1.1.5`](https://renovatebot.com/diffs/npm/@lit%2fcontext/1.1.4/1.1.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@lit%2fcontext/1.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@lit%2fcontext/1.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@lit%2fcontext/1.1.4/1.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@lit%2fcontext/1.1.4/1.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@smarttools/eslint-plugin-rxjs](https://redirect.github.com/DaveMBush/eslint-plugin-rxjs) | [`1.0.18` -> `1.0.19`](https://renovatebot.com/diffs/npm/@smarttools%2feslint-plugin-rxjs/1.0.18/1.0.19) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@smarttools%2feslint-plugin-rxjs/1.0.19?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@smarttools%2feslint-plugin-rxjs/1.0.19?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@smarttools%2feslint-plugin-rxjs/1.0.18/1.0.19?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@smarttools%2feslint-plugin-rxjs/1.0.18/1.0.19?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@swc/core](https://swc.rs) ([source](https://redirect.github.com/swc-project/swc)) | [`1.11.18` -> `1.11.20`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.11.18/1.11.20) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.11.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fcore/1.11.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fcore/1.11.18/1.11.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.11.18/1.11.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.14.0` -> `22.14.1`](https://renovatebot.com/diffs/npm/@types%2fnode/22.14.0/22.14.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/22.14.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/22.14.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/22.14.0/22.14.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/22.14.0/22.14.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.14.0` -> `22.14.1`](https://renovatebot.com/diffs/npm/@types%2fnode/22.14.0/22.14.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/22.14.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/22.14.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/22.14.0/22.14.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/22.14.0/22.14.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@types/react](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)) | [`19.1.0` -> `19.1.1`](https://renovatebot.com/diffs/npm/@types%2freact/19.1.0/19.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/19.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact/19.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact/19.1.0/19.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/19.1.0/19.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [ai](https://sdk.vercel.ai/docs) ([source](https://redirect.github.com/vercel/ai)) | [`4.3.4` -> `4.3.5`](https://renovatebot.com/diffs/npm/ai/4.3.4/4.3.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/ai/4.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ai/4.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ai/4.3.4/4.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ai/4.3.4/4.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [animejs](https://animejs.com) ([source](https://redirect.github.com/juliangarnier/anime)) | [`4.0.0` -> `4.0.1`](https://renovatebot.com/diffs/npm/animejs/4.0.0/4.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/animejs/4.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/animejs/4.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/animejs/4.0.0/4.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/animejs/4.0.0/4.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [anyhow](https://redirect.github.com/dtolnay/anyhow) | `1.0.97` -> `1.0.98` | [![age](https://developer.mend.io/api/mc/badges/age/crate/anyhow/1.0.98?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/anyhow/1.0.98?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/anyhow/1.0.97/1.0.98?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/anyhow/1.0.97/1.0.98?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [cc](https://redirect.github.com/rust-lang/cc-rs) | `1.2.18` -> `1.2.19` | [![age](https://developer.mend.io/api/mc/badges/age/crate/cc/1.2.19?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/cc/1.2.19?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/cc/1.2.18/1.2.19?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/cc/1.2.18/1.2.19?slim=true)](https://docs.renovatebot.com/merge-confidence/) | build-dependencies | patch |
| [dotenv](https://redirect.github.com/motdotla/dotenv) | [`16.4.7` -> `16.5.0`](https://renovatebot.com/diffs/npm/dotenv/16.4.7/16.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/dotenv/16.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/dotenv/16.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/dotenv/16.4.7/16.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/dotenv/16.4.7/16.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [html-validate](https://html-validate.org) ([source](https://gitlab.com/html-validate/html-validate)) | [`9.5.2` -> `9.5.3`](https://renovatebot.com/diffs/npm/html-validate/9.5.2/9.5.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/html-validate/9.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/html-validate/9.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/html-validate/9.5.2/9.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/html-validate/9.5.2/9.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [ioredis](https://redirect.github.com/luin/ioredis) | [`5.6.0` -> `5.6.1`](https://renovatebot.com/diffs/npm/ioredis/5.6.0/5.6.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/ioredis/5.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ioredis/5.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ioredis/5.6.0/5.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ioredis/5.6.0/5.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [jotai](https://redirect.github.com/pmndrs/jotai) | [`2.12.2` -> `2.12.3`](https://renovatebot.com/diffs/npm/jotai/2.12.2/2.12.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai/2.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai/2.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai/2.12.2/2.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai/2.12.2/2.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [lib0](https://redirect.github.com/dmonad/lib0) | [`0.2.102` -> `0.2.104`](https://renovatebot.com/diffs/npm/lib0/0.2.102/0.2.104) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lib0/0.2.104?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lib0/0.2.104?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lib0/0.2.102/0.2.104?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lib0/0.2.102/0.2.104?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [lib0](https://redirect.github.com/dmonad/lib0) | [`0.2.102` -> `0.2.104`](https://renovatebot.com/diffs/npm/lib0/0.2.102/0.2.104) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lib0/0.2.104?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lib0/0.2.104?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lib0/0.2.102/0.2.104?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lib0/0.2.102/0.2.104?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [lint-staged](https://redirect.github.com/lint-staged/lint-staged) | [`15.5.0` -> `15.5.1`](https://renovatebot.com/diffs/npm/lint-staged/15.5.0/15.5.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lint-staged/15.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lint-staged/15.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lint-staged/15.5.0/15.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lint-staged/15.5.0/15.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [lit](https://lit.dev/) ([source](https://redirect.github.com/lit/lit/tree/HEAD/packages/lit)) | [`3.2.1` -> `3.3.0`](https://renovatebot.com/diffs/npm/lit/3.2.1/3.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lit/3.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lit/3.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lit/3.2.1/3.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lit/3.2.1/3.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [lit-html](https://lit.dev/) ([source](https://redirect.github.com/lit/lit/tree/HEAD/packages/lit-html)) | [`3.2.1` -> `3.3.0`](https://renovatebot.com/diffs/npm/lit-html/3.2.1/3.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lit-html/3.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lit-html/3.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lit-html/3.2.1/3.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lit-html/3.2.1/3.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [lucide-react](https://lucide.dev) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.487.0` -> `^0.488.0`](https://renovatebot.com/diffs/npm/lucide-react/0.487.0/0.488.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.488.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-react/0.488.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-react/0.487.0/0.488.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.487.0/0.488.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [msw](https://mswjs.io) ([source](https://redirect.github.com/mswjs/msw)) | [`2.7.3` -> `2.7.4`](https://renovatebot.com/diffs/npm/msw/2.7.3/2.7.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/msw/2.7.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/msw/2.7.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/msw/2.7.3/2.7.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/msw/2.7.3/2.7.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [nodemailer](https://nodemailer.com/) ([source](https://redirect.github.com/nodemailer/nodemailer)) | [`6.10.0` -> `6.10.1`](https://renovatebot.com/diffs/npm/nodemailer/6.10.0/6.10.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nodemailer/6.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nodemailer/6.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nodemailer/6.10.0/6.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nodemailer/6.10.0/6.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [react-day-picker](https://daypicker.dev) ([source](https://redirect.github.com/gpbl/react-day-picker)) | [`9.6.5` -> `9.6.6`](https://renovatebot.com/diffs/npm/react-day-picker/9.6.5/9.6.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-day-picker/9.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-day-picker/9.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-day-picker/9.6.5/9.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-day-picker/9.6.5/9.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [sqlx](https://redirect.github.com/launchbadge/sqlx) | `0.8.3` -> `0.8.4` | [![age](https://developer.mend.io/api/mc/badges/age/crate/sqlx/0.8.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/sqlx/0.8.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/sqlx/0.8.3/0.8.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/sqlx/0.8.3/0.8.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [com.google.devtools.ksp](https://goo.gle/ksp) ([source](https://redirect.github.com/google/ksp)) | `2.1.20-1.0.32` -> `2.1.20-2.0.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/2.1.20-2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/2.1.20-2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/2.1.20-1.0.32/2.1.20-2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin/2.1.20-1.0.32/2.1.20-2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | plugin | patch |
| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://redirect.github.com/Kotlin/kotlinx.serialization) | `1.8.0` -> `1.8.1` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-serialization-json/1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlinx:kotlinx-serialization-json/1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlinx:kotlinx-serialization-json/1.8.0/1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlinx:kotlinx-serialization-json/1.8.0/1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://redirect.github.com/Kotlin/kotlinx.coroutines) | `1.10.1` -> `1.10.2` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.10.1/1.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.10.1/1.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [com.android.tools.build:gradle](https://developer.android.com/studio/build) ([source](https://android.googlesource.com/platform/tools/base)) | `8.7.2` -> `8.9.1` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.tools.build:gradle/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.tools.build:gradle/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.tools.build:gradle/8.7.2/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.tools.build:gradle/8.7.2/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [androidx.core:core-ktx](https://developer.android.com/jetpack/androidx/releases/core#1.16.0) ([source](https://cs.android.com/androidx/platform/frameworks/support)) | `1.15.0` -> `1.16.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.core:core-ktx/1.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.core:core-ktx/1.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.core:core-ktx/1.15.0/1.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.core:core-ktx/1.15.0/1.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [androidx.compose:compose-bom](https://developer.android.com/jetpack) | `2025.03.01` -> `2025.04.00` | [![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.compose:compose-bom/2025.04.00?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.compose:compose-bom/2025.04.00?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.compose:compose-bom/2025.03.01/2025.04.00?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.compose:compose-bom/2025.03.01/2025.04.00?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |

---

### Release Notes

<details>
<summary>vercel/ai (@&#8203;ai-sdk/openai)</summary>

### [`v1.3.10`](https://redirect.github.com/vercel/ai/releases/tag/%40ai-sdk/openai%401.3.10)

[Compare Source](https://redirect.github.com/vercel/ai/compare/@ai-sdk/openai@1.3.9...@ai-sdk/openai@1.3.10)

##### Patch Changes

-   [`dbe53e7`](https://redirect.github.com/vercel/ai/commit/dbe53e7): adding support for gpt-4o-search-preview and handling unsupported parameters
-   [`84ffaba`](https://redirect.github.com/vercel/ai/commit/84ffaba): fix: propagate openai transcription fixes

</details>

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/client-s3)</summary>

### [`v3.787.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#37870-2025-04-10)

[Compare Source](https://redirect.github.com/aws/aws-sdk-js-v3/compare/v3.782.0...v3.787.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://redirect.github.com/aws-sdk/client-s3)

</details>

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/s3-request-presigner)</summary>

### [`v3.787.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/packages/s3-request-presigner/CHANGELOG.md#37870-2025-04-10)

[Compare Source](https://redirect.github.com/aws/aws-sdk-js-v3/compare/v3.782.0...v3.787.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/s3-request-presigner](https://redirect.github.com/aws-sdk/s3-request-presigner)

</details>

<details>
<summary>faker-js/faker (@&#8203;faker-js/faker)</summary>

### [`v9.7.0`](https://redirect.github.com/faker-js/faker/blob/HEAD/CHANGELOG.md#970-2025-04-13)

[Compare Source](https://redirect.github.com/faker-js/faker/compare/v9.6.0...v9.7.0)

##### New Locales

-   **locale:** Add bn_BD locale ([#&#8203;3439](https://redirect.github.com/faker-js/faker/issues/3439)) ([fef0ad7](fef0ad7859))
-   **locale:** add cy locale, start with date ([#&#8203;3462](https://redirect.github.com/faker-js/faker/issues/3462)) ([f70a6f7](f70a6f7a65))
-   **locale:** add finance support for ja locale ([#&#8203;3449](https://redirect.github.com/faker-js/faker/issues/3449)) ([b2c5298](b2c5298c94))
-   **locale:** add localize sex support for zh_CN & zh_TW ([#&#8203;3450](https://redirect.github.com/faker-js/faker/issues/3450)) ([048c325](048c32581b))
-   **locale:** add Tamil language support ([#&#8203;3468](https://redirect.github.com/faker-js/faker/issues/3468)) ([cdf6dc4](cdf6dc4a97))

##### Bug Fixes

-   **airline:** Air France and KLM Royal Dutch Airlines ([#&#8203;3440](https://redirect.github.com/faker-js/faker/issues/3440)) ([8a2d168](8a2d168f62))
-   **iban:** more strict pattern for IE and PS ([#&#8203;3464](https://redirect.github.com/faker-js/faker/issues/3464)) ([7b12056](7b12056713))
-   **locale:** rename ja and zh_CN company affix files ([#&#8203;3448](https://redirect.github.com/faker-js/faker/issues/3448)) ([1e551c5](1e551c5f47))
-   **number:** don't ignore multipleOf in float when min=max ([#&#8203;3417](https://redirect.github.com/faker-js/faker/issues/3417)) ([e4cc4e5](e4cc4e50d1))

</details>

<details>
<summary>lit/lit (@&#8203;lit/context)</summary>

### [`v1.1.5`](https://redirect.github.com/lit/lit/blob/HEAD/packages/context/CHANGELOG.md#115)

[Compare Source](7db8eadb28...@lit/context@1.1.5)

##### Patch Changes

-   [#&#8203;4917](https://redirect.github.com/lit/lit/pull/4917) [`aced5a93`](aced5a93b7) Thanks [@&#8203;djrenren](https://redirect.github.com/djrenren)! - Fixed a bug where initial values were not handled by the [@&#8203;provide](https://redirect.github.com/provide)() decorator
    when using standard decorators ([#&#8203;4675](https://redirect.github.com/lit/lit/issues/4675))
-   Updated dependencies \[[`c9160405`](c9160405de), [`3e2f87f6`](3e2f87f688), [`4824c4ce`](4824c4ce09)]:
    -   [@&#8203;lit/reactive-element](https://redirect.github.com/lit/reactive-element)[@&#8203;2](https://redirect.github.com/2).1.0

</details>

<details>
<summary>DaveMBush/eslint-plugin-rxjs (@&#8203;smarttools/eslint-plugin-rxjs)</summary>

### [`v1.0.19`](https://redirect.github.com/DaveMBush/eslint-plugin-rxjs/releases/tag/v1.0.19): (2025-04-11)

[Compare Source](https://redirect.github.com/DaveMBush/eslint-plugin-rxjs/compare/v1.0.18...v1.0.19)

Fix issue 131

</details>

<details>
<summary>swc-project/swc (@&#8203;swc/core)</summary>

### [`v1.11.20`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#11120---2025-04-11)

[Compare Source](https://redirect.github.com/swc-project/swc/compare/v1.11.18...v1.11.20)

##### Bug Fixes

-   **(error_reporters)** Removing unused code to fix clippy check ([#&#8203;10338](https://redirect.github.com/swc-project/swc/issues/10338)) ([5970f93](5970f937f7))

-   **(es/minifier)** Preserve block with block scoped declaration ([#&#8203;10335](https://redirect.github.com/swc-project/swc/issues/10335)) ([a4ac3b7](a4ac3b7188))

-   **(es/parser)** Allow abstract method named `accessor` ([#&#8203;10327](https://redirect.github.com/swc-project/swc/issues/10327)) ([3f71776](3f7177665c))

-   **(es/preset-env)** Consider `browserslist` config if `env.target` is not configured ([#&#8203;8921](https://redirect.github.com/swc-project/swc/issues/8921)) ([a2dc372](a2dc372f9c))

-   **(es/resolver)** Handle using declarations ([#&#8203;10354](https://redirect.github.com/swc-project/swc/issues/10354)) ([dad815c](dad815cee6))

-   fix(es/compat): Remove one promise tick in yield\* ([tc39/ecma262#2819](https://redirect.github.com/tc39/ecma262/issues/2819)) ([#&#8203;10317](https://redirect.github.com/swc-project/swc/issues/10317))

**Related issue:**

-   [babel/babel#14877](https://redirect.github.com/babel/babel/issues/14877)
-   [tc39/ecma262#2819](https://redirect.github.com/tc39/ecma262/issues/2819) ([3fb1950](3fb19505b5))

##### Features

-   **(errors)** Integrate `miette` for enhanced diagnostic reporting ([#&#8203;10241](https://redirect.github.com/swc-project/swc/issues/10241)) ([156c3b1](156c3b1cdc))

-   **(es/codegen)** Support `sourceMap.url` option of `terser` ([#&#8203;10346](https://redirect.github.com/swc-project/swc/issues/10346)) ([566bc7c](566bc7c06e))

-   **(plugin/runner)** Support `pluginEnvVars` ([#&#8203;10318](https://redirect.github.com/swc-project/swc/issues/10318)) ([795fedc](795fedc6ae))

##### Miscellaneous Tasks

-   **(es/helpers)** Update peer dependency version for `@swc/helpers` to `>=0.5.17` ([#&#8203;10321](https://redirect.github.com/swc-project/swc/issues/10321)) ([ddbf3e1](ddbf3e1d8c))

-   **(ide)** Disable RA diagnostics ([#&#8203;10324](https://redirect.github.com/swc-project/swc/issues/10324)) ([fcf280f](fcf280fc62))

##### Performance

-   **(es/ast)** Reduce redundant string comparison for `Atom`s ([#&#8203;10323](https://redirect.github.com/swc-project/swc/issues/10323)) ([3ce9d81](3ce9d8119e))

-   **(es/jsx)** Cache FileName for JSX pass ([#&#8203;9951](https://redirect.github.com/swc-project/swc/issues/9951)) ([#&#8203;10322](https://redirect.github.com/swc-project/swc/issues/10322)) ([9852940](98529404bc))

-   **(es/parser)** Remove redundant `is_ascii` calls ([#&#8203;10334](https://redirect.github.com/swc-project/swc/issues/10334)) ([e66b4d6](e66b4d660c))

-   **(es/parser)** Remove ascii check for no-ascii ([#&#8203;10350](https://redirect.github.com/swc-project/swc/issues/10350)) ([4279b96](4279b96d12))

##### Testing

-   **(es)** Unignore tests and update node to `20` in exec tests ([#&#8203;10348](https://redirect.github.com/swc-project/swc/issues/10348)) ([eee73ce](eee73cec76))

</details>

<details>
<summary>juliangarnier/anime (animejs)</summary>

### [`v4.0.1`](https://redirect.github.com/juliangarnier/anime/releases/tag/v4.0.1)

[Compare Source](https://redirect.github.com/juliangarnier/anime/compare/4.0.0...v4.0.1)

#### fixes

-   Fix `createScope` root param type for `ReactRef` ([#&#8203;971](https://redirect.github.com/juliangarnier/anime/issues/971)) thanks [@&#8203;Jimmydalecleveland](https://redirect.github.com/Jimmydalecleveland)

</details>

<details>
<summary>dtolnay/anyhow (anyhow)</summary>

### [`v1.0.98`](https://redirect.github.com/dtolnay/anyhow/releases/tag/1.0.98)

[Compare Source](https://redirect.github.com/dtolnay/anyhow/compare/1.0.97...1.0.98)

-   Add [`self.into_boxed_dyn_error()`](https://docs.rs/anyhow/1/anyhow/struct.Error.html#method.into_boxed_dyn_error) and [`self.reallocate_into_boxed_dyn_error_without_backtrace()`](https://docs.rs/anyhow/1/anyhow/struct.Error.html#method.reallocate_into_boxed_dyn_error_without_backtrace) methods for anyhow::Error ([#&#8203;415](https://redirect.github.com/dtolnay/anyhow/issues/415))

</details>

<details>
<summary>rust-lang/cc-rs (cc)</summary>

### [`v1.2.19`](https://redirect.github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1219---2025-04-11)

[Compare Source](https://redirect.github.com/rust-lang/cc-rs/compare/cc-v1.2.18...cc-v1.2.19)

##### Other

-   Fix musl compilation: Add musl as a prefix fallback ([#&#8203;1455](https://redirect.github.com/rust-lang/cc-rs/pull/1455))

</details>

<details>
<summary>motdotla/dotenv (dotenv)</summary>

### [`v16.5.0`](https://redirect.github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1650-2025-04-07)

[Compare Source](https://redirect.github.com/motdotla/dotenv/compare/v16.4.7...v16.5.0)

##### Added

-   🎉 Added new sponsor [Graphite](https://graphite.dev/?utm_source=github\&utm_medium=repo\&utm_campaign=dotenv) - *the AI developer productivity platform helping teams on GitHub ship higher quality software, faster*.

> \[!TIP]
> **[Become a sponsor](https://redirect.github.com/sponsors/motdotla)**
>
> The dotenvx README is viewed thousands of times DAILY on GitHub and NPM.
> Sponsoring dotenv is a great way to get in front of developers and give back to the developer community at the same time.

##### Changed

-   Remove `_log` method. Use `_debug` [#&#8203;862](https://redirect.github.com/motdotla/dotenv/pull/862)

</details>

<details>
<summary>html-validate/html-validate (html-validate)</summary>

### [`v9.5.3`](https://gitlab.com/html-validate/html-validate/blob/HEAD/CHANGELOG.md#953-2025-04-13)

[Compare Source](https://gitlab.com/html-validate/html-validate/compare/v9.5.2...v9.5.3)

##### Bug Fixes

-   fix crash when aria attribute references id with comma ([fb91b7c](fb91b7c7e7)), closes [#&#8203;299](https://gitlab.com/html-validate/html-validate/issues/299)
-   fix crash when attribute selector `[..]` contains escaped characters ([0c19b82](0c19b8267d))

</details>

<details>
<summary>luin/ioredis (ioredis)</summary>

### [`v5.6.1`](https://redirect.github.com/luin/ioredis/blob/HEAD/CHANGELOG.md#561-2025-04-11)

[Compare Source](https://redirect.github.com/luin/ioredis/compare/v5.6.0...v5.6.1)

##### Bug Fixes

-   adding debug log on cluster.slots initial connection error ([bedcfb5](bedcfb5d4b))

</details>

<details>
<summary>pmndrs/jotai (jotai)</summary>

### [`v2.12.3`](https://redirect.github.com/pmndrs/jotai/releases/tag/v2.12.3)

[Compare Source](https://redirect.github.com/pmndrs/jotai/compare/v2.12.2...v2.12.3)

This introduces an internal capability for jotai-devtools.

#### What's Changed

-   fix: expose an internal function for devtools by [@&#8203;dai-shi](https://redirect.github.com/dai-shi) in [https://github.com/pmndrs/jotai/pull/3045](https://redirect.github.com/pmndrs/jotai/pull/3045)
-   fix(react): experimental option to make attaching promise status controllable by [@&#8203;dai-shi](https://redirect.github.com/dai-shi) in [https://github.com/pmndrs/jotai/pull/3026](https://redirect.github.com/pmndrs/jotai/pull/3026)

#### New Contributors

-   [@&#8203;siyou](https://redirect.github.com/siyou) made their first contribution in [https://github.com/pmndrs/jotai/pull/3029](https://redirect.github.com/pmndrs/jotai/pull/3029)

**Full Changelog**: https://github.com/pmndrs/jotai/compare/v2.12.2...v2.12.3

</details>

<details>
<summary>dmonad/lib0 (lib0)</summary>

### [`v0.2.104`](https://redirect.github.com/dmonad/lib0/releases/tag/v0.2.104)

[Compare Source](https://redirect.github.com/dmonad/lib0/compare/v0.2.103...v0.2.104)

-   \[array/bubblesortItem] fix edge case  [`cffe349`](https://redirect.github.com/dmonad/lib0/commit/cffe349)

***

### [`v0.2.103`](https://redirect.github.com/dmonad/lib0/releases/tag/v0.2.103)

[Compare Source](https://redirect.github.com/dmonad/lib0/compare/v0.2.102...v0.2.103)

-   \[array] add bubblesortItem  [`98544a4`](https://redirect.github.com/dmonad/lib0/commit/98544a4)

***

</details>

<details>
<summary>lint-staged/lint-staged (lint-staged)</summary>

### [`v15.5.1`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1551)

[Compare Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.5.0...v15.5.1)

##### Patch Changes

-   [#&#8203;1533](https://redirect.github.com/lint-staged/lint-staged/pull/1533) [`5d53534`](5d53534995) Thanks [@&#8203;iiroj](https://redirect.github.com/iiroj)! - Improve listing of staged files so that *lint-staged* doesn't crash when encountering an uninitialized submodule. This should result in less errors like:

        ✖ Failed to get staged files!

</details>

<details>
<summary>lit/lit (lit)</summary>

### [`v3.3.0`](https://redirect.github.com/lit/lit/blob/HEAD/packages/lit/CHANGELOG.md#330)

[Compare Source](https://redirect.github.com/lit/lit/compare/lit@3.2.1...lit@3.3.0)

##### Minor Changes

-   [#&#8203;4901](https://redirect.github.com/lit/lit/pull/4901) [`c9160405`](c9160405de) Thanks [@&#8203;maxpatiiuk](https://redirect.github.com/maxpatiiuk)! - Dev mode warnings are now emitted on the next microtask after package import, allowing for a wider opportunity to suppress the warnings by consumers.

-   [#&#8203;4934](https://redirect.github.com/lit/lit/pull/4934) [`4824c4ce`](4824c4ce09) - Adds property option for `useDefault`. When set, the initial default value is not considered a change and does *not* reflect when `reflect` is set. In addition, when the attribute is removed, the default value is restored.

##### Patch Changes

-   [#&#8203;4949](https://redirect.github.com/lit/lit/pull/4949) [`3e2f87f6`](3e2f87f688) - fixes inconsistent initial changed properties values

-   [#&#8203;4956](https://redirect.github.com/lit/lit/pull/4956) [`0a9bc720`](0a9bc72016) Thanks [@&#8203;louis-bompart](https://redirect.github.com/louis-bompart)! - Import barrels explicitly for compatibility with modern Node resolution w/ ESM

-   Updated dependencies \[[`c9160405`](c9160405de), [`3e2f87f6`](3e2f87f688), [`4824c4ce`](4824c4ce09), [`0a9bc720`](0a9bc72016)]:
    -   [@&#8203;lit/reactive-element](https://redirect.github.com/lit/reactive-element)[@&#8203;2](https://redirect.github.com/2).1.0
    -   lit-element@4.2.0
    -   lit-html@3.3.0

</details>

<details>
<summary>lit/lit (lit-html)</summary>

### [`v3.3.0`](https://redirect.github.com/lit/lit/blob/HEAD/packages/lit-html/CHANGELOG.md#330)

[Compare Source](https://redirect.github.com/lit/lit/compare/lit-html@3.2.1...lit-html@3.3.0)

##### Minor Changes

-   [#&#8203;4901](https://redirect.github.com/lit/lit/pull/4901) [`c9160405`](c9160405de) Thanks [@&#8203;maxpatiiuk](https://redirect.github.com/maxpatiiuk)! - Dev mode warnings are now emitted on the next microtask after package import, allowing for a wider opportunity to suppress the warnings by consumers.

##### Patch Changes

-   [#&#8203;4956](https://redirect.github.com/lit/lit/pull/4956) [`0a9bc720`](0a9bc72016) Thanks [@&#8203;louis-bompart](https://redirect.github.com/louis-bompart)! - Import barrels explicitly for compatibility with modern Node resolution w/ ESM

</details>

<details>
<summary>lucide-icons/lucide (lucide-react)</summary>

### [`v0.488.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.488.0): Version 0.488.0

[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.487.0...0.488.0)

##### What's Changed

-   docs(readme): fix packages table by [@&#8203;realguse](https://redirect.github.com/realguse) in [https://github.com/lucide-icons/lucide/pull/2976](https://redirect.github.com/lucide-icons/lucide/pull/2976)
-   fix(dev): point urls on packages page to correct page by [@&#8203;briz123](https://redirect.github.com/briz123) in [https://github.com/lucide-icons/lucide/pull/2983](https://redirect.github.com/lucide-icons/lucide/pull/2983)
-   build(deps-dev): bump vite from 5.4.14 to 5.4.15 by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/lucide-icons/lucide/pull/2946](https://redirect.github.com/lucide-icons/lucide/pull/2946)
-   Typo fix for [@&#8203;lucide/astro](https://redirect.github.com/lucide/astro) badge by [@&#8203;dotspencer](https://redirect.github.com/dotspencer) in [https://github.com/lucide-icons/lucide/pull/3004](https://redirect.github.com/lucide-icons/lucide/pull/3004)
-   removed flutter package link by [@&#8203;shamaamahh](https://redirect.github.com/shamaamahh) in [https://github.com/lucide-icons/lucide/pull/2999](https://redirect.github.com/lucide-icons/lucide/pull/2999)
-   feat(ci): added npm package provenance attestation by [@&#8203;jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3016](https://redirect.github.com/lucide-icons/lucide/pull/3016)
-   fix(icons): changed `text` icon by [@&#8203;jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3029](https://redirect.github.com/lucide-icons/lucide/pull/3029)
-   fix(icons): changed `letter-text` icon by [@&#8203;jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3030](https://redirect.github.com/lucide-icons/lucide/pull/3030)
-   fix(icons): changed `text-select` icon by [@&#8203;jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3028](https://redirect.github.com/lucide-icons/lucide/pull/3028)

##### New Contributors

-   [@&#8203;dotspencer](https://redirect.github.com/dotspencer) made their first contribution in [https://github.com/lucide-icons/lucide/pull/3004](https://redirect.github.com/lucide-icons/lucide/pull/3004)
-   [@&#8203;shamaamahh](https://redirect.github.com/shamaamahh) made their first contribution in [https://github.com/lucide-icons/lucide/pull/2999](https://redirect.github.com/lucide-icons/lucide/pull/2999)

**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.487.0...0.488.0

</details>

<details>
<summary>mswjs/msw (msw)</summary>

### [`v2.7.4`](https://redirect.github.com/mswjs/msw/releases/tag/v2.7.4)

[Compare Source](https://redirect.github.com/mswjs/msw/compare/v2.7.3...v2.7.4)

#### v2.7.4 (2025-04-12)

##### Bug Fixes

-   resolve relative URLs against `location.href` ([#&#8203;2471](https://redirect.github.com/mswjs/msw/issues/2471)) ([`fa9b07f`](fa9b07f7b9)) [@&#8203;kettanaito](https://redirect.github.com/kettanaito)
-   **graphql:** add `extensions` property to the `GraphQLResponseBody` type ([#&#8203;2468](https://redirect.github.com/mswjs/msw/issues/2468)) ([`827a5dc`](827a5dc055)) [@&#8203;ytoshiki](https://redirect.github.com/ytoshiki)

</details>

<details>
<summary>nodemailer/nodemailer (nodemailer)</summary>

### [`v6.10.1`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#6101-2025-02-06)

[Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.10.0...v6.10.1)

##### Bug Fixes

-   close correct socket ([a18062c](a18062c04d))

</details>

<details>
<summary>gpbl/react-day-picker (react-day-picker)</summary>

### [`v9.6.6`](https://redirect.github.com/gpbl/react-day-picker/releases/tag/v9.6.6)

[Compare Source](https://redirect.github.com/gpbl/react-day-picker/compare/v9.6.5...v9.6.6)

Includes a fix for `autoFocus` prop not correctly autofocusing the selected day.

#### What's Changed

-   fix: calculateFocusTarget logic by [@&#8203;rodgobbi](https://redirect.github.com/rodgobbi) in [https://github.com/gpbl/react-day-picker/pull/2727](https://redirect.github.com/gpbl/react-day-picker/pull/2727)

**Full Changelog**: https://github.com/gpbl/react-day-picker/compare/v9.6.5...v9.6.6

</details>

<details>
<summary>launchbadge/sqlx (sqlx)</summary>

### [`v0.8.4`](https://redirect.github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#084---2025-04-13)

50 pull requests were merged this release cycle.

As of this release, development of `0.9.0` has begun on `main`.
Barring urgent hotfixes, this is expected to be the last release of `0.8.x`.

##### Added

-   \[[#&#8203;3603]]: Added missing special casing for encoding embedded arrays of custom types \[\[[@&#8203;nico-incubiq](https://redirect.github.com/nico-incubiq)]]
-   \[[#&#8203;3625]]: feat(sqlite): add preupdate hook \[\[[@&#8203;aschey](https://redirect.github.com/aschey)]]
-   \[[#&#8203;3655]]: docs: add example for postgres enums with type TEXT \[\[[@&#8203;tisonkun](https://redirect.github.com/tisonkun)]]
-   \[[#&#8203;3677]]: Add json(nullable) macro attribute \[\[[@&#8203;seanaye](https://redirect.github.com/seanaye)]]
-   \[[#&#8203;3687]]: Derive clone and debug for postgresql arguments \[\[[@&#8203;remysaissy](https://redirect.github.com/remysaissy)]]
-   \[[#&#8203;3690]]: feat: add postres geometry line segment \[\[[@&#8203;jayy-lmao](https://redirect.github.com/jayy-lmao)]]
-   \[[#&#8203;3707]]: feat(Sqlite): add LockedSqliteHandle::last_error \[\[[@&#8203;joeydewaal](https://redirect.github.com/joeydewaal)]]
-   \[[#&#8203;3710]]: feat: add ipnet support \[\[[@&#8203;BeauGieskens](https://redirect.github.com/BeauGieskens)]]
-   \[[#&#8203;3711]]: feat(postgres): add geometry box \[\[[@&#8203;jayy-lmao](https://redirect.github.com/jayy-lmao)]]
-   \[[#&#8203;3714]]: chore: expose bstr feature \[\[[@&#8203;joeydewaal](https://redirect.github.com/joeydewaal)]]
-   \[[#&#8203;3716]]: feat(postgres): add geometry path \[\[[@&#8203;jayy-lmao](https://redirect.github.com/jayy-lmao)]]
-   \[[#&#8203;3724]]: feat(sqlx-cli): Add flag to disable automatic loading of .env files \[\[[@&#8203;benwilber](https://redirect.github.com/benwilber)]]
-   \[[#&#8203;3734]]: QueryBuilder: add debug_assert when `push_values` is passed an empty set of tuples \[\[[@&#8203;chanmaoganda](https://redirect.github.com/chanmaoganda)]]
-   \[[#&#8203;3745]]: feat: sqlx sqlite expose de/serialize \[\[[@&#8203;mattrighetti](https://redirect.github.com/mattrighetti)]]
-   \[[#&#8203;3765]]: Merge of [#&#8203;3427](https://redirect.github.com/launchbadge/sqlx/issues/3427) (by [@&#8203;mpyw](https://redirect.github.com/mpyw)) and [#&#8203;3614](https://redirect.github.com/launchbadge/sqlx/issues/3614) (by [@&#8203;bonsairobo](https://redirect.github.com/bonsairobo)) \[\[[@&#8203;abonander](https://redirect.github.com/abonander)]]
    -   \[[#&#8203;3427]] Expose `transaction_depth` through `get_transaction_depth()` method \[\[[@&#8203;mpyw](https://redirect.github.com/mpyw)]]
        -   Changed to `Connection::is_in_transaction` in \[[#&#8203;3765]]
    -   \[[#&#8203;3614]] Add `begin_with` methods to support database-specific transaction options \[\[[@&#8203;bonsairobo](https://redirect.github.com/bonsairobo)]]
-   \[[#&#8203;3769]]: feat(postgres): add geometry polygon \[\[[@&#8203;jayy-lmao](https://redirect.github.com/jayy-lmao)]]
-   \[[#&#8203;3773]]: feat(postgres): add geometry circle \[\[[@&#8203;jayy-lmao](https://redirect.github.com/jayy-lmao)]]

##### Changed

-   \[[#&#8203;3665]]: build(deps): bump semver compatible dependencies \[\[[@&#8203;paolobarbolini](https://redirect.github.com/paolobarbolini)]]
-   \[[#&#8203;3669]]: refactor(cli): replace promptly with dialoguer \[\[[@&#8203;paolobarbolini](https://redirect.github.com/paolobarbolini)]]
-   \[[#&#8203;3672]]: add `#[track_caller]` to `Row::get()` \[\[[@&#8203;karambarakat](https://redirect.github.com/karambarakat)]]
-   \[[#&#8203;3708]]: chore(MySql): Remove unnecessary box \[\[[@&#8203;joeydewaal](https://redirect.github.com/joeydewaal)]]
-   \[[#&#8203;3715]]: chore: add pg_copy regression tests \[\[[@&#8203;joeydewaal](https://redirect.github.com/joeydewaal)]]
-   \[[#&#8203;3721]]: Replace some `futures-core` / `futures-util` APIs with `std` variants \[\[[@&#8203;paolobarbolini](https://redirect.github.com/paolobarbolini)]]
-   \[[#&#8203;3725]]: chore: replace rustls-pemfile with rustls-pki-types \[\[[@&#8203;tottoto](https://redirect.github.com/tottoto)]]
-   \[[#&#8203;3754]]: chore(cli): remove unused async-trait crate from dependencies \[\[[@&#8203;tottoto](https://redirect.github.com/tottoto)]]
-   \[[#&#8203;3762]]: docs(pool): recommend actix-web ThinData over Data to avoid two Arcs \[\[[@&#8203;jonasmalacofilho](https://redirect.github.com/jonasmalacofilho)]]

##### Fixed

-   \[[#&#8203;3289]]: Always set `SQLITE_OPEN_URI` on in-memory sqlite \[\[[@&#8203;LecrisUT](https://redirect.github.com/LecrisUT)]]
-   \[[#&#8203;3334]]: Fix: nextest cleanup race condition \[\[[@&#8203;bonega](https://redirect.github.com/bonega)]]
-   \[[#&#8203;3666]]: fix(cli): running tests on 32bit platforms \[\[[@&#8203;paolobarbolini](https://redirect.github.com/paolobarbolini)]]
-   \[[#&#8203;3686]]: fix: handle nullable values by printing NULL instead of panicking \[\[[@&#8203;joeydewaal](https://redirect.github.com/joeydewaal)]]
-   \[[#&#8203;3700]]: fix(Sqlite): stop sending rows after first error \[\[[@&#8203;joeydewaal](https://redirect.github.com/joeydewaal)]]
-   \[[#&#8203;3701]]: fix(postgres) use signed int for length prefix in `PgCopyIn` \[\[[@&#8203;joeydewaal](https://redirect.github.com/joeydewaal)]]
-   \[[#&#8203;3703]]: fix(Postgres) chunk pg_copy data \[\[[@&#8203;joeydewaal](https://redirect.github.com/joeydewaal)]]
-   \[[#&#8203;3712]]: FromRow: Fix documentation order \[\[[@&#8203;Turbo87](https://redirect.github.com/Turbo87)]]
-   \[[#&#8203;3720]]: Fix readme: uuid feature is gating for all repos \[\[[@&#8203;jthacker](https://redirect.github.com/jthacker)]]
-   \[[#&#8203;3728]]: postgres: Fix tracing span when dropping PgListener \[\[[@&#8203;chitoku-k](https://redirect.github.com/chitoku-k)]]
-   \[[#&#8203;3741]]: Fix example calculation in docs \[\[[@&#8203;dns2utf8](https://redirect.github.com/dns2utf8)]]
-   \[[#&#8203;3749]]: docs: add some missing backticks \[\[[@&#8203;soulwa](https://redirect.github.com/soulwa)]]
-   \[[#&#8203;3753]]: Avoid privilege requirements by using an advisory lock in test setup (postgres). \[\[[@&#8203;kildrens](https://redirect.github.com/kildrens)]]
-   \[[#&#8203;3755]]: Fix FromRow docs for tuples \[\[[@&#8203;xvapx](https://redirect.github.com/xvapx)]]
-   \[[#&#8203;3768]]: chore(Sqlite): remove ci.db from repo \[\[[@&#8203;joeydewaal](https://redirect.github.com/joeydewaal)]]
-   \[[#&#8203;3771]]: fix(ci): breakage from Rustup 1.28 \[\[[@&#8203;abonander](https://redirect.github.com/abonander)]]
-   \[[#&#8203;3786]]: Fix a copy-paste error on get_username docs \[\[[@&#8203;sulami](https://redirect.github.com/sulami)]]
-   \[[#&#8203;3801]]: Fix: Enable Json type when db feature isn't enabled \[\[[@&#8203;thriller08](https://redirect.github.com/thriller08)]]
-   \[[#&#8203;3809]]: fix: PgConnectOptions docs \[\[[@&#820

</details>

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-14 07:07:39 +00:00
renovate
2fd2c149a5 chore: bump up tldts version to v7 (#11662)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [tldts](https://redirect.github.com/remusao/tldts) | [`^6.1.68` -> `^7.0.0`](https://renovatebot.com/diffs/npm/tldts/6.1.85/7.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tldts/7.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tldts/7.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tldts/6.1.85/7.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tldts/6.1.85/7.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>remusao/tldts (tldts)</summary>

### [`v7.0.0`](https://redirect.github.com/remusao/tldts/blob/HEAD/CHANGELOG.md#v700-Sat-Apr-12-2025)

[Compare Source](https://redirect.github.com/remusao/tldts/compare/v6.1.86...v7.0.0)

##### 💥 Breaking Change

-   `tldts-core`, `tldts-tests`
    -   Fix inconsistent hostname validation in `getHostname` and `parse(url).hostname` when `validateHostname` is enabled [#&#8203;2262](https://redirect.github.com/remusao/tldts/pull/2262) ([@&#8203;remusao](https://redirect.github.com/remusao))

##### Authors: 1

-   Rémi ([@&#8203;remusao](https://redirect.github.com/remusao))

***

### [`v6.1.86`](https://redirect.github.com/remusao/tldts/blob/HEAD/CHANGELOG.md#v6186-Sat-Apr-12-2025)

[Compare Source](https://redirect.github.com/remusao/tldts/compare/v6.1.85...v6.1.86)

##### 📜 Update Public Suffix List

-   `tldts-experimental`, `tldts-icann`, `tldts`
    -   Update upstream public suffix list [#&#8203;2311](https://redirect.github.com/remusao/tldts/pull/2311) ([@&#8203;remusao](https://redirect.github.com/remusao))

##### 🔩 Dependencies

-   Bump axios from 1.7.7 to 1.8.4 [#&#8203;2318](https://redirect.github.com/remusao/tldts/pull/2318) ([@&#8203;dependabot\[bot\]](https://redirect.github.com/dependabot\[bot]))
-   Bump [@&#8203;rollup/plugin-node-resolve](https://redirect.github.com/rollup/plugin-node-resolve) from 16.0.0 to 16.0.1 [#&#8203;2303](https://redirect.github.com/remusao/tldts/pull/2303) ([@&#8203;dependabot\[bot\]](https://redirect.github.com/dependabot\[bot]))
-   Bump [@&#8203;babel/helpers](https://redirect.github.com/babel/helpers) from 7.24.7 to 7.26.10 [#&#8203;2306](https://redirect.github.com/remusao/tldts/pull/2306) ([@&#8203;dependabot\[bot\]](https://redirect.github.com/dependabot\[bot]))
-   Bump rollup from 4.34.8 to 4.39.0 [#&#8203;2314](https://redirect.github.com/remusao/tldts/pull/2314) ([@&#8203;dependabot\[bot\]](https://redirect.github.com/dependabot\[bot]))
-   Bump [@&#8203;types/node](https://redirect.github.com/types/node) from 22.13.5 to 22.14.0 [#&#8203;2315](https://redirect.github.com/remusao/tldts/pull/2315) ([@&#8203;dependabot\[bot\]](https://redirect.github.com/dependabot\[bot]))
-   Bump typescript from 5.7.3 to 5.8.3 [#&#8203;2316](https://redirect.github.com/remusao/tldts/pull/2316) ([@&#8203;dependabot\[bot\]](https://redirect.github.com/dependabot\[bot]))
-   Bump lerna from 8.2.0 to 8.2.2 [#&#8203;2317](https://redirect.github.com/remusao/tldts/pull/2317) ([@&#8203;dependabot\[bot\]](https://redirect.github.com/dependabot\[bot]))

##### Authors: 2

-   [@&#8203;dependabot\[bot\]](https://redirect.github.com/dependabot\[bot])
-   Rémi ([@&#8203;remusao](https://redirect.github.com/remusao))

***

</details>

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-14 06:29:31 +00:00
renovate
be759dc118 chore: bump up oxlint version to v0.16.6 (#11664)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [oxlint](https://oxc.rs) ([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/npm/oxlint)) | [`0.16.5` -> `0.16.6`](https://renovatebot.com/diffs/npm/oxlint/0.16.5/0.16.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/0.16.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/0.16.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/0.16.5/0.16.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/0.16.5/0.16.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>oxc-project/oxc (oxlint)</summary>

### [`v0.16.6`](https://redirect.github.com/oxc-project/oxc/releases/tag/oxlint_v0.16.6): oxlint v0.16.6

[Compare Source](https://redirect.github.com/oxc-project/oxc/compare/oxlint_v0.16.5...oxlint_v0.16.6)

#### \[0.16.6] - 2025-04-14

##### Features

-   [`0370363`](https://redirect.github.com/oxc-project/oxc/commit/0370363) language_server: Switch `tower-lsp` to `tower-lsp-server` ([#&#8203;10298](https://redirect.github.com/oxc-project/oxc/issues/10298)) (Boshen)
-   [`d48e886`](https://redirect.github.com/oxc-project/oxc/commit/d48e886) linter: Add `import/group-exports` rule ([#&#8203;10330](https://redirect.github.com/oxc-project/oxc/issues/10330)) (yefan)

##### Bug Fixes

-   [`664342b`](https://redirect.github.com/oxc-project/oxc/commit/664342b) language_server: Diable nested configuration when config path is provided ([#&#8203;10385](https://redirect.github.com/oxc-project/oxc/issues/10385)) (Sysix)
-   [`04e2fd4`](https://redirect.github.com/oxc-project/oxc/commit/04e2fd4) linter: Fix false positives for `no-control-regex` ([#&#8203;10345](https://redirect.github.com/oxc-project/oxc/issues/10345)) (Cam McHenry)
-   [`e000f60`](https://redirect.github.com/oxc-project/oxc/commit/e000f60) linter: Make extended configs properly inherit plugins ([#&#8203;10174](https://redirect.github.com/oxc-project/oxc/issues/10174)) (Sub)
-   [`81867c4`](https://redirect.github.com/oxc-project/oxc/commit/81867c4) linter: Fix stack overflow in react/exhaustive deps ([#&#8203;10322](https://redirect.github.com/oxc-project/oxc/issues/10322)) (camc314)
-   [`9aaba69`](https://redirect.github.com/oxc-project/oxc/commit/9aaba69) linter: Nested configuration directory resolution ([#&#8203;10157](https://redirect.github.com/oxc-project/oxc/issues/10157)) (Sub)

##### Performance

-   [`e0057c3`](https://redirect.github.com/oxc-project/oxc/commit/e0057c3) language_server: Only restart internal linter once when multiple config changes detected ([#&#8203;10256](https://redirect.github.com/oxc-project/oxc/issues/10256)) (Sysix)
-   [`1bb61c6`](https://redirect.github.com/oxc-project/oxc/commit/1bb61c6) linter: Replace `phf_set` with `array` in `unicorn/prefer-native-coercion-functions` ([#&#8203;10384](https://redirect.github.com/oxc-project/oxc/issues/10384)) (shulaoda)
-   [`e1e7a19`](https://redirect.github.com/oxc-project/oxc/commit/e1e7a19) linter: Replace `phf_set` with `array` in `unicorn/no-array-for-each` ([#&#8203;10377](https://redirect.github.com/oxc-project/oxc/issues/10377)) (dalaoshu)
-   [`5f0e66c`](https://redirect.github.com/oxc-project/oxc/commit/5f0e66c) linter: Replace `phf_set` with `array` in `unicorn/prefer-spread` ([#&#8203;10376](https://redirect.github.com/oxc-project/oxc/issues/10376)) (dalaoshu)
-   [`8d9559d`](https://redirect.github.com/oxc-project/oxc/commit/8d9559d) linter: Replace `phf_set` with `array` in `react/jsx-key` ([#&#8203;10375](https://redirect.github.com/oxc-project/oxc/issues/10375)) (dalaoshu)
-   [`fbd4f92`](https://redirect.github.com/oxc-project/oxc/commit/fbd4f92) linter: Replace `phf_set` with `array` in `utils::jest` ([#&#8203;10369](https://redirect.github.com/oxc-project/oxc/issues/10369)) (shulaoda)
-   [`8d0eb33`](https://redirect.github.com/oxc-project/oxc/commit/8d0eb33) linter: Replace `phf_set` with `array` in `utils::express` ([#&#8203;10370](https://redirect.github.com/oxc-project/oxc/issues/10370)) (shulaoda)
-   [`ba538ff`](https://redirect.github.com/oxc-project/oxc/commit/ba538ff) linter: Use `binary_search` for arrays with more than `7` elements ([#&#8203;10357](https://redirect.github.com/oxc-project/oxc/issues/10357)) (shulaoda)
-   [`283e4c7`](https://redirect.github.com/oxc-project/oxc/commit/283e4c7) linter: Replace `phf_set` with `array` in `react/exhaustive-deps` ([#&#8203;10337](https://redirect.github.com/oxc-project/oxc/issues/10337)) (shulaoda)
-   [`8b8d708`](https://redirect.github.com/oxc-project/oxc/commit/8b8d708) linter: Replace `phf_set` with `array` in `nextjs/no-typos` ([#&#8203;10336](https://redirect.github.com/oxc-project/oxc/issues/10336)) (shulaoda)
-   [`0fd93d6`](https://redirect.github.com/oxc-project/oxc/commit/0fd93d6) linter: Replace `phf_set` with `array` in `utils::promise` ([#&#8203;10335](https://redirect.github.com/oxc-project/oxc/issues/10335)) (shulaoda)
-   [`485ba19`](https://redirect.github.com/oxc-project/oxc/commit/485ba19) linter: Replace `phf_set` with `array` in `jest/prefer-jest-mocked` ([#&#8203;10302](https://redirect.github.com/oxc-project/oxc/issues/10302)) (shulaoda)
-   [`83931ec`](https://redirect.github.com/oxc-project/oxc/commit/83931ec) linter: Replace `phf_set` with `array` in `jsdoc/check-access` ([#&#8203;10303](https://redirect.github.com/oxc-project/oxc/issues/10303)) (shulaoda)
-   [`651b56f`](https://redirect.github.com/oxc-project/oxc/commit/651b56f) linter: Replace `phf_set` with `array` in `jsdoc/empty-tags` ([#&#8203;10304](https://redirect.github.com/oxc-project/oxc/issues/10304)) (shulaoda)
-   [`7ffb7aa`](https://redirect.github.com/oxc-project/oxc/commit/7ffb7aa) linter: Replace `phf_set` with `array` in `jsdoc/require-returns` ([#&#8203;10305](https://redirect.github.com/oxc-project/oxc/issues/10305)) (shulaoda)
-   [`d7399c4`](https://redirect.github.com/oxc-project/oxc/commit/d7399c4) linter: Replace `phf_set` with `array` in `jsx-a11y/no-noninteractive-tabindex` ([#&#8203;10306](https://redirect.github.com/oxc-project/oxc/issues/10306)) (shulaoda)
-   [`afe663b`](https://redirect.github.com/oxc-project/oxc/commit/afe663b) linter: Replace `phf_set` with `array` in `jest/no-restricted-matchers` ([#&#8203;10297](https://redirect.github.com/oxc-project/oxc/issues/10297)) (shulaoda)
-   [`bd27959`](https://redirect.github.com/oxc-project/oxc/commit/bd27959) linter: Replace `phf_set` with `array` in `eslint/array-callback-return` ([#&#8203;10296](https://redirect.github.com/oxc-project/oxc/issues/10296)) (shulaoda)
-   [`1aa0d71`](https://redirect.github.com/oxc-project/oxc/commit/1aa0d71) linter: Replace `phf_set` with `array` in `react/no-array-index-key` ([#&#8203;10294](https://redirect.github.com/oxc-project/oxc/issues/10294)) (shulaoda)
-   [`d9c4891`](https://redirect.github.com/oxc-project/oxc/commit/d9c4891) linter: Replace `phf_set` with `array` in `eslint/valid-typeof` ([#&#8203;10293](https://redirect.github.com/oxc-project/oxc/issues/10293)) (shulaoda)

##### Refactor

-   [`a95ba40`](https://redirect.github.com/oxc-project/oxc/commit/a95ba40) language_server: Make server more error resistance by falling back to default config ([#&#8203;10257](https://redirect.github.com/oxc-project/oxc/issues/10257)) (Sysix)
-   [`2e1ef4c`](https://redirect.github.com/oxc-project/oxc/commit/2e1ef4c) linter: Extract common logic from `jsdoc/require-yields` and `jsdoc/require-returns` ([#&#8203;10383](https://redirect.github.com/oxc-project/oxc/issues/10383)) (shulaoda)
-   [`9533d09`](https://redirect.github.com/oxc-project/oxc/commit/9533d09) linter: Remove duplicate ARIA property lists ([#&#8203;10326](https://redirect.github.com/oxc-project/oxc/issues/10326)) (camchenry)
-   [`67bd7aa`](https://redirect.github.com/oxc-project/oxc/commit/67bd7aa) linter: Add `AriaProperty` enum ([#&#8203;10325](https://redirect.github.com/oxc-project/oxc/issues/10325)) (camchenry)
-   [`52ea978`](https://redirect.github.com/oxc-project/oxc/commit/52ea978) linter: Update comments, improve tests, add variant All to LintFilterKind ([#&#8203;10259](https://redirect.github.com/oxc-project/oxc/issues/10259)) (Ulrich Stark)

##### Testing

-   [`62f7d76`](https://redirect.github.com/oxc-project/oxc/commit/62f7d76) editor: Refactor tests to use fixtures ([#&#8203;10381](https://redirect.github.com/oxc-project/oxc/issues/10381)) (Sysix)
-   [`4a6bb21`](https://redirect.github.com/oxc-project/oxc/commit/4a6bb21) language_server: Add test for `import` plugin integration ([#&#8203;10364](https://redirect.github.com/oxc-project/oxc/issues/10364)) (Sysix)
-   [`aa6ccd2`](https://redirect.github.com/oxc-project/oxc/commit/aa6ccd2) oxlint: Add test for nested and extended configuration with import plugin ([#&#8203;10372](https://redirect.github.com/oxc-project/oxc/issues/10372)) (Sysix)

</details>

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-14 06:13:38 +00:00
Aki Chang
00bd05897e feat(android): ai chat scaffold (#11124)
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
Co-authored-by: eyhn <cneyhn@gmail.com>
2025-04-14 06:05:47 +00:00
renovate
08dbaae19b chore: bump up jotai-effect version to v2 (#10262)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [jotai-effect](https://jotai.org/docs/extensions/effect) ([source](https://redirect.github.com/jotaijs/jotai-effect)) | [`^1.0.5` -> `^2.0.0`](https://renovatebot.com/diffs/npm/jotai-effect/1.1.6/2.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai-effect/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai-effect/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai-effect/1.1.6/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai-effect/1.1.6/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>jotaijs/jotai-effect (jotai-effect)</summary>

### [`v2.0.1`](https://redirect.github.com/jotaijs/jotai-effect/compare/v2.0.0...v2.0.1)

[Compare Source](https://redirect.github.com/jotaijs/jotai-effect/compare/v2.0.0...v2.0.1)

### [`v2.0.0`](https://redirect.github.com/jotaijs/jotai-effect/releases/tag/v2.0.0)

[Compare Source](https://redirect.github.com/jotaijs/jotai-effect/compare/v1.1.6...v2.0.0)

We’re excited to announce the release of **jotai-effect v2**, which brings a single but significant change to the core API: **`atomEffect` now runs synchronously** whenever it mounts or its dependencies change. This update improves consistency, helps avoid race conditions, and keeps related state changes in sync.

***

#### What’s New?

##### Synchronous `atomEffect`

-   In v1, `atomEffect` would run **asynchronously** in the next microtask.
-   In v2, `atomEffect` runs **synchronously** on mount and whenever the dependencies it uses have changed.
-   **Batching is still supported** when you update multiple dependencies in a single writable atom. The effect runs only after that writable atom has finished all its updates, preventing partial updates or intermediate states.

**Example:**

```ts
const syncEffect = atomEffect((get, set) => {
  get(someAtom)
  set(anotherAtom)
})

const store = createStore()
store.set(someAtom, (v) => v + 1)
// The effect above runs immediately, so anotherAtom is updated in the same microtask
console.log(store.get(anotherAtom)) // Updated by atomEffect synchronously
```

When `someAtom` is updated, the effect runs **immediately**, updating `anotherAtom` in the same turn. If you update multiple atoms in the same writable atom, these changes are batched together, and `atomEffect` runs after those updates complete.

***

#### Migration Guide

For most users, **no change is required**. If you depended on the old microtask delay or cross-atom batching, read on.

##### 1. Adding back the microtask delay

If your logic explicitly relied on `atomEffect` running in a separate microtask, you can reintroduce the delay yourself:

**Before (v1)**

```ts
const effect = atomEffect((get, set) => {
  console.log('effect')
  return () => {
    console.log('cleanup')
  }
})
```

**After (v2)**

```ts
const effect = atomEffect((get, set) => {
  queueMicrotask(() => {
    console.log('effect')
  })
  return () => {
    queueMicrotask(() => {
      console.log('cleanup')
    })
  }
})
```

##### 2. Batching updates

In v1, updates to separate atoms were implicitly batched in the next microtask. In v2, **batching only occurs within a single writable atom update**:

**Before (v1)**

```ts
store.set(atomA, (v) => v + 1)
store.set(atomB, (v) => v + 1)
// atomEffect would 'see' both changes together in the next microtask
```

**After (v2)**

```ts
const actionAtom = atom(null, (get, set) => {
  set(atomA, (v) => v + 1)
  set(atomB, (v) => v + 1)
})

store.set(actionAtom)
// atomEffect now runs after both updates, in one batch
```

***

##### A Special Thanks to Daishi Kato

I’d like to extend my deepest gratitude to **Daishi Kato**, author of Jotai. Daishi dedicated months of tireless work to rework and rewrite significant parts of the Jotai core—primarily to empower community library authors such as myself to implement features such as **synchronous effects** in jotai-effect. His willingness to refine Jotai’s internals and his thoughtfulness in API design made this effort possible. Thank you.

##### Final Thoughts

-   **Most code will just work** without any changes.
-   If you have specialized scenarios relying on microtask delays or separate updates to multiple atoms, you’ll need to wrap them in a single writable atom or manually queue the microtask.

We hope these improvements make your state management more predictable and easier to reason about. If you have any issues, please feel free to open a GitHub [Discussion](https://redirect.github.com/jotaijs/jotai-effect/discussions). Happy coding!

</details>

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNjcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjE2Ny4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-14 05:34:38 +00:00