doouding
08d6c5a97c
refactor(editor): rewrite resize and rotate ( #12054 )
...
### Changed
This pr split the old `edgeless-selected-rect` into four focused modules:
- `edgeless-selected-rect`: Provide an entry point for user operation on view layer only, no further logic here.
- `GfxViewInteractionExtension`: Allow you to plug in custom resize/rotate behaviors for block or canvas element. If you don’t register an extension, it falls back to the default behaviours.
- `InteractivityManager`: Provide the API that accepts resize/rotate requests, invokes any custom behaviors you’ve registered, tracks the lifecycle and intermediate state, then hands off to the math engine.
- `ResizeController`: A pure math engine that listens for pointer moves and pointer ups and calculates new sizes, positions, and angles. It doesn’t call any business APIs.
### Customizing an element’s resize/rotate behavior
Call `GfxViewInteractionExtension` with the element’s flavour or type plus a config object. In the config you can define:
- `resizeConstraint` (min/max width & height, lock ratio)
- `handleResize(context)` method that returns an object containing `beforeResize`、`onResizeStart`、`onResizeMove`、`onResizeEnd`
- `handleRotate(context)` method that returns an object containing `beforeRotate`、`onRotateStart`、`onRotateMove`、`onRotateEnd`
```typescript
import { GfxViewInteractionExtension } from '@blocksuite/std/gfx';
GfxViewInteractionExtension(
flavourOrElementType,
{
resizeConstraint: {
minWidth,
maxWidth,
lockRatio,
minHeight,
maxHeight
},
handleResize(context) {
return {
beforeResize(context) {},
onResizeStart(context) {},
onResizeMove(context) {},
onResizeEnd(context) {}
};
},
handleRotate(context) {
return {
beforeRotate(context) {},
onRotateStart(context) {},
onRotateMove(context) {},
onRotateEnd(context) {}
};
}
}
);
```
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added interaction extensions for edgeless variants of attachment, bookmark, edgeless text, embedded docs, images, notes, frames, AI chat blocks, and various embed blocks (Figma, GitHub, HTML, iframe, Loom, YouTube).
- Introduced interaction extensions for graphical elements including connectors, groups, mind maps, shapes, and text, supporting constrained resizing and rotation disabling where applicable.
- Implemented a unified interaction extension framework enabling configurable resize and rotate lifecycle handlers.
- Enhanced autocomplete overlay behavior based on selection context.
- **Refactor**
- Removed legacy resize manager and element-specific resize/rotate logic, replacing with a centralized, extensible interaction system.
- Simplified resize handle rendering to a data-driven approach with improved cursor management.
- Replaced complex cursor rotation calculations with fixed-angle mappings for resize handles.
- Streamlined selection rectangle component to use interactivity services for resize and rotate handling.
- **Bug Fixes**
- Fixed connector update triggers to reduce unnecessary updates.
- Improved resize constraints enforcement and interaction state tracking.
- **Tests**
- Refined end-to-end tests to use higher-level resize utilities and added finer-grained assertions on element dimensions.
- Enhanced mouse movement granularity in drag tests for better simulation fidelity.
- **Chores**
- Added new workspace dependencies and project references for the interaction framework modules.
- Extended public API exports to include new interaction types and extensions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-13 11:29:59 +00:00
Saul-Mirone
388641bc89
refactor(editor): rename doc to store on block components ( #12173 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Refactor**
- Unified internal data access by replacing all references from `doc` to `store` across all components, blocks, widgets, and utilities. This affects how readonly state, block operations, and service retrieval are handled throughout the application.
- **Tests**
- Updated all test utilities and test cases to use `store` instead of `doc` for document-related operations.
- **Chores**
- Updated context providers and property names to reflect the change from `doc` to `store` for improved consistency and maintainability.
No user-facing features or behaviors have changed.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-08 01:01:05 +00:00
renovate
bcc728a929
chore: bump up all non-major npm dependencies ( #12151 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@ai-sdk/google](https://ai-sdk.dev/docs ) ([source](https://redirect.github.com/vercel/ai )) | [`1.2.14` -> `1.2.15`](https://renovatebot.com/diffs/npm/@ai-sdk%2fgoogle/1.2.14/1.2.15 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | patch |
| [@graphql-codegen/cli](https://redirect.github.com/dotansimha/graphql-code-generator ) ([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/graphql-codegen-cli )) | [`5.0.5` -> `5.0.6`](https://renovatebot.com/diffs/npm/@graphql-codegen%2fcli/5.0.5/5.0.6 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [@graphql-codegen/typescript-operations](https://redirect.github.com/dotansimha/graphql-code-generator ) ([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/plugins/typescript/operations )) | [`4.6.0` -> `4.6.1`](https://renovatebot.com/diffs/npm/@graphql-codegen%2ftypescript-operations/4.6.0/4.6.1 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [@react-email/components](https://redirect.github.com/resend/react-email ) ([source](https://redirect.github.com/resend/react-email/tree/HEAD/packages/components )) | [`0.0.36` -> `0.0.38`](https://renovatebot.com/diffs/npm/@react-email%2fcomponents/0.0.36/0.0.38 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | patch |
| [@vitest/browser](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/browser#readme ) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/browser )) | [`3.1.2` -> `3.1.3`](https://renovatebot.com/diffs/npm/@vitest%2fbrowser/3.1.2/3.1.3 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [@vitest/coverage-istanbul](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/coverage-istanbul#readme ) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul )) | [`3.1.2` -> `3.1.3`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/3.1.2/3.1.3 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [@vitest/ui](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/ui#readme ) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/ui )) | [`3.1.2` -> `3.1.3`](https://renovatebot.com/diffs/npm/@vitest%2fui/3.1.2/3.1.3 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [cc](https://redirect.github.com/rust-lang/cc-rs ) | `1.2.20` -> `1.2.21` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | build-dependencies | patch |
| [chrono](https://redirect.github.com/chronotope/chrono ) | `0.4.40` -> `0.4.41` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | workspace.dependencies | patch |
| [cssnano](https://redirect.github.com/cssnano/cssnano ) | [`7.0.6` -> `7.0.7`](https://renovatebot.com/diffs/npm/cssnano/7.0.6/7.0.7 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | patch |
| [i18next](https://www.i18next.com ) ([source](https://redirect.github.com/i18next/i18next )) | [`25.0.2` -> `25.1.1`](https://renovatebot.com/diffs/npm/i18next/25.0.2/25.1.1 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [jotai](https://redirect.github.com/pmndrs/jotai ) | [`2.12.3` -> `2.12.4`](https://renovatebot.com/diffs/npm/jotai/2.12.3/2.12.4 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | patch |
| [lint-staged](https://redirect.github.com/lint-staged/lint-staged ) | [`15.5.1` -> `15.5.2`](https://renovatebot.com/diffs/npm/lint-staged/15.5.1/15.5.2 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [lucide-react](https://lucide.dev ) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react )) | [`^0.503.0` -> `^0.507.0`](https://renovatebot.com/diffs/npm/lucide-react/0.503.0/0.507.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [react-email](https://redirect.github.com/resend/react-email ) ([source](https://redirect.github.com/resend/react-email/tree/HEAD/packages/react-email )) | [`4.0.7` -> `4.0.11`](https://renovatebot.com/diffs/npm/react-email/4.0.7/4.0.11 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [shiki](https://redirect.github.com/shikijs/shiki ) ([source](https://redirect.github.com/shikijs/shiki/tree/HEAD/packages/shiki )) | [`3.3.0` -> `3.4.0`](https://renovatebot.com/diffs/npm/shiki/3.3.0/3.4.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [tokio](https://tokio.rs ) ([source](https://redirect.github.com/tokio-rs/tokio )) | `1.44.2` -> `1.45.0` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | workspace.dependencies | minor |
| [uniffi](https://mozilla.github.io/uniffi-rs ) ([source](https://redirect.github.com/mozilla/uniffi-rs )) | `0.29.1` -> `0.29.2` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | workspace.dependencies | patch |
| [vitest](https://redirect.github.com/vitest-dev/vitest ) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest )) | [`3.1.2` -> `3.1.3`](https://renovatebot.com/diffs/npm/vitest/3.1.2/3.1.3 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [webpack](https://redirect.github.com/webpack/webpack ) | [`5.99.7` -> `5.99.8`](https://renovatebot.com/diffs/npm/webpack/5.99.7/5.99.8 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | patch |
| [webpack](https://redirect.github.com/webpack/webpack ) | [`5.99.7` -> `5.99.8`](https://renovatebot.com/diffs/npm/webpack/5.99.7/5.99.8 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [com.google.devtools.ksp](https://goo.gle/ksp ) ([source](https://redirect.github.com/google/ksp )) | `2.1.20-2.0.0` -> `2.1.20-2.0.1` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | plugin | patch |
| [com.apollographql.adapters:apollo-adapters-kotlinx-datetime](https://redirect.github.com/apollographql/apollo-kotlin-adapters ) | `0.0.4` -> `0.0.6` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | patch |
| [com.apollographql.adapters:apollo-adapters-core](https://redirect.github.com/apollographql/apollo-kotlin-adapters ) | `0.0.4` -> `0.0.6` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | patch |
| [com.apollographql.apollo](https://redirect.github.com/apollographql/apollo-kotlin ) | `4.1.1` -> `4.2.0` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | plugin | minor |
| [com.apollographql.apollo:apollo-runtime](https://redirect.github.com/apollographql/apollo-kotlin ) | `4.1.1` -> `4.2.0` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [com.apollographql.apollo:apollo-api](https://redirect.github.com/apollographql/apollo-kotlin ) | `4.1.1` -> `4.2.0` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
---
### Release Notes
<details>
<summary>vercel/ai (@​ai-sdk/google)</summary>
### [`v1.2.15`](https://redirect.github.com/vercel/ai/releases/tag/%40ai-sdk/google%401.2.15 )
[Compare Source](https://redirect.github.com/vercel/ai/compare/@ai-sdk/google@1.2.14...@ai-sdk/google@1.2.15 )
##### Patch Changes
- [`2afd354`](https://redirect.github.com/vercel/ai/commit/2afd354 ): fix(providers/google): accept nullish in safetyRatings
</details>
<details>
<summary>dotansimha/graphql-code-generator (@​graphql-codegen/cli)</summary>
### [`v5.0.6`](https://redirect.github.com/dotansimha/graphql-code-generator/blob/HEAD/packages/graphql-codegen-cli/CHANGELOG.md#506 )
[Compare Source](https://redirect.github.com/dotansimha/graphql-code-generator/compare/@graphql-codegen/cli@5.0.5...@graphql-codegen/cli@5.0.6 )
##### Patch Changes
- [#​10338](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10338 ) [`5d1c4e1`](https://redirect.github.com/dotansimha/graphql-code-generator/commit/5d1c4e127d860ff89590fd3a1d01493b3289ad00 ) Thanks [@​eddeee888](https://redirect.github.com/eddeee888 )! - Fix ignoreNoDocuments=true swallowing all errors
- [#​10333](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10333 ) [`10ab58d`](https://redirect.github.com/dotansimha/graphql-code-generator/commit/10ab58dbc183dff460c410ffc7cc759186f91d4c ) Thanks [@​eddeee888](https://redirect.github.com/eddeee888 )! - Improve syntax error messages whilst loading schema/document
- Updated dependencies \[[`c5efba3`](https://redirect.github.com/dotansimha/graphql-code-generator/commit/c5efba34a7b422720be9ce32937dd19fb0784bae )]:
- [@​graphql-codegen/client-preset](https://redirect.github.com/graphql-codegen/client-preset )[@​4](https://redirect.github.com/4 ).8.1
</details>
<details>
<summary>dotansimha/graphql-code-generator (@​graphql-codegen/typescript-operations)</summary>
### [`v4.6.1`](https://redirect.github.com/dotansimha/graphql-code-generator/blob/HEAD/packages/plugins/typescript/operations/CHANGELOG.md#461 )
[Compare Source](https://redirect.github.com/dotansimha/graphql-code-generator/compare/@graphql-codegen/typescript-operations@4.6.0...@graphql-codegen/typescript-operations@4.6.1 )
##### Patch Changes
- [#​10330](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10330 ) [`c5efba3`](https://redirect.github.com/dotansimha/graphql-code-generator/commit/c5efba34a7b422720be9ce32937dd19fb0784bae ) Thanks [@​jnoordsij](https://redirect.github.com/jnoordsij )! - Make graphql-sock optional peerDep
</details>
<details>
<summary>resend/react-email (@​react-email/components)</summary>
### [`v0.0.38`](https://redirect.github.com/resend/react-email/blob/HEAD/packages/components/CHANGELOG.md#0038 )
[Compare Source](https://redirect.github.com/resend/react-email/compare/@react-email/components@0.0.37...@react-email/components@0.0.38 )
##### Patch Changes
- Updated dependencies \[[`6cd353b`](https://redirect.github.com/resend/react-email/commit/6cd353b )]
- [@​react-email/text](https://redirect.github.com/react-email/text )[@​0](https://redirect.github.com/0 ).1.3
### [`v0.0.37`](https://redirect.github.com/resend/react-email/blob/HEAD/packages/components/CHANGELOG.md#0037 )
[Compare Source](https://redirect.github.com/resend/react-email/compare/@react-email/components@0.0.36...@react-email/components@0.0.37 )
##### Patch Changes
- Updated dependencies \[[`7918a4b`](https://redirect.github.com/resend/react-email/commit/7918a4b )]
- Updated dependencies \[[`9aa033c`](https://redirect.github.com/resend/react-email/commit/9aa033c )]
- Updated dependencies \[[`5d153a3`](https://redirect.github.com/resend/react-email/commit/5d153a3 )]
- Updated dependencies \[[`297541e`](https://redirect.github.com/resend/react-email/commit/297541e )]
- [@​react-email/text](https://redirect.github.com/react-email/text )[@​0](https://redirect.github.com/0 ).1.2
- [@​react-email/code-block](https://redirect.github.com/react-email/code-block )[@​0](https://redirect.github.com/0 ).0.13
- [@​react-email/markdown](https://redirect.github.com/react-email/markdown )[@​0](https://redirect.github.com/0 ).0.15
- [@​react-email/render](https://redirect.github.com/react-email/render )[@​1](https://redirect.github.com/1 ).1.0
- [@​react-email/tailwind](https://redirect.github.com/react-email/tailwind )[@​1](https://redirect.github.com/1 ).0.5
- [@​react-email/body](https://redirect.github.com/react-email/body )[@​0](https://redirect.github.com/0 ).0.11
- [@​react-email/button](https://redirect.github.com/react-email/button )[@​0](https://redirect.github.com/0 ).0.19
- [@​react-email/code-inline](https://redirect.github.com/react-email/code-inline )[@​0](https://redirect.github.com/0 ).0.5
- [@​react-email/column](https://redirect.github.com/react-email/column )[@​0](https://redirect.github.com/0 ).0.13
- [@​react-email/container](https://redirect.github.com/react-email/container )[@​0](https://redirect.github.com/0 ).0.15
- [@​react-email/font](https://redirect.github.com/react-email/font )[@​0](https://redirect.github.com/0 ).0.9
- [@​react-email/head](https://redirect.github.com/react-email/head )[@​0](https://redirect.github.com/0 ).0.12
- [@​react-email/heading](https://redirect.github.com/react-email/heading )[@​0](https://redirect.github.com/0 ).0.15
- [@​react-email/hr](https://redirect.github.com/react-email/hr )[@​0](https://redirect.github.com/0 ).0.11
- [@​react-email/html](https://redirect.github.com/react-email/html )[@​0](https://redirect.github.com/0 ).0.11
- [@​react-email/img](https://redirect.github.com/react-email/img )[@​0](https://redirect.github.com/0 ).0.11
- [@​react-email/link](https://redirect.github.com/react-email/link )[@​0](https://redirect.github.com/0 ).0.12
- [@​react-email/preview](https://redirect.github.com/react-email/preview )[@​0](https://redirect.github.com/0 ).0.12
- [@​react-email/row](https://redirect.github.com/react-email/row )[@​0](https://redirect.github.com/0 ).0.12
- [@​react-email/section](https://redirect.github.com/react-email/section )[@​0](https://redirect.github.com/0 ).0.16
</details>
<details>
<summary>vitest-dev/vitest (@​vitest/browser)</summary>
### [`v3.1.3`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v3.1.3 )
[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v3.1.2...v3.1.3 )
##### 🐞 Bug Fixes
- Correctly resolve vitest import if `inline: true` is set - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7856 ](https://redirect.github.com/vitest-dev/vitest/issues/7856 ) [<samp>(a83f3)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/a83f3bf6 )
- Fix fixture parsing with lowered async with esbuild 0.25.3 - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7921 ](https://redirect.github.com/vitest-dev/vitest/issues/7921 ) [<samp>(c5c85)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c5c8502b )
- Remove event-catcher code - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7898 ](https://redirect.github.com/vitest-dev/vitest/issues/7898 ) [<samp>(deb1b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/deb1bc27 )
- Reset mocks on test retry/repeat - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7897 ](https://redirect.github.com/vitest-dev/vitest/issues/7897 ) [<samp>(2fa76)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/2fa763a6 )
- Ignore failures on writeToCache - by [@​orgads](https://redirect.github.com/orgads ) in [https://github.com/vitest-dev/vitest/issues/7893 ](https://redirect.github.com/vitest-dev/vitest/issues/7893 ) [<samp>(8c7f7)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/8c7f75a6 )
- **browser**: Correctly inherit CLI options - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7858 ](https://redirect.github.com/vitest-dev/vitest/issues/7858 ) [<samp>(03660)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/03660f9d )
- **deps**: Update all non-major dependencies - in [https://github.com/vitest-dev/vitest/issues/7867 ](https://redirect.github.com/vitest-dev/vitest/issues/7867 ) [<samp>(67ef7)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/67ef74a0 )
- **reporters**: `--merge-reports` to show each total run times - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/7877 ](https://redirect.github.com/vitest-dev/vitest/issues/7877 ) [<samp>(d613b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/d613b813 )
##### [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v3.1.2...v3.1.3 )
</details>
<details>
<summary>rust-lang/cc-rs (cc)</summary>
### [`v1.2.21`](https://redirect.github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1221---2025-05-02 )
[Compare Source](https://redirect.github.com/rust-lang/cc-rs/compare/cc-v1.2.20...cc-v1.2.21 )
##### Other
- Fix wasm32-unknown-unknown by passing -c ([#​1424](https://redirect.github.com/rust-lang/cc-rs/pull/1424 ))
</details>
<details>
<summary>chronotope/chrono (chrono)</summary>
### [`v0.4.41`](https://redirect.github.com/chronotope/chrono/releases/tag/v0.4.41 )
[Compare Source](https://redirect.github.com/chronotope/chrono/compare/v0.4.40...v0.4.41 )
#### What's Changed
- Add `subsec_micros` and `subsec_millis` methods to `TimeDelta` by [@​ggoetz](https://redirect.github.com/ggoetz ) in [https://github.com/chronotope/chrono/pull/1668 ](https://redirect.github.com/chronotope/chrono/pull/1668 )
- Deprecate `NaiveDateTime::UNIX_EPOCH` by [@​robertbastian](https://redirect.github.com/robertbastian ) in [https://github.com/chronotope/chrono/pull/1670 ](https://redirect.github.com/chronotope/chrono/pull/1670 )
- Implement `as_seconds_f32` and `as_seconds_f64` for `TimeDelta` by [@​ggoetz](https://redirect.github.com/ggoetz ) in [https://github.com/chronotope/chrono/pull/1671 ](https://redirect.github.com/chronotope/chrono/pull/1671 )
- chore: fix some comments by [@​jimmycathy](https://redirect.github.com/jimmycathy ) in [https://github.com/chronotope/chrono/pull/1677 ](https://redirect.github.com/chronotope/chrono/pull/1677 )
- Add `num_days_in_month` method to `Datelike` trait by [@​aslilac](https://redirect.github.com/aslilac ) in [https://github.com/chronotope/chrono/pull/1673 ](https://redirect.github.com/chronotope/chrono/pull/1673 )
- add `WeekdaySet`, a collection of `Weekday` that is `Copy` by [@​Kinrany](https://redirect.github.com/Kinrany ) in [https://github.com/chronotope/chrono/pull/1676 ](https://redirect.github.com/chronotope/chrono/pull/1676 )
- WeekdaySet tweaks by [@​djc](https://redirect.github.com/djc ) in [https://github.com/chronotope/chrono/pull/1680 ](https://redirect.github.com/chronotope/chrono/pull/1680 )
- Upgrade to windows-bindgen 0.61 by [@​djc](https://redirect.github.com/djc ) in [https://github.com/chronotope/chrono/pull/1682 ](https://redirect.github.com/chronotope/chrono/pull/1682 )
- Implemented a consistent Eq trait for NaiveWeek by [@​Splashling1789](https://redirect.github.com/Splashling1789 ) in [https://github.com/chronotope/chrono/pull/1687 ](https://redirect.github.com/chronotope/chrono/pull/1687 )
- TimeZone::from_posix_tz: Treat empty TZ variable as UTC by [@​drinkcat](https://redirect.github.com/drinkcat ) in [https://github.com/chronotope/chrono/pull/1691 ](https://redirect.github.com/chronotope/chrono/pull/1691 )
- Add support for lossy format strings by [@​Qelxiros](https://redirect.github.com/Qelxiros ) in [https://github.com/chronotope/chrono/pull/1693 ](https://redirect.github.com/chronotope/chrono/pull/1693 )
</details>
<details>
<summary>cssnano/cssnano (cssnano)</summary>
### [`v7.0.7`](https://redirect.github.com/cssnano/cssnano/releases/tag/cssnano%407.0.7 )
[Compare Source](https://redirect.github.com/cssnano/cssnano/compare/cssnano@7.0.6...cssnano@7.0.7 )
#### What's Changed
- fix: update browserslist by [@​ludofischer](https://redirect.github.com/ludofischer ) in [https://github.com/cssnano/cssnano/pull/1675 ](https://redirect.github.com/cssnano/cssnano/pull/1675 )
- fix: update postcss peer dependency to version without vulnerabilities by [@​ludofischer](https://redirect.github.com/ludofischer ) in [https://github.com/cssnano/cssnano/pull/1676 ](https://redirect.github.com/cssnano/cssnano/pull/1676 )
- fix: update TypeScript declarations by [@​ludofischer](https://redirect.github.com/ludofischer ) in [https://github.com/cssnano/cssnano/pull/1685 ](https://redirect.github.com/cssnano/cssnano/pull/1685 )
- perf: load default preset in startup by [@​43081j](https://redirect.github.com/43081j ) in [https://github.com/cssnano/cssnano/pull/1691 ](https://redirect.github.com/cssnano/cssnano/pull/1691 )
- Add support for selector order preservation to postcss-minify-selectors by [@​ezzak](https://redirect.github.com/ezzak ) in [https://github.com/cssnano/cssnano/pull/1688 ](https://redirect.github.com/cssnano/cssnano/pull/1688 )
- fix(postcss-convert-values): preserve percent sign in percentage values in at-rules with double quotes by [@​aramikuto](https://redirect.github.com/aramikuto ) in [https://github.com/cssnano/cssnano/pull/1695 ](https://redirect.github.com/cssnano/cssnano/pull/1695 )
**Full Changelog**: https://github.com/cssnano/cssnano/compare/cssnano@7.0.6...cssnano@7.0.7
</details>
<details>
<summary>i18next/i18next (i18next)</summary>
### [`v25.1.1`](https://redirect.github.com/i18next/i18next/blob/HEAD/CHANGELOG.md#2511 )
[Compare Source](https://redirect.github.com/i18next/i18next/compare/v25.1.0...v25.1.1 )
- fix options type for `parseMissingKeyHandler`
### [`v25.1.0`](https://redirect.github.com/i18next/i18next/blob/HEAD/CHANGELOG.md#2510 )
[Compare Source](https://redirect.github.com/i18next/i18next/compare/v25.0.2...v25.1.0 )
- feat: `parseMissingKeyHandler` now takes options as parameter like in missingKeyHandler [2304](https://redirect.github.com/i18next/i18next/issues/2304 )
</details>
<details>
<summary>pmndrs/jotai (jotai)</summary>
### [`v2.12.4`](https://redirect.github.com/pmndrs/jotai/releases/tag/v2.12.4 )
[Compare Source](https://redirect.github.com/pmndrs/jotai/compare/v2.12.3...v2.12.4 )
We deprecate devstore capability, which will be dropped in the next minor version. Please use the latest jotai-devtools library.
#### What's Changed
- deprecate devstore by [@​dai-shi](https://redirect.github.com/dai-shi ) in [https://github.com/pmndrs/jotai/pull/3023 ](https://redirect.github.com/pmndrs/jotai/pull/3023 )
- fix(package): react-native condition by [@​dai-shi](https://redirect.github.com/dai-shi ) in [https://github.com/pmndrs/jotai/pull/3042 ](https://redirect.github.com/pmndrs/jotai/pull/3042 )
- fix(utils): allow undefined for atomWithStorage subscriber return by [@​caffeinewriter](https://redirect.github.com/caffeinewriter ) in [https://github.com/pmndrs/jotai/pull/3055 ](https://redirect.github.com/pmndrs/jotai/pull/3055 )
#### New Contributors
- [@​caffeinewriter](https://redirect.github.com/caffeinewriter ) made their first contribution in [https://github.com/pmndrs/jotai/pull/3056 ](https://redirect.github.com/pmndrs/jotai/pull/3056 )
- [@​CanRau](https://redirect.github.com/CanRau ) made their first contribution in [https://github.com/pmndrs/jotai/pull/3051 ](https://redirect.github.com/pmndrs/jotai/pull/3051 )
**Full Changelog**: https://github.com/pmndrs/jotai/compare/v2.12.3...v2.12.4
</details>
<details>
<summary>lint-staged/lint-staged (lint-staged)</summary>
### [`v15.5.2`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1552 )
[Compare Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.5.1...v15.5.2 )
##### Patch Changes
- [#​1544](https://redirect.github.com/lint-staged/lint-staged/pull/1544 ) [`5561321`](https://redirect.github.com/lint-staged/lint-staged/commit/556132176afce1701b4766c00ffd23159d437cb4 ) Thanks [@​YimingIsCOLD](https://redirect.github.com/YimingIsCOLD )! - Correctly handle colon (`:`) characters in staged filenames.
</details>
<details>
<summary>lucide-icons/lucide (lucide-react)</summary>
### [`v0.507.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.507.0 ): Version 0.507.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.506.0...0.507.0 )
#### What's Changed
- fix(metadata): added tags to `square-pen` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/3155 ](https://redirect.github.com/lucide-icons/lucide/pull/3155 )
- fix(icons): changed `search` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/3140 ](https://redirect.github.com/lucide-icons/lucide/pull/3140 )
- fix(dev): resets Absolute Stroke Width by [@​briz123](https://redirect.github.com/briz123 ) in [https://github.com/lucide-icons/lucide/pull/3005 ](https://redirect.github.com/lucide-icons/lucide/pull/3005 )
- fix(icons): changed `guitar` icon by [@​jamiemlaw](https://redirect.github.com/jamiemlaw ) in [https://github.com/lucide-icons/lucide/pull/3115 ](https://redirect.github.com/lucide-icons/lucide/pull/3115 )
- fix(Icons): Adding missing categories to 4 Icons by [@​ajokt123](https://redirect.github.com/ajokt123 ) in [https://github.com/lucide-icons/lucide/pull/3110 ](https://redirect.github.com/lucide-icons/lucide/pull/3110 )
- fix(ci): reduces workflow triggers by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/3150 ](https://redirect.github.com/lucide-icons/lucide/pull/3150 )
- fix(icons): changed `air-vent` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/3117 ](https://redirect.github.com/lucide-icons/lucide/pull/3117 )
- fix(icons): rotate `dumbbell` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/3107 ](https://redirect.github.com/lucide-icons/lucide/pull/3107 )
- fix(icons): changed `touchpad-off` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/3118 ](https://redirect.github.com/lucide-icons/lucide/pull/3118 )
- fix(icons): changed `bell-electric` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/3139 ](https://redirect.github.com/lucide-icons/lucide/pull/3139 )
- fix(icons): changed `menu` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/3142 ](https://redirect.github.com/lucide-icons/lucide/pull/3142 )
- fix(icons): changed `mail` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/3144 ](https://redirect.github.com/lucide-icons/lucide/pull/3144 )
- chore(pr-template): Adjust PR template by [@​ericfennis](https://redirect.github.com/ericfennis ) in [https://github.com/lucide-icons/lucide/pull/3183 ](https://redirect.github.com/lucide-icons/lucide/pull/3183 )
- feat(icons): added `soap-dispenser-droplet` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/3088 ](https://redirect.github.com/lucide-icons/lucide/pull/3088 )
- feat(icons): added `panda` icon by [@​chessurisme](https://redirect.github.com/chessurisme ) in [https://github.com/lucide-icons/lucide/pull/2094 ](https://redirect.github.com/lucide-icons/lucide/pull/2094 )
**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.506.0...0.507.0
### [`v0.506.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.506.0 ): Version 0.506.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.505.0...0.506.0 )
#### What's Changed
- perf(react): use implicit return in react package by [@​VIKTORVAV99](https://redirect.github.com/VIKTORVAV99 ) in [https://github.com/lucide-icons/lucide/pull/2325 ](https://redirect.github.com/lucide-icons/lucide/pull/2325 )
- fix(icons): changed `users` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/3143 ](https://redirect.github.com/lucide-icons/lucide/pull/3143 )
- fix(icons): changed `locate-off` icon by [@​jamiemlaw](https://redirect.github.com/jamiemlaw ) in [https://github.com/lucide-icons/lucide/pull/3137 ](https://redirect.github.com/lucide-icons/lucide/pull/3137 )
- fix(icons): changed `expand` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/2831 ](https://redirect.github.com/lucide-icons/lucide/pull/2831 )
- feat(icons): Added clock plus icon. by [@​gubser](https://redirect.github.com/gubser ) in [https://github.com/lucide-icons/lucide/pull/2996 ](https://redirect.github.com/lucide-icons/lucide/pull/2996 )
**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.505.0...0.506.0
### [`v0.505.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.505.0 ): Version 0.505.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.504.0...0.505.0 )
#### What's Changed
- fix(icons): changed `package-2` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/3174 ](https://redirect.github.com/lucide-icons/lucide/pull/3174 )
- docs(icon-design-guide): point people to lucide studio instead of svgo by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/3152 ](https://redirect.github.com/lucide-icons/lucide/pull/3152 )
- fix(lucide-svelte): Resolve Svelte 5 deprecation of svelte:component by [@​shamaamahh](https://redirect.github.com/shamaamahh ) in [https://github.com/lucide-icons/lucide/pull/3112 ](https://redirect.github.com/lucide-icons/lucide/pull/3112 )
- feat(icons): added `brush-cleaning` icon by [@​karsa-mistmere](https://redirect.github.com/karsa-mistmere ) in [https://github.com/lucide-icons/lucide/pull/2395 ](https://redirect.github.com/lucide-icons/lucide/pull/2395 )
**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.504.0...0.505.0
### [`v0.504.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.504.0 ): Version 0.504.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.503.0...0.504.0 )
#### What's Changed
- feat(icons): add door closed locked / unlocked icons by [@​lukedukeus](https://redirect.github.com/lukedukeus ) in [https://github.com/lucide-icons/lucide/pull/3060 ](https://redirect.github.com/lucide-icons/lucide/pull/3060 )
- build(dev-deps): Bump dependencies by [@​ericfennis](https://redirect.github.com/ericfennis ) in [https://github.com/lucide-icons/lucide/pull/3096 ](https://redirect.github.com/lucide-icons/lucide/pull/3096 )
- fix(icons): redesigned `brush` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/3011 ](https://redirect.github.com/lucide-icons/lucide/pull/3011 )
- fix(site): remove studio link from navbar by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/3166 ](https://redirect.github.com/lucide-icons/lucide/pull/3166 )
- feat(icons): added `hamburger` icon by [@​karsa-mistmere](https://redirect.github.com/karsa-mistmere ) in [https://github.com/lucide-icons/lucide/pull/3165 ](https://redirect.github.com/lucide-icons/lucide/pull/3165 )
**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.503.0...0.504.0
</details>
<details>
<summary>resend/react-email (react-email)</summary>
### [`v4.0.11`](https://redirect.github.com/resend/react-email/blob/HEAD/packages/react-email/CHANGELOG.md#4011 )
[Compare Source](https://redirect.github.com/resend/react-email/compare/react-email@4.0.10...react-email@4.0.11 )
##### Patch Changes
- [`1a17219`](https://redirect.github.com/resend/react-email/commit/1a17219 ): fix improper `require` in `email export`
- [`45ab698`](https://redirect.github.com/resend/react-email/commit/45ab698 ): update next to 15.3.1
### [`v4.0.10`](https://redirect.github.com/resend/react-email/blob/HEAD/packages/react-email/CHANGELOG.md#4010 )
[Compare Source](https://redirect.github.com/resend/react-email/compare/react-email@4.0.9...react-email@4.0.10 )
##### Patch Changes
- [`5ef9fe8`](https://redirect.github.com/resend/react-email/commit/5ef9fe8 ): fix support for `import ... = require(...)` syntax
- [`4c7f597`](https://redirect.github.com/resend/react-email/commit/4c7f597 ): fix `email dev` not working with `traversal` error
### [`v4.0.9`](https://redirect.github.com/resend/react-email/blob/HEAD/packages/react-email/CHANGELOG.md#409 )
[Compare Source](https://redirect.github.com/resend/react-email/compare/react-email@4.0.8...react-email@4.0.9 )
##### Patch Changes
- [`643d841`](https://redirect.github.com/resend/react-email/commit/643d841 ): Add .json import support for hot reloading
- [`f21a983`](https://redirect.github.com/resend/react-email/commit/f21a983 ): fix Node 18 support
- [`cd02449`](https://redirect.github.com/resend/react-email/commit/cd02449 ): Ensure dependencies outside emails directory are completely resolved
- [`73a31ed`](https://redirect.github.com/resend/react-email/commit/73a31ed ): Fix dependent of dependents not causing hot reloads
- [`bdffd8c`](https://redirect.github.com/resend/react-email/commit/bdffd8c ): fix backwards compatibility with `render` versions
- [`e7fa043`](https://redirect.github.com/resend/react-email/commit/e7fa043 ): Fix access to files outside `static` directory
- [`9aa033c`](https://redirect.github.com/resend/react-email/commit/9aa033c ): Use range of versions for dependencies
- [`ab70556`](https://redirect.github.com/resend/react-email/commit/ab70556 ): Fix non-email files being rendered during hot reloading
- [`9c9aa5d`](https://redirect.github.com/resend/react-email/commit/9c9aa5d ): Add error message for when an email template does not have a default export
### [`v4.0.8`](https://redirect.github.com/resend/react-email/blob/HEAD/packages/react-email/CHANGELOG.md#408 )
[Compare Source](https://redirect.github.com/resend/react-email/compare/react-email@4.0.7...react-email@4.0.8 )
##### Patch Changes
- [`ea579b5`](https://redirect.github.com/resend/react-email/commit/ea579b5 ): Log out errors that happen when `export`'s esbuild fails
</details>
<details>
<summary>shikijs/shiki (shiki)</summary>
### [`v3.4.0`](https://redirect.github.com/shikijs/shiki/releases/tag/v3.4.0 )
[Compare Source](https://redirect.github.com/shikijs/shiki/compare/v3.3.0...v3.4.0 )
##### 🐞 Bug Fixes
- Update deps and grammars - by [@​antfu](https://redirect.github.com/antfu ) [<samp>(310d1)</samp>](https://redirect.github.com/shikijs/shiki/commit/310d1419 )
##### [View changes on GitHub](https://redirect.github.com/shikijs/shiki/compare/v3.3.0...v3.4.0 )
</details>
<details>
<summary>tokio-rs/tokio (tokio)</summary>
### [`v1.45.0`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.45.0 ): Tokio v1.45.0
[Compare Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.44.2...tokio-1.45.0 )
##### Added
- metrics: stabilize `worker_total_busy_duration`, `worker_park_count`, and `worker_unpark_count` ([#​6899], [#​7276])
- process: add `Command::spawn_with` ([#​7249])
##### Changed
- io: do not require `Unpin` for some trait impls ([#​7204])
- rt: mark `runtime::Handle` as unwind safe ([#​7230])
- time: revert internal sharding implementation ([#​7226])
##### Unstable
- rt: remove alt multi-threaded runtime ([#​7275])
[#​6899]: https://redirect.github.com/tokio-rs/tokio/pull/6899
[#​7276]: https://redirect.github.com/tokio-rs/tokio/pull/7276
[#​7249]: https://redirect.github.com/tokio-rs/tokio/pull/7249
[#​7204]: https://redirect.github.com/tokio-rs/tokio/pull/7204
[#​7230]: https://redirect.github.com/tokio-rs/tokio/pull/7230
[#​7226]: https://redirect.github.com/tokio-rs/tokio/pull/7226
[#​7275]: https://redirect.github.com/tokio-rs/tokio/pull/7275
</details>
<details>
<summary>mozilla/uniffi-rs (uniffi)</summary>
### [`v0.29.2`](https://redirect.github.com/mozilla/uniffi-rs/compare/v0.29.1...v0.29.2 )
[Compare Source](https://redirect.github.com/mozilla/uniffi-rs/compare/v0.29.1...v0.29.2 )
</details>
<details>
<summary>webpack/webpack (webpack)</summary>
### [`v5.99.8`](https://redirect.github.com/webpack/webpack/releases/tag/v5.99.8 )
[Compare Source](https://redirect.github.com/webpack/webpack/compare/v5.99.7...v5.99.8 )
##### Fixes
- Fixed type error with latest `@types/node`
- Fixed typescript types
</details>
<details>
<summary>google/ksp (com.google.devtools.ksp)</summary>
### [`v2.1.20-2.0.1`](https://redirect.github.com/google/ksp/releases/tag/2.1.20-2.0.1 )
[Compare Source](https://redirect.github.com/google/ksp/compare/2.1.20-2.0.0...2.1.20-2.0.1 )
##### What's Changed
- \[KSP2] Annotation values shouldn't be marked as default (synthetic origin) broken after PR [#​2424](https://redirect.github.com/google/ksp/issues/2424 ) in [https://github.com/google/ksp/pull/2425 ](https://redirect.github.com/google/ksp/pull/2425 )
- \[KSP2] Wrong internal method name with custom moduleName compiler option in[https://github.com/google/ksp/pull/2415 ](https://redirect.github.com/google/ksp/pull/2415 )5
- \[KSP2] getJvmName for internal method did not sanitize java identifiers in[https://github.com/google/ksp/pull/2413 ](https://redirect.github.com/google/ksp/pull/2413 )3
- \[KSP2] Annotation and argument's origin is wrong in[https://github.com/google/ksp/pull/2412 ](https://redirect.github.com/google/ksp/pull/2412 )2
- \[KSP2] functionKind is MEMBER for static method in interface in Java in[https://github.com/google/ksp/pull/2410 ](https://redirect.github.com/google/ksp/pull/2410 )0
- KSP2 Generated .class files are not added to the classpath in [https://github.com/google/ksp/pull/2365 ](https://redirect.github.com/google/ksp/pull/2365 )
- When I write specific code, KSP throws an Unexpected class for KtSymbol error. in [https://github.com/google/ksp/pull/2303 ](https://redirect.github.com/google/ksp/pull/2303 )
##### Contributors
Thanks to everyone who reported bugs and participated in discussions!
**Full Changelog**: https://github.com/google/ksp/compare/2.1.20-2.0.0...2.1.20-2.0.1
</details>
<details>
<summary>apollographql/apollo-kotlin-adapters (com.apollographql.adapters:apollo-adapters-kotlinx-datetime)</summary>
### [`v0.0.6`](https://redirect.github.com/apollographql/apollo-kotlin-adapters/releases/tag/v0.0.6 )
Publishing only change. This version updates the license name to be SPDX compliant ([https://github.com/apollographql/apollo-kotlin-adapters/pull/30 ](https://redirect.github.com/apollographql/apollo-kotlin-adapters/pull/30 ))
### [`v0.0.5`](https://redirect.github.com/apollographql/apollo-kotlin-adapters/blob/HEAD/CHANGELOG.md#Version-005 )
*2025-04-29*
- Do not set the license URL in the POMs ([#​29](https://redirect.github.com/apollographql/apollo-kotlin-adapters/issues/29 ))
</details>
<details>
<summary>apollographql/apollo-kotlin (com.apollographql.apollo)</summary>
### [`v4.2.0`](https://redirect.github.com/apollographql/apollo-kotlin/blob/HEAD/CHANGELOG.md#Version-420 )
*2025-04-28*
#### Generate custom scalars as inline classes with `@map` and `@mapTo` ([#​6404](https://redirect.github.com/apollographql/apollo-kotlin/issues/6404 ))
It is now possible to configure the adapters to use with [scalars](https://www.apollographql.com/docs/kotlin/essentials/custom-scalars ) by using the [`@map` directive](https://specs.apollo.dev/kotlin_labs/v0.5/#@​map ):
```graphql
extend schema @​link(url: "https://specs.apollo.dev/kotlin_labs/v0.5/ ", import: ["@​mapTo", "@​map"])
extend scalar Date @​map(to: "kotlinx.datetime.Instant", with: "com.apollographql.adapters.InstantAdapter")
```
If the `to` parameter is an [inline value class](https://kotlinlang.org/docs/inline-classes.html ), use the `inlineProperty` parameter to have the generated code box/unbox the value. In that case, `with` needs to point to an adapter of the underlying type:
```graphql
extend scalar Timestamp @​map(to: "com.example.Timestamp", with: "com.apollographql.apollo.api.LongAdapter", inlineProperty: "ts")
```
For the common cases where the scalar can be represented as a built-in Kotlin type (String, Boolean, Int, Long, Float, Double), you can use [`@mapTo`](https://specs.apollo.dev/kotlin_labs/v0.5/#@​mapTo ) and the compiler infers the adapter and generates an inline value class automatically:
```graphql
extend scalar Length @​mapTo(builtIn: Long)
```
#### Scalar definitions in schemas downloaded from introspection ([#​6389](https://redirect.github.com/apollographql/apollo-kotlin/issues/6389 ))
Downloading or converting an SDL schema from introspection now includes scalar definitions.
This is required for clients to get a [full view of the schema](https://redirect.github.com/graphql/graphql-wg/blob/main/rfcs/FullSchemas.md ).
#### Support for `@disableErrorPropagation`
Apollo Kotlin now automatically adds [`@disableErrorPropagation`](https://redirect.github.com/graphql/nullability-wg/discussions/85 ) if your server supports it and you opted in `@catchByDefault` in your schema extensions. This allows to use non-null types more liberally and still get support for partial data.
See [https://github.com/graphql/graphql-js/pull/4348 ](https://redirect.github.com/graphql/graphql-js/pull/4348 ) and [https://github.com/graphql-java/graphql-java/pull/3772 ](https://redirect.github.com/graphql-java/graphql-java/pull/3772 )
#### Contributors 💜
Many thanks to [@​bobbysothebys](https://redirect.github.com/bobbysothebys ), [@​jvanderwee](https://redirect.github.com/jvanderwee ), [@​dhritzkiv](https://redirect.github.com/dhritzkiv ), [@​lwasyl](https://redirect.github.com/lwasyl ) and [@​rohandhruva](https://redirect.github.com/rohandhruva ) for all the contributions and help in this release 💜
#### 👷♂️ All changes
- \[intellij-plugin] Fix MemoryCache package name ([#​6383](https://redirect.github.com/apollographql/apollo-kotlin/issues/6383 ))
- \[intellij-plugin] Rover: always pass path to supergraph.yaml if present ([#​6384](https://redirect.github.com/apollographql/apollo-kotlin/issues/6384 ))
- \[intellij-plugin] Make 'Download Schema action' consider deep subprojects ([#​6394](https://redirect.github.com/apollographql/apollo-kotlin/issues/6394 ))
- \[intellij-plugin] Fix a crash when invoking the 'missing `@link`' quickfix ([#​6402](https://redirect.github.com/apollographql/apollo-kotlin/issues/6402 ))
- \[intellij-plugin] Use configured Gradle JVM when executing tasks ([#​6425](https://redirect.github.com/apollographql/apollo-kotlin/issues/6425 ))
- \[in
</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNjQuMCIsInVwZGF0ZWRJblZlciI6IjM5LjI2NC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-05-06 14:47:24 +00:00
doodlewind
be28038e94
perf(editor): fallback to placeholder for canvas text ( #12033 )
...
### TL;DR
For canvas elements, this PR adds placeholders during zooming operations to improve performance.

### What changed?
- Implemented placeholder rendering during zooming operations in the canvas renderer, but not only DOM.
- Added a `forceFullRender` property to the `GfxCompatibleInterface` to allow elements to opt out of placeholder rendering
- Set `forceFullRender = true` for connectors to ensure they always render properly, even during zooming
- Connected the turbo renderer to the viewport's zooming state to automatically switch between full and placeholder rendering
### Why make this change?
Rendering complex elements during zooming operations can cause performance issues and make the UI feel sluggish. Rendering connector label also leads to high cost DOM `set font` delays.

The turbo renderer improves performance by displaying simple placeholders for elements during zooming, while still rendering critical elements like connectors fully. This creates a smoother user experience while maintaining essential visual information.
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Introduced a feature-flag-controlled "turbo" rendering mode that displays placeholder graphics during zooming for improved performance.
- Added the ability to override placeholder rendering for specific elements, ensuring full rendering when required.
- **Bug Fixes**
- Enhanced rendering logic to ensure connectors always render fully, even during zoom operations.
- **Documentation**
- Updated API documentation to reflect new properties related to rendering behavior.
- **Tests**
- Improved tests to verify correct rendering behavior for connectors.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-29 03:05:17 +00:00
renovate
782f31ad26
chore: bump up all non-major dependencies ( #11273 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@ai-sdk/google](https://sdk.vercel.ai/docs ) ([source](https://redirect.github.com/vercel/ai )) | [`1.2.3` -> `1.2.5`](https://renovatebot.com/diffs/npm/@ai-sdk%2fgoogle/1.2.3/1.2.5 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](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.777.0` -> `3.779.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.777.0/3.779.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [@capacitor/android](https://capacitorjs.com ) ([source](https://redirect.github.com/ionic-team/capacitor )) | [`7.1.0` -> `7.2.0`](https://renovatebot.com/diffs/npm/@capacitor%2fandroid/7.1.0/7.2.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [@capacitor/cli](https://capacitorjs.com ) ([source](https://redirect.github.com/ionic-team/capacitor )) | [`7.1.0` -> `7.2.0`](https://renovatebot.com/diffs/npm/@capacitor%2fcli/7.1.0/7.2.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | minor |
| [@capacitor/core](https://capacitorjs.com ) ([source](https://redirect.github.com/ionic-team/capacitor )) | [`7.1.0` -> `7.2.0`](https://renovatebot.com/diffs/npm/@capacitor%2fcore/7.1.0/7.2.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [@capacitor/ios](https://capacitorjs.com ) ([source](https://redirect.github.com/ionic-team/capacitor )) | [`7.1.0` -> `7.2.0`](https://renovatebot.com/diffs/npm/@capacitor%2fios/7.1.0/7.2.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [@capgo/inappbrowser](https://redirect.github.com/Cap-go/capacitor-inappbrowser ) | [`7.6.8` -> `7.7.2`](https://renovatebot.com/diffs/npm/@capgo%2finappbrowser/7.6.8/7.7.2 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [@lottiefiles/dotlottie-wc](https://redirect.github.com/LottieFiles/dotlottie-web ) ([source](https://redirect.github.com/LottieFiles/dotlottie-web/tree/HEAD/packages/wc )) | [`0.5.0` -> `0.5.1`](https://renovatebot.com/diffs/npm/@lottiefiles%2fdotlottie-wc/0.5.0/0.5.1 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | patch |
| [@perfsee/webpack](https://redirect.github.com/perfsee/perfsee ) | [`1.13.0` -> `1.14.2`](https://renovatebot.com/diffs/npm/@perfsee%2fwebpack/1.13.0/1.14.2 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react ) ([source](https://redirect.github.com/getsentry/sentry-javascript )) | [`9.10.0` -> `9.10.1`](https://renovatebot.com/diffs/npm/@sentry%2freact/9.10.0/9.10.1 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | patch |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react ) ([source](https://redirect.github.com/getsentry/sentry-javascript )) | [`9.10.0` -> `9.10.1`](https://renovatebot.com/diffs/npm/@sentry%2freact/9.10.0/9.10.1 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [@vitest/browser](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/browser#readme ) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/browser )) | [`3.0.9` -> `3.1.1`](https://renovatebot.com/diffs/npm/@vitest%2fbrowser/3.0.9/3.1.1 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | minor |
| [@vitest/coverage-istanbul](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/coverage-istanbul#readme ) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul )) | [`3.0.9` -> `3.1.1`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/3.0.9/3.1.1 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | minor |
| [@vitest/ui](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/ui#readme ) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/ui )) | [`3.0.9` -> `3.1.1`](https://renovatebot.com/diffs/npm/@vitest%2fui/3.0.9/3.1.1 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | minor |
| [ai](https://sdk.vercel.ai/docs ) ([source](https://redirect.github.com/vercel/ai )) | [`4.2.8` -> `4.2.10`](https://renovatebot.com/diffs/npm/ai/4.2.8/4.2.10 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | patch |
| [bullmq](https://bullmq.io/ ) ([source](https://redirect.github.com/taskforcesh/bullmq )) | [`5.45.0` -> `5.45.2`](https://renovatebot.com/diffs/npm/bullmq/5.45.0/5.45.2 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | patch |
| [esbuild](https://redirect.github.com/evanw/esbuild ) | [`0.25.1` -> `0.25.2`](https://renovatebot.com/diffs/npm/esbuild/0.25.1/0.25.2 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [express](https://expressjs.com/ ) ([source](https://redirect.github.com/expressjs/express )) | [`5.0.1` -> `5.1.0`](https://renovatebot.com/diffs/npm/express/5.0.1/5.1.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](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.484.0` -> `^0.486.0`](https://renovatebot.com/diffs/npm/lucide-react/0.484.0/0.486.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [once_cell](https://redirect.github.com/matklad/once_cell ) | `1.21.2` -> `1.21.3` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | workspace.dependencies | patch |
| [openai](https://redirect.github.com/openai/openai-node ) | [`4.90.0` -> `4.91.0`](https://renovatebot.com/diffs/npm/openai/4.90.0/4.91.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [react](https://react.dev/ ) ([source](https://redirect.github.com/facebook/react/tree/HEAD/packages/react )) | [`19.0.0` -> `19.1.0`](https://renovatebot.com/diffs/npm/react/19.0.0/19.1.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [react-day-picker](https://daypicker.dev ) ([source](https://redirect.github.com/gpbl/react-day-picker )) | [`9.6.3` -> `9.6.4`](https://renovatebot.com/diffs/npm/react-day-picker/9.6.3/9.6.4 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | patch |
| [react-dom](https://react.dev/ ) ([source](https://redirect.github.com/facebook/react/tree/HEAD/packages/react-dom )) | [`19.0.0` -> `19.1.0`](https://renovatebot.com/diffs/npm/react-dom/19.0.0/19.1.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [react-hook-form](https://www.react-hook-form.com ) ([source](https://redirect.github.com/react-hook-form/react-hook-form )) | [`7.54.2` -> `7.55.0`](https://renovatebot.com/diffs/npm/react-hook-form/7.54.2/7.55.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [react-refresh](https://react.dev/ ) ([source](https://redirect.github.com/facebook/react/tree/HEAD/packages/react )) | [`^0.16.0` -> `^0.17.0`](https://renovatebot.com/diffs/npm/react-refresh/0.16.0/0.17.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [react-virtuoso](https://virtuoso.dev/ ) ([source](https://redirect.github.com/petyosi/react-virtuoso )) | [`4.12.5` -> `4.12.6`](https://renovatebot.com/diffs/npm/react-virtuoso/4.12.5/4.12.6 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | patch |
| [rubato](https://redirect.github.com/HEnquist/rubato ) | `0.16.1` -> `0.16.2` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | workspace.dependencies | patch |
| [tailwind-merge](https://redirect.github.com/dcastil/tailwind-merge ) | [`3.0.2` -> `3.1.0`](https://renovatebot.com/diffs/npm/tailwind-merge/3.0.2/3.1.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | minor |
| [typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint ) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint )) | [`8.28.0` -> `8.29.0`](https://renovatebot.com/diffs/npm/typescript-eslint/8.28.0/8.29.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | minor |
| [vitest](https://redirect.github.com/vitest-dev/vitest ) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest )) | [`3.0.9` -> `3.1.1`](https://renovatebot.com/diffs/npm/vitest/3.0.9/3.1.1 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | minor |
| [yarn](https://redirect.github.com/yarnpkg/berry ) ([source](https://redirect.github.com/yarnpkg/berry/tree/HEAD/packages/yarnpkg-cli )) | [`4.8.0` -> `4.8.1`](https://renovatebot.com/diffs/npm/yarn/4.8.0/4.8.1 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | packageManager | patch |
---
### Release Notes
<details>
<summary>vercel/ai (@​ai-sdk/google)</summary>
### [`v1.2.5`](https://redirect.github.com/vercel/ai/releases/tag/%40ai-sdk/openai%401.2.5 )
[Compare Source](https://redirect.github.com/vercel/ai/compare/@ai-sdk/google@1.2.4...@ai-sdk/google@1.2.5 )
##### Patch Changes
- [`2e1101a`](https://redirect.github.com/vercel/ai/commit/2e1101a ): feat (provider/openai): pdf input support
- Updated dependencies \[[`2e1101a`](https://redirect.github.com/vercel/ai/commit/2e1101a )]
- [@​ai-sdk/provider](https://redirect.github.com/ai-sdk/provider )[@​1](https://redirect.github.com/1 ).0.11
- [@​ai-sdk/provider-utils](https://redirect.github.com/ai-sdk/provider-utils )[@​2](https://redirect.github.com/2 ).1.13
### [`v1.2.4`](https://redirect.github.com/vercel/ai/releases/tag/%40ai-sdk/openai%401.2.4 )
[Compare Source](https://redirect.github.com/vercel/ai/compare/@ai-sdk/google@1.2.3...@ai-sdk/google@1.2.4 )
##### Patch Changes
- [`523f128`](https://redirect.github.com/vercel/ai/commit/523f128 ): feat (provider/openai): add strictSchemas option to responses model
</details>
<details>
<summary>aws/aws-sdk-js-v3 (@​aws-sdk/client-s3)</summary>
### [`v3.779.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#37790-2025-03-31 )
[Compare Source](https://redirect.github.com/aws/aws-sdk-js-v3/compare/v3.777.0...v3.779.0 )
##### Features
- **client-s3:** Amazon S3 adds support for S3 Access Points for directory buckets in AWS Dedicated Local Zones ([7f2cfea](https://redirect.github.com/aws/aws-sdk-js-v3/commit/7f2cfea14ef7e980b331fa0413a479bd2913a3a9 ))
</details>
<details>
<summary>ionic-team/capacitor (@​capacitor/android)</summary>
### [`v7.2.0`](https://redirect.github.com/ionic-team/capacitor/blob/HEAD/CHANGELOG.md#720-2025-03-31 )
[Compare Source](https://redirect.github.com/ionic-team/capacitor/compare/7.1.0...7.2.0 )
##### Bug Fixes
- **android:** rename bridge layout to avoid collision ([#​7919](https://redirect.github.com/ionic-team/capacitor/issues/7919 )) ([a629f16](https://redirect.github.com/ionic-team/capacitor/commit/a629f167b345cda1c44f37131235d14353eff504 ))
- **cli:** Don't migrate Podfile on SPM projects ([#​7939](https://redirect.github.com/ionic-team/capacitor/issues/7939 )) ([ab4e700](https://redirect.github.com/ionic-team/capacitor/commit/ab4e700035289f445668dfd2f86278ffc71ab269 ))
- **ios:** respect shouldEncodeUrlParams value ([#​7931](https://redirect.github.com/ionic-team/capacitor/issues/7931 )) ([4fb12a0](https://redirect.github.com/ionic-team/capacitor/commit/4fb12a03a92c0f38b0d48b114252342f4bdc17bf ))
##### Features
- **http:** Apply overrideUserAgent to requests ([#​7906](https://redirect.github.com/ionic-team/capacitor/issues/7906 )) ([52482c9](https://redirect.github.com/ionic-team/capacitor/commit/52482c9d3c575b737054b41f9d1730c70cc5f471 ))
- **ios:** Enable Fullscreen API on WebView ([#​7909](https://redirect.github.com/ionic-team/capacitor/issues/7909 )) ([172638e](https://redirect.github.com/ionic-team/capacitor/commit/172638ec7b6eb67bf25f8dac2818122ba31c2c91 ))
</details>
<details>
<summary>Cap-go/capacitor-inappbrowser (@​capgo/inappbrowser)</summary>
### [`v7.7.2`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#772-2025-03-31 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.7.1...7.7.2 )
### [`v7.7.1`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#771-2025-03-30 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.6.12...7.7.1 )
### [`v7.6.12`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#7612-2025-03-30 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.6.9...7.6.12 )
### [`v7.6.9`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#769-2025-03-29 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.6.8...7.6.9 )
</details>
<details>
<summary>LottieFiles/dotlottie-web (@​lottiefiles/dotlottie-wc)</summary>
### [`v0.5.1`](https://redirect.github.com/LottieFiles/dotlottie-web/blob/HEAD/packages/wc/CHANGELOG.md#051 )
##### Patch Changes
- Updated dependencies \[[`faaf25e`](https://redirect.github.com/LottieFiles/dotlottie-web/commit/faaf25e )]
- Updated dependencies \[[`4ffcae2`](https://redirect.github.com/LottieFiles/dotlottie-web/commit/4ffcae2 )]
- Updated dependencies \[[`faaf25e`](https://redirect.github.com/LottieFiles/dotlottie-web/commit/faaf25e )]
- [@​lottiefiles/dotlottie-web](https://redirect.github.com/lottiefiles/dotlottie-web )[@​0](https://redirect.github.com/0 ).42.0
</details>
<details>
<summary>perfsee/perfsee (@​perfsee/webpack)</summary>
### [`v1.14.2`](https://redirect.github.com/perfsee/perfsee/compare/v1.13.0...v1.14.2 )
[Compare Source](https://redirect.github.com/perfsee/perfsee/compare/v1.13.0...v1.14.2 )
</details>
<details>
<summary>getsentry/sentry-javascript (@​sentry/react)</summary>
### [`v9.10.1`](https://redirect.github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#9101 )
[Compare Source](https://redirect.github.com/getsentry/sentry-javascript/compare/9.10.0...9.10.1 )
- fix: Correct [@​sentry-internal/feedback](https://redirect.github.com/sentry-internal/feedback ) docs to match the code ([#​15874](https://redirect.github.com/getsentry/sentry-javascript/pull/15874 ))
- deps: Bump bundler plugins to version `3.2.4` ([#​15909](https://redirect.github.com/getsentry/sentry-javascript/pull/15909 ))
</details>
<details>
<summary>vitest-dev/vitest (@​vitest/browser)</summary>
### [`v3.1.1`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v3.1.1 )
[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v3.1.0...v3.1.1 )
##### 🐞 Bug Fixes
- **reporter**:
- Report tests in correct order - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7752 ](https://redirect.github.com/vitest-dev/vitest/issues/7752 ) [<samp>(b166e)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/b166efa2 )
- Print test only once in the verbose mode - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7738 ](https://redirect.github.com/vitest-dev/vitest/issues/7738 ) [<samp>(69ca4)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/69ca425c )
##### [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v3.1.0...v3.1.1 )
### [`v3.1.0`](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.9...v3.1.0 )
[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.9...v3.1.0 )
</details>
<details>
<summary>taskforcesh/bullmq (bullmq)</summary>
### [`v5.45.2`](https://redirect.github.com/taskforcesh/bullmq/releases/tag/v5.45.2 )
[Compare Source](https://redirect.github.com/taskforcesh/bullmq/compare/v5.45.1...v5.45.2 )
##### Bug Fixes
- **flow:** validate pending dependencies before removing lock ([#​3182](https://redirect.github.com/taskforcesh/bullmq/issues/3182 )) ([8d59e3b](https://redirect.github.com/taskforcesh/bullmq/commit/8d59e3b8084c60afad16372b4f7fc22f1b9d3f4e ))
### [`v5.45.1`](https://redirect.github.com/taskforcesh/bullmq/releases/tag/v5.45.1 )
[Compare Source](https://redirect.github.com/taskforcesh/bullmq/compare/v5.45.0...v5.45.1 )
##### Bug Fixes
- **job-scheduler:** emit duplicated event when next delayed job exists ([#​3172](https://redirect.github.com/taskforcesh/bullmq/issues/3172 )) ([d57698f](https://redirect.github.com/taskforcesh/bullmq/commit/d57698f9af64fd1bb85f571f22b7fd663c3e05ee ))
</details>
<details>
<summary>evanw/esbuild (esbuild)</summary>
### [`v0.25.2`](https://redirect.github.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0252 )
[Compare Source](https://redirect.github.com/evanw/esbuild/compare/v0.25.1...v0.25.2 )
- Support flags in regular expressions for the API ([#​4121](https://redirect.github.com/evanw/esbuild/issues/4121 ))
The JavaScript plugin API for esbuild takes JavaScript regular expression objects for the `filter` option. Internally these are translated into Go regular expressions. However, this translation previously ignored the `flags` property of the regular expression. With this release, esbuild will now translate JavaScript regular expression flags into Go regular expression flags. Specifically the JavaScript regular expression `/\.[jt]sx?$/i` is turned into the Go regular expression `` `(?i)\.[jt]sx?$` `` internally inside of esbuild's API. This should make it possible to use JavaScript regular expressions with the `i` flag. Note that JavaScript and Go don't support all of the same regular expression features, so this mapping is only approximate.
- Fix node-specific annotations for string literal export names ([#​4100](https://redirect.github.com/evanw/esbuild/issues/4100 ))
When node instantiates a CommonJS module, it scans the AST to look for names to expose via ESM named exports. This is a heuristic that looks for certain patterns such as `exports.NAME = ...` or `module.exports = { ... }`. This behavior is used by esbuild to "annotate" CommonJS code that was converted from ESM with the original ESM export names. For example, when converting the file `export let foo, bar` from ESM to CommonJS, esbuild appends this to the end of the file:
```js
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
bar,
foo
});
```
However, this feature previously didn't work correctly for export names that are not valid identifiers, which can be constructed using string literal export names. The generated code contained a syntax error. That problem is fixed in this release:
```js
// Original code
let foo
export { foo as "foo!" }
// Old output (with --format=cjs --platform=node)
...
0 && (module.exports = {
"foo!"
});
// New output (with --format=cjs --platform=node)
...
0 && (module.exports = {
"foo!": null
});
```
- Basic support for index source maps ([#​3439](https://redirect.github.com/evanw/esbuild/issues/3439 ), [#​4109](https://redirect.github.com/evanw/esbuild/pull/4109 ))
The source map specification has an optional mode called [index source maps](https://tc39.es/ecma426/#sec-index-source-map ) that makes it easier for tools to create an aggregate JavaScript file by concatenating many smaller JavaScript files with source maps, and then generate an aggregate source map by simply providing the original source maps along with some offset information. My understanding is that this is rarely used in practice. I'm only aware of two uses of it in the wild: [ClojureScript](https://clojurescript.org/ ) and [Turbopack](https://turbo.build/pack/ ).
This release provides basic support for indexed source maps. However, the implementation has not been tested on a real app (just on very simple test input). If you are using index source maps in a real app, please try this out and report back if anything isn't working for you.
Note that this is also not a complete implementation. For example, index source maps technically allows nesting source maps to an arbitrary depth, while esbuild's implementation in this release only supports a single level of nesting. It's unclear whether supporting more than one level of nesting is important or not given the lack of available test cases.
This feature was contributed by [@​clyfish](https://redirect.github.com/clyfish ).
</details>
<details>
<summary>expressjs/express (express)</summary>
### [`v5.1.0`](https://redirect.github.com/expressjs/express/blob/HEAD/History.md#510--2025-03-31 )
[Compare Source](https://redirect.github.com/expressjs/express/compare/5.0.1...v5.1.0 )
\========================
- Add support for `Uint8Array` in `res.send()`
- Add support for ETag option in `res.sendFile()`
- Add support for multiple links with the same rel in `res.links()`
- Add funding field to package.json
- perf: use loop for acceptParams
- refactor: prefix built-in node module imports
- deps: remove `setprototypeof`
- deps: remove `safe-buffer`
- deps: remove `utils-merge`
- deps: remove `methods`
- deps: remove `depd`
- deps: `debug@^4.4.0`
- deps: `body-parser@^2.2.0`
- deps: `router@^2.2.0`
- deps: `content-type@^1.0.5`
- deps: `finalhandler@^2.1.0`
- deps: `qs@^6.14.0`
- deps: `server-static@2.2.0`
- deps: `type-is@2.0.1`
</details>
<details>
<summary>lucide-icons/lucide (lucide-react)</summary>
### [`v0.486.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.486.0 ): Version 0.486.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.485.0...0.486.0 )
##### What's Changed
- feat([@​lucide/astro](https://redirect.github.com/lucide/astro )): add lucide package for Astro by [@​MoustaphaDev](https://redirect.github.com/MoustaphaDev ) in [https://github.com/lucide-icons/lucide/pull/2665 ](https://redirect.github.com/lucide-icons/lucide/pull/2665 )
##### New Contributors
- [@​MoustaphaDev](https://redirect.github.com/MoustaphaDev ) made their first contribution in [https://github.com/lucide-icons/lucide/pull/2665 ](https://redirect.github.com/lucide-icons/lucide/pull/2665 )
**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.485.0...0.486.0
### [`v0.485.0`](https://redirect.github.com/lucide-icons/lucide/compare/0.484.0...0.485.0 )
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.484.0...0.485.0 )
</details>
<details>
<summary>matklad/once_cell (once_cell)</summary>
### [`v1.21.3`](https://redirect.github.com/matklad/once_cell/blob/HEAD/CHANGELOG.md#1213 )
[Compare Source](https://redirect.github.com/matklad/once_cell/compare/v1.21.2...v1.21.3 )
- Outline more initialization in `race`: [#​284](https://redirect.github.com/matklad/once_cell/pull/284 ),
[#​285](https://redirect.github.com/matklad/once_cell/pull/285 ).
</details>
<details>
<summary>openai/openai-node (openai)</summary>
### [`v4.91.0`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4910-2025-03-31 )
[Compare Source](https://redirect.github.com/openai/openai-node/compare/v4.90.0...v4.91.0 )
Full Changelog: [v4.90.0...v4.91.0](https://redirect.github.com/openai/openai-node/compare/v4.90.0...v4.91.0 )
##### Features
- **api:** add `get /responses/{response_id}/input_items` endpoint ([ef0e0ac](https://redirect.github.com/openai/openai-node/commit/ef0e0acd469379ae6f2745c83e6c6813ff7b4edc ))
##### Performance Improvements
- **embedding:** default embedding creation to base64 ([#​1312](https://redirect.github.com/openai/openai-node/issues/1312 )) ([e54530e](https://redirect.github.com/openai/openai-node/commit/e54530e4f6f00d7d74fc8636bbdb6f6280548750 )), closes [#​1310](https://redirect.github.com/openai/openai-node/issues/1310 )
</details>
<details>
<summary>facebook/react (react)</summary>
### [`v19.1.0`](https://redirect.github.com/facebook/react/compare/v19.0.0...1825990c5608f0ab0c1475b4292218a508a171c9 )
[Compare Source](https://redirect.github.com/facebook/react/compare/v19.0.0...v19.1.0 )
</details>
<details>
<summary>gpbl/react-day-picker (react-day-picker)</summary>
### [`v9.6.4`](https://redirect.github.com/gpbl/react-day-picker/releases/tag/v9.6.4 )
[Compare Source](https://redirect.github.com/gpbl/react-day-picker/compare/v9.6.3...v9.6.4 )
#### What's Changed
- fix(animation): fix issues when navigating months during animation by [@​rodgobbi](https://redirect.github.com/rodgobbi ) in [https://github.com/gpbl/react-day-picker/pull/2710 ](https://redirect.github.com/gpbl/react-day-picker/pull/2710 )
**Full Changelog**: https://github.com/gpbl/react-day-picker/compare/v9.6.3...v9.6.4
</details>
<details>
<summary>facebook/react (react-dom)</summary>
### [`v19.1.0`](https://redirect.github.com/facebook/react/compare/v19.0.0...1825990c5608f0ab0c1475b4292218a508a171c9 )
[Compare Source](https://redirect.github.com/facebook/react/compare/v19.0.0...v19.1.0 )
</details>
<details>
<summary>react-hook-form/react-hook-form (react-hook-form)</summary>
### [`v7.55.0`](https://redirect.github.com/react-hook-form/react-hook-form/compare/v7.54.2...a66b52a4f0d5c0de3c09307c074371e3e881ce73 )
[Compare Source](https://redirect.github.com/react-hook-form/react-hook-form/compare/v7.54.2...v7.55.0 )
</details>
<details>
<summary>petyosi/react-virtuoso (react-virtuoso)</summary>
### [`v4.12.6`](https://redirect.github.com/petyosi/react-virtuoso/releases/tag/react-virtuoso%404.12.6 )
[Compare Source](https://redirect.github.com/petyosi/react-virtuoso/compare/react-virtuoso@4.12.5...react-virtuoso@4.12.6 )
##### Patch Changes
- [`bb0402e`](https://redirect.github.com/petyosi/react-virtuoso/commit/bb0402e ): Support window scrolling to iframe react portals
</details>
<details>
<summary>HEnquist/rubato (rubato)</summary>
### [`v0.16.2`](https://redirect.github.com/HEnquist/rubato/releases/tag/v0.16.2 )
[Compare Source](https://redirect.github.com/HEnquist/rubato/compare/v0.16.1...v0.16.2 )
#### What's Changed
- Fix tests on 32-bit archs, add test by [@​HEnquist](https://redirect.github.com/HEnquist ) in [https://github.com/HEnquist/rubato/pull/102 ](https://redirect.github.com/HEnquist/rubato/pull/102 )
**Full Changelog**: https://github.com/HEnquist/rubato/compare/v0.16.1...v0.16.2
</details>
<details>
<summary>dcastil/tailwind-merge (tailwind-merge)</summary>
### [`v3.1.0`](https://redirect.github.com/dcastil/tailwind-merge/releases/tag/v3.1.0 )
[Compare Source](https://redirect.github.com/dcastil/tailwind-merge/compare/v3.0.2...v3.1.0 )
##### New Features
- Add support for Tailwind CSS v4.0.10 by [@​dcastil](https://redirect.github.com/dcastil ) in [https://github.com/dcastil/tailwind-merge/pull/546 ](https://redirect.github.com/dcastil/tailwind-merge/pull/546 )
##### Bug Fixes
- Fix length variable in `via-(length:*)` class being merged with `via-<color>` classes accidentally by [@​dcastil](https://redirect.github.com/dcastil ) in [https://github.com/dcastil/tailwind-merge/pull/559 ](https://redirect.github.com/dcastil/tailwind-merge/pull/559 )
##### Documentation
- Fix typo in comment in types.ts by [@​roottool](https://redirect.github.com/roottool ) in [https://github.com/dcastil/tailwind-merge/pull/549 ](https://redirect.github.com/dcastil/tailwind-merge/pull/549 )
- Update shadow scale recipe to tailwind merge v3 API by [@​dcastil](https://redirect.github.com/dcastil ) in [https://github.com/dcastil/tailwind-merge/pull/545 ](https://redirect.github.com/dcastil/tailwind-merge/pull/545 )
##### Other
- Fix metrics report action erroring on PRs from forks by [@​dcastil](https://redirect.github.com/dcastil ) in [https://github.com/dcastil/tailwind-merge/pull/551 ](https://redirect.github.com/dcastil/tailwind-merge/pull/551 )
**Full Changelog**: https://github.com/dcastil/tailwind-merge/compare/v3.0.2...v3.1.0
Thanks to [@​brandonmcconnell](https://redirect.github.com/brandonmcconnell ), [@​manavm1990](https://redirect.github.com/manavm1990 ), [@​langy](https://redirect.github.com/langy ), [@​jamesreaco](https://redirect.github.com/jamesreaco ), [@​roboflow](https://redirect.github.com/roboflow ), [@​syntaxfm](https://redirect.github.com/syntaxfm ), [@​getsentry](https://redirect.github.com/getsentry ), [@​codecov](https://redirect.github.com/codecov ), [@​sourcegraph](https://redirect.github.com/sourcegraph ) and a private sponsor for sponsoring tailwind-merge! ❤️
</details>
<details>
<summary>typescript-eslint/typescript-eslint (typescript-eslint)</summary>
### [`v8.29.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8290-2025-03-31 )
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.28.0...v8.29.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.8.1`](https://redirect.github.com/yarnpkg/berry/compare/260cff1745bdf2d71ed91f76e440330078896e1b...76596c5d3fb9a60fa1459b6a1d62df4cfa4c5701 )
[Compare Source](https://redirect.github.com/yarnpkg/berry/compare/260cff1745bdf2d71ed91f76e440330078896e1b...76596c5d3fb9a60fa1459b6a1d62df4cfa4c5701 )
</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-01 00:56:18 +00:00