doouding
5de63c29f5
fix: rewrite selection logic and frame selection handling logic ( #12421 )
...
Fixes [BS-3528](https://linear.app/affine-design/issue/BS-3528 )
Fixes [BS-3331](https://linear.app/affine-design/issue/BS-3331/frame-移动逻辑很奇怪 )
### Changed
- Remove `onSelected` method from gfx view, use `handleSelection` provided by `GfxViewInteraction` instead.
- Add `selectable` to allow model to filter out itself from selection.
- Frame can be selected by body only if it's locked or its background is not transparent.
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Enhanced selection behavior for frames, edgeless text, notes, and mind map elements with refined control based on lock state and background transparency.
- Introduced group-aware selection logic promoting selection of appropriate group ancestors.
- Added support for element selection events in interactivity extensions.
- **Bug Fixes**
- Resolved frame selection issues by enabling selection via title clicks and restricting body selection to locked frames or those with non-transparent backgrounds.
- **Documentation**
- Added clarifying comments for group retrieval methods.
- **Tests**
- Updated and added end-to-end tests for frame and lock selection reflecting new selection conditions.
- **Refactor**
- Unified and simplified selection handling by moving logic from component methods to interaction handlers and removing deprecated selection methods.
- Streamlined selection candidate processing with extension-driven target suggestion.
- Removed legacy group element retrieval and selection helper methods to simplify interaction logic.
- **Style**
- Renamed types and improved type signatures for selection context and interaction configurations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-26 05:03:09 +00:00
L-Sun
0902b2b9c9
fix(editor): can not select the block after undo the drag from canvas to note ( #12473 )
...
Close [BS-3509](https://linear.app/affine-design/issue/BS-3509/embed拖入note,然后撤销,形成的block刷新后才可选中,且只能进行有限交互 )
### Before
https://github.com/user-attachments/assets/4c83f9ba-1a99-427f-824d-7e946e55e737
### After
https://github.com/user-attachments/assets/e6a28478-0af4-4358-a353-e0c2e8edb0f9
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved block selection reliability after dragging a block into a note and performing an undo action, ensuring the block remains selectable.
- **Tests**
- Added an end-to-end test to verify block selection after dragging and undo operations in edgeless mode.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-23 07:28:30 +00:00
L-Sun
573c2faf76
fix(editor): can not undo and redo of color of edgeless blocks ( #12414 )
...
Close [BS-3507](https://linear.app/affine-design/issue/BS-3507/edgeless-text-颜色无法-undoredo )
Close [BS-3426](https://linear.app/affine-design/issue/BS-3426/frame-修改背景色后不能撤销 )
This PR fixes the issue where the color change of edgeless blocks could not be undone/redone, including notes, edgeless-text, and frames. It also addresses the problem of a tiny shape being unexpectedly retained on the canvas. The key changes are:
- Removal of `transact` from the `pop` method of edgeless elements.
- Refactoring of `onPickColor` for all edgeless elements and blocks to better control the lifecycle of custom color property changes.
- Addition of the missing custom background color feature for notes.
- Addition of undo/redo color tests for notes, frames, and edgeless-text.
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added undo and redo support for color changes in frames, notes, and text blocks, allowing users to revert or reapply background and text color modifications.
- **Bug Fixes**
- Improved reliability of color picker interactions, ensuring consistent state management and transactional updates during color changes.
- **Tests**
- Introduced new end-to-end tests to verify undo/redo functionality for color changes in frames, notes, and text blocks.
- **Refactor**
- Streamlined color picker event handling for better maintainability and consistency across toolbars and style panels.
- Updated style panel structure and event handling for improved interaction and state management.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-22 04:10:16 +00:00
doouding
eb185255a3
fix: selection rect should reflect viewport change ( #12355 )
...
Fixes [BS-3349](https://linear.app/affine-design/issue/BS-3349/ )
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Improved edge scrolling during selection dragging for smoother and more responsive viewport navigation.
- Dragging area and mouse position tracking now update reactively with viewport changes, ensuring more accurate selection and movement.
- **Refactor**
- Unified and clarified coordinate handling for dragging and mouse position, with clearer naming and separation between model and browser coordinates.
- Simplified selection logic and removed unnecessary accumulated state for cleaner and more maintainable behavior.
- Enhanced flexibility in coordinate conversion by allowing viewport transformations relative to arbitrary zoom and center.
- Streamlined clipboard paste handling by simplifying mouse position extraction and adjusting attachment options.
- **Bug Fixes**
- Enhanced overlay and dragging area accuracy by updating position calculations and coordinate transformations.
- Fixed paste operations to correctly handle mouse position without unnecessary coordinate conversions.
- Corrected drag initiation positions in toolbar and shape dragging to align with viewport-relative coordinates.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-19 16:05:33 +00:00
doouding
e98ec93af1
fix: connector label editing ( #12282 )
...
Fixes [BS-3373](https://linear.app/affine-design/issue/BS-3373/connector%E7%9A%84%E5%8F%8C%E5%87%BB%E6%B7%BB%E5%8A%A0note%E8%A1%8C%E4%B8%BA%E5%8F%97%E5%88%B0%E4%BA%86%E8%A6%86%E7%9B%96%E8%8C%83%E5%9B%B4%E7%9A%84%E5%BD%B1%E5%93%8D )
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Connector label elements now include identity and creator metadata.
- **Bug Fixes**
- Improved hit-testing for pointer interactions, resulting in more accurate detection of hovered elements.
- **Refactor**
- Enhanced internal comparison logic for elements, improving sorting and ordering consistency.
- Strengthened type definitions for search filters, improving result accuracy and clarity.
- **Tests**
- Added end-to-end tests to verify correct label entry and retrieval for multiple connectors.
- Introduced utility functions to fetch connector labels and improved connector creation in test actions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-15 10:31:55 +00:00
Yifeng Wang
9cabe03386
refactor(editor): add dom renderer entry for canvas element ( #12149 )
2025-05-14 16:22:16 +08:00
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
L-Sun
f3ca17fcb3
refactor(editor): extract slider component ( #12210 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Introduced a new slider component for line width selection, providing a more interactive and streamlined UI.
- Added support for using the slider component across relevant panels.
- **Improvements**
- Simplified the line width selection panel for easier use and improved maintainability.
- Enhanced event handling to prevent dropdowns from closing when interacting with the panel.
- **Bug Fixes**
- Improved event propagation control within the line styles panel.
- **Chores**
- Updated package exports to include the new slider component.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-12 09:42:52 +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
Saul-Mirone
95b9e4b3d0
refactor(editor): rename model.doc to store ( #12172 )
2025-05-07 09:17:01 +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`](5d1c4e127d ) 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`](10ab58dbc1 ) Thanks [@​eddeee888](https://redirect.github.com/eddeee888 )! - Improve syntax error messages whilst loading schema/document
- Updated dependencies \[[`c5efba3`](c5efba34a7 )]:
- [@​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`](c5efba34a7 ) 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`](556132176a ) 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
L-Sun
245db4e992
fix(editor): make selected and out-of-viewport block active ( #12135 )
...
This PR make out-of-viewport but selected edgeless block keep active, since the selected block may still have some user interactions on the DOM. For example, when hover on a selected note and scroll viewport by wheel to view its hidden content, the note should not be hidden (a.k.a idel).
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Refactor**
- Updated viewport logic to keep selected items visible instead of only those being edited. Visibility now depends on selection status rather than editing state.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-06 07:05:54 +00:00
Saul-Mirone
676c5d8de6
refactor(editor): remove global gfx tool types ( #12119 )
2025-05-04 13:53:27 +00:00
Saul-Mirone
30a2e5b4fb
refactor(editor): remove gfx tool global type ( #12116 )
...
Closes: BS-2650
2025-05-04 13:53:26 +00:00
L-Sun
365a0a605b
feat(editor): improve visibility of hidden content of edgeless note ( #12068 )
...
Close [BS-3066](https://linear.app/affine-design/issue/BS-3066/优化长note的展示和折叠 )
- Enhanced the visibility behavior of hidden content in edgeless notes by:
- Showing hidden content when a note is being edited, even when it's outside the viewport
- Improving hover behavior with a delay when leaving from the bottom of the note
- Adding proper cleanup of hover timeouts when the component is disconnected
- Optimizing the viewport element to keep editing blocks or elements visible
## Testing
- Added new E2E test cases covering:
- Hover behavior on selected notes
- Content visibility during editing
- Viewport scrolling behavior
- Edge cases for content visibility
## Impact
This change improves the user experience when working with collapsed notes in edgeless mode by making the content more accessible and preventing accidental content hiding during editing.
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved visibility of hidden content in edgeless notes when hovering near the bottom edge or editing the note, especially after resizing or clipping.
- **New Features**
- Enhanced hover behavior with delayed clearing based on mouse position to improve user experience.
- **Tests**
- Added new tests verifying hidden content visibility in edgeless notes during hover and editing, simulating diverse user interactions.
- **Chores**
- Added utilities to get and set viewport center for improved test control.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-29 13:24:56 +00:00
renovate
bce9f8cdf0
chore: bump up all non-major npm dependencies ( #11994 )
...
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.19` -> `1.3.20`](https://renovatebot.com/diffs/npm/@ai-sdk%2fopenai/1.3.19/1.3.20 ) | [](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.796.0` -> `3.797.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.796.0/3.797.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 |
| [@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.796.0` -> `3.797.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fs3-request-presigner/3.796.0/3.797.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 |
| [@napi-rs/cli](https://redirect.github.com/napi-rs/napi-rs ) | [`3.0.0-alpha.77` -> `3.0.0-alpha.78`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.77/3.0.0-alpha.78 ) | [](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 |
| [@playwright/test](https://playwright.dev ) ([source](https://redirect.github.com/microsoft/playwright )) | [`=1.51.1` -> `=1.52.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.51.1/1.52.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 |
| [@playwright/test](https://playwright.dev ) ([source](https://redirect.github.com/microsoft/playwright )) | [`=1.51.1` -> `=1.52.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.51.1/1.52.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 |
| [@toeverything/theme](https://redirect.github.com/toeverything/design ) | [`1.1.13` -> `1.1.14`](https://renovatebot.com/diffs/npm/@toeverything%2ftheme/1.1.13/1.1.14 ) | [](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.1` -> `3.1.2`](https://renovatebot.com/diffs/npm/@vitest%2fbrowser/3.1.1/3.1.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 |
| [@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.1` -> `3.1.2`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/3.1.1/3.1.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 |
| [@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.1` -> `3.1.2`](https://renovatebot.com/diffs/npm/@vitest%2fui/3.1.1/3.1.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 |
| [app-builder-lib](https://redirect.github.com/electron-userland/electron-builder ) ([source](https://redirect.github.com/electron-userland/electron-builder/tree/HEAD/packages/app-builder-lib )) | [`26.0.13` -> `26.0.14`](https://renovatebot.com/diffs/npm/app-builder-lib/26.0.13/26.0.14 ) | [](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 |
| [browser-fs-access](https://redirect.github.com/GoogleChromeLabs/browser-fs-access ) | [`^0.35.0` -> `^0.37.0`](https://renovatebot.com/diffs/npm/browser-fs-access/0.35.0/0.37.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 |
| [bullmq](https://bullmq.io/ ) ([source](https://redirect.github.com/taskforcesh/bullmq )) | [`5.51.0` -> `5.51.1`](https://renovatebot.com/diffs/npm/bullmq/5.51.0/5.51.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 |
| [cc](https://redirect.github.com/rust-lang/cc-rs ) | `1.2.19` -> `1.2.20` | [](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 |
| [clap](https://redirect.github.com/clap-rs/clap ) | `4.5.36` -> `4.5.37` | [](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 |
| [file-type](https://redirect.github.com/sindresorhus/file-type ) | [`20.4.1` -> `20.5.0`](https://renovatebot.com/diffs/npm/file-type/20.4.1/20.5.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 |
| [gradle](https://gradle.org ) ([source](https://redirect.github.com/gradle/gradle )) | `8.13` -> `8.14` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | | minor |
| [graphql](https://redirect.github.com/graphql/graphql-js ) | [`16.10.0` -> `16.11.0`](https://renovatebot.com/diffs/npm/graphql/16.10.0/16.11.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 |
| [graphql](https://redirect.github.com/graphql/graphql-js ) | [`16.10.0` -> `16.11.0`](https://renovatebot.com/diffs/npm/graphql/16.10.0/16.11.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 |
| [lib0](https://crates.io/crates/lib0 ) | `0.16.5` -> `0.16.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/ ) | workspace.dependencies | patch |
| [lucide-react](https://lucide.dev ) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react )) | [`^0.488.0` -> `^0.503.0`](https://renovatebot.com/diffs/npm/lucide-react/0.488.0/0.503.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 |
| [objc2-foundation](https://redirect.github.com/madsmtm/objc2 ) | `0.3.0` -> `0.3.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/ ) | workspace.dependencies | patch |
| [playwright](https://playwright.dev ) ([source](https://redirect.github.com/microsoft/playwright )) | [`=1.51.1` -> `=1.52.0`](https://renovatebot.com/diffs/npm/playwright/1.51.1/1.52.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 |
| [rand](https://rust-random.github.io/book ) ([source](https://redirect.github.com/rust-random/rand )) | `0.9.0` -> `0.9.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 |
| [rand](https://rust-random.github.io/book ) ([source](https://redirect.github.com/rust-random/rand )) | `0.9.0` -> `0.9.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/ ) | workspace.dependencies | patch |
| [react-resizable-panels](https://redirect.github.com/bvaughn/react-resizable-panels ) | [`2.1.8` -> `2.1.9`](https://renovatebot.com/diffs/npm/react-resizable-panels/2.1.8/2.1.9 ) | [](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 |
| [sqlx](https://redirect.github.com/launchbadge/sqlx ) | `0.8.4` -> `0.8.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/ ) | workspace.dependencies | patch |
| [tldts](https://redirect.github.com/remusao/tldts ) | [`7.0.3` -> `7.0.4`](https://renovatebot.com/diffs/npm/tldts/7.0.3/7.0.4 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | patch |
| [vitest](https://redirect.github.com/vitest-dev/vitest ) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest )) | [`3.1.1` -> `3.1.2`](https://renovatebot.com/diffs/npm/vitest/3.1.1/3.1.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 |
| [yrs](https://redirect.github.com/y-crdt/y-crdt ) | `=0.23.0` -> `=0.23.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 |
| [yrs](https://redirect.github.com/y-crdt/y-crdt ) | `0.23.0` -> `0.23.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/ ) | workspace.dependencies | patch |
| com.google.firebase:firebase-bom | `33.12.0` -> `33.13.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 |
| [androidx.datastore:datastore-preferences](https://developer.android.com/jetpack/androidx/releases/datastore#1.1.5 ) ([source](https://cs.android.com/androidx/platform/frameworks/support )) | `1.1.4` -> `1.1.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 |
| [androidx.compose:compose-bom](https://developer.android.com/jetpack ) | `2025.04.00` -> `2025.04.01` | [](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 |
---
### Release Notes
<details>
<summary>vercel/ai (@​ai-sdk/openai)</summary>
### [`v1.3.20`](https://redirect.github.com/vercel/ai/releases/tag/%40ai-sdk/openai%401.3.20 )
[Compare Source](https://redirect.github.com/vercel/ai/compare/@ai-sdk/openai@1.3.19...@ai-sdk/openai@1.3.20 )
##### Patch Changes
- [`dd5450e`](https://redirect.github.com/vercel/ai/commit/dd5450e ): feat(provider/openai): add o3 & o4-mini with developer systemMessageMode
</details>
<details>
<summary>aws/aws-sdk-js-v3 (@​aws-sdk/client-s3)</summary>
### [`v3.797.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#37970-2025-04-25 )
[Compare Source](https://redirect.github.com/aws/aws-sdk-js-v3/compare/v3.796.0...v3.797.0 )
**Note:** Version bump only for package [@​aws-sdk/client-s3](https://redirect.github.com/aws-sdk/client-s3 )
</details>
<details>
<summary>aws/aws-sdk-js-v3 (@​aws-sdk/s3-request-presigner)</summary>
### [`v3.797.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/packages/s3-request-presigner/CHANGELOG.md#37970-2025-04-25 )
[Compare Source](https://redirect.github.com/aws/aws-sdk-js-v3/compare/v3.796.0...v3.797.0 )
**Note:** Version bump only for package [@​aws-sdk/s3-request-presigner](https://redirect.github.com/aws-sdk/s3-request-presigner )
</details>
<details>
<summary>napi-rs/napi-rs (@​napi-rs/cli)</summary>
### [`v3.0.0-alpha.78`](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.77...@napi-rs/cli@3.0.0-alpha.78 )
[Compare Source](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.77...@napi-rs/cli@3.0.0-alpha.78 )
</details>
<details>
<summary>microsoft/playwright (@​playwright/test)</summary>
### [`v1.52.0`](https://redirect.github.com/microsoft/playwright/compare/v1.51.1...471930b1ceae03c9e66e0eb80c1364a1a788e7db )
[Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.51.1...v1.52.0 )
</details>
<details>
<summary>toeverything/design (@​toeverything/theme)</summary>
### [`v1.1.14`](https://redirect.github.com/toeverything/design/compare/1.1.13...1.1.14 )
[Compare Source](https://redirect.github.com/toeverything/design/compare/1.1.13...1.1.14 )
</details>
<details>
<summary>vitest-dev/vitest (@​vitest/browser)</summary>
### [`v3.1.2`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v3.1.2 )
[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v3.1.1...v3.1.2 )
##### 🐞 Bug Fixes
- Add global `chai` variable in `vitest/globals` (fix: [#​7474](https://redirect.github.com/vitest-dev/vitest/issues/7474 )) - by [@​Jay-Karia](https://redirect.github.com/Jay-Karia ) in [https://github.com/vitest-dev/vitest/issues/7771 ](https://redirect.github.com/vitest-dev/vitest/issues/7771 ) and [https://github.com/vitest-dev/vitest/issues/7474 ](https://redirect.github.com/vitest-dev/vitest/issues/7474 ) [<samp>(d9297)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/d9297920 )
- Prevent modifying `test.exclude` when same object passed in `coverage.exclude` - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/7774 ](https://redirect.github.com/vitest-dev/vitest/issues/7774 ) [<samp>(c3751)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c375101d )
- Fix already hoisted mock - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7815 ](https://redirect.github.com/vitest-dev/vitest/issues/7815 ) [<samp>(773b1)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/773b10e0 )
- Fix test.scoped inheritance - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7814 ](https://redirect.github.com/vitest-dev/vitest/issues/7814 ) [<samp>(db6c3)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/db6c3bcc )
- Remove pointer-events-none after resizing the left panel - by [@​alexprudhomme](https://redirect.github.com/alexprudhomme ) in [https://github.com/vitest-dev/vitest/issues/7811 ](https://redirect.github.com/vitest-dev/vitest/issues/7811 ) [<samp>(a7e77)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/a7e773bd )
- Default to run mode when stdin is not a TTY - by [@​kentonv](https://redirect.github.com/kentonv ), [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) and [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7673 ](https://redirect.github.com/vitest-dev/vitest/issues/7673 ) [<samp>(6358f)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/6358f216 )
- Use happy-dom/jsdom types for `envionmentOptions` - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7795 ](https://redirect.github.com/vitest-dev/vitest/issues/7795 ) [<samp>(67430)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/67430083 )
- **browser**:
- Fix transform error before browser server initialization - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7783 ](https://redirect.github.com/vitest-dev/vitest/issues/7783 ) [<samp>(5f762)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/5f762ec5 )
- Fix mocking from outside of root - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7789 ](https://redirect.github.com/vitest-dev/vitest/issues/7789 ) [<samp>(03f55)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/03f55d74 )
- Scale iframe for non ui case - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/6512 ](https://redirect.github.com/vitest-dev/vitest/issues/6512 ) [<samp>(c3374)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c3374808 )
- **coverage**:
- `await` profiler calls - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/7763 ](https://redirect.github.com/vitest-dev/vitest/issues/7763 ) [<samp>(795a6)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/795a6433 )
- Expose profiling timers - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/7820 ](https://redirect.github.com/vitest-dev/vitest/issues/7820 ) [<samp>(5652b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/5652bf92 )
- **deps**:
- Update all non-major dependencies - in [https://github.com/vitest-dev/vitest/issues/7765 ](https://redirect.github.com/vitest-dev/vitest/issues/7765 ) [<samp>(7c3df)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/7c3dfb17 )
- Update all non-major dependencies - in [https://github.com/vitest-dev/vitest/issues/7831 ](https://redirect.github.com/vitest-dev/vitest/issues/7831 ) [<samp>(15701)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/15701f5d )
- **runner**:
- Correctly call test hooks and teardown functions - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7775 ](https://redirect.github.com/vitest-dev/vitest/issues/7775 ) [<samp>(3c00c)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/3c00c875 )
- Show stacktrace on test timeout error - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7799 ](https://redirect.github.com/vitest-dev/vitest/issues/7799 ) [<samp>(df33b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/df33bba7 )
- **ui**:
- Load panel sizes from storage on initial load - by [@​userquin](https://redirect.github.com/userquin ) in [https://github.com/vitest-dev/vitest/issues/7265 ](https://redirect.github.com/vitest-dev/vitest/issues/7265 ) [<samp>(6555d)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/6555d61d )
- **vite-node**:
- Named export should overwrite export all - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7846 ](https://redirect.github.com/vitest-dev/vitest/issues/7846 ) [<samp>(5ba0d)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/5ba0d914 )
- Add ERR_MODULE_NOT_FOUND code error if module cannot be loaded - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7776 ](https://redirect.github.com/vitest-dev/vitest/issues/7776 ) [<samp>(f9eac)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/f9eacbc5 )
##### 🏎 Performance
- **browser**: Improve browser parallelisation - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7665 ](https://redirect.github.com/vitest-dev/vitest/issues/7665 ) [<samp>(816a5)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/816a5c51 )
##### [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v3.1.1...v3.1.2 )
</details>
<details>
<summary>electron-userland/electron-builder (app-builder-lib)</summary>
### [`v26.0.14`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#26014 )
[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.13...v26.0.14 )
##### Patch Changes
- [#​9032](https://redirect.github.com/electron-userland/electron-builder/pull/9032 ) [`3d65267a`](3d65267a6c ) Thanks [@​indutny-signal](https://redirect.github.com/indutny-signal )! - Add customNsisResources override to nsis options
- [#​9061](https://redirect.github.com/electron-userland/electron-builder/pull/9061 ) [`5545e132`](5545e13254 ) Thanks [@​mmaietta](https://redirect.github.com/mmaietta )! - chore: migrate fpm packaging from app builder
- [#​9034](https://redirect.github.com/electron-userland/electron-builder/pull/9034 ) [`80fbf5a6`](80fbf5a6d8 ) Thanks [@​beyondkmp](https://redirect.github.com/beyondkmp )! - feat: add buildUniversalInstaller option to NSIS portable configuration
- [#​8995](https://redirect.github.com/electron-userland/electron-builder/pull/8995 ) [`524fb6e0`](524fb6e042 ) Thanks [@​mmaietta](https://redirect.github.com/mmaietta )! - chore(asar): use streaming API for `electron/asar` for constructing asar package
- Updated dependencies \[]:
- dmg-builder@26.0.14
- electron-builder-squirrel-windows@26.0.14
</details>
<details>
<summary>GoogleChromeLabs/browser-fs-access (browser-fs-access)</summary>
### [`v0.37.0`](https://redirect.github.com/GoogleChromeLabs/browser-fs-access/releases/tag/v0.37.0 )
[Compare Source](https://redirect.github.com/GoogleChromeLabs/browser-fs-access/compare/v0.36.0...v0.37.0 )
- Fix issues introduced with b6e855dc0c
### [`v0.36.0`](https://redirect.github.com/GoogleChromeLabs/browser-fs-access/releases/tag/v0.36.0 )
[Compare Source](https://redirect.github.com/GoogleChromeLabs/browser-fs-access/compare/v0.35.0...v0.36.0 )
- Use the `cancel` method for better exception handling with legacy methods. ([#​153](https://redirect.github.com/GoogleChromeLabs/browser-fs-access/issues/153 ), [#​158](https://redirect.github.com/GoogleChromeLabs/browser-fs-access/issues/158 ))
</details>
<details>
<summary>taskforcesh/bullmq (bullmq)</summary>
### [`v5.51.1`](https://redirect.github.com/taskforcesh/bullmq/releases/tag/v5.51.1 )
[Compare Source](https://redirect.github.com/taskforcesh/bullmq/compare/v5.51.0...v5.51.1 )
##### Bug Fixes
- **queue-events:** omit telemetry options ([#​3239](https://redirect.github.com/taskforcesh/bullmq/issues/3239 )) ([e4dac2c](e4dac2c39f ))
</details>
<details>
<summary>rust-lang/cc-rs (cc)</summary>
### [`v1.2.20`](https://redirect.github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1220---2025-04-25 )
[Compare Source](https://redirect.github.com/rust-lang/cc-rs/compare/cc-v1.2.19...cc-v1.2.20 )
##### Other
- Regenerate target info ([#​1461](https://redirect.github.com/rust-lang/cc-rs/pull/1461 ))
- Fix parser.rs on latest rustc nightly ([#​1459](https://redirect.github.com/rust-lang/cc-rs/pull/1459 ))
</details>
<details>
<summary>clap-rs/clap (clap)</summary>
### [`v4.5.37`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4537---2025-04-18 )
[Compare Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.36...v4.5.37 )
##### Features
- Added `ArgMatches::try_clear_id()`
</details>
<details>
<summary>sindresorhus/file-type (file-type)</summary>
### [`v20.5.0`](https://redirect.github.com/sindresorhus/file-type/releases/tag/v20.5.0 )
[Compare Source](https://redirect.github.com/sindresorhus/file-type/compare/v20.4.1...v20.5.0 )
- Add support Office PowerPoint 2007 (macro-enabled) slide show ([#​747](https://redirect.github.com/sindresorhus/file-type/issues/747 )) [`f1b4c7a`](https://redirect.github.com/sindresorhus/file-type/commit/f1b4c7a )
***
</details>
<details>
<summary>gradle/gradle (gradle)</summary>
### [`v8.14`](https://redirect.github.com/gradle/gradle/compare/v8.13.0...v8.14.0 )
[Compare Source](https://redirect.github.com/gradle/gradle/compare/v8.13.0...v8.14.0 )
</details>
<details>
<summary>graphql/graphql-js (graphql)</summary>
### [`v16.11.0`](https://redirect.github.com/graphql/graphql-js/releases/tag/v16.11.0 ): 16.11.0
[Compare Source](https://redirect.github.com/graphql/graphql-js/compare/v16.10.0...v16.11.0 )
##### v16.11.0 (2025-04-26)
##### New Feature 🚀
- [#​4363](https://redirect.github.com/graphql/graphql-js/pull/4363 ) Ensure we validate for using nullable variables in oneOf input fields ([@​JoviDeCroock](https://redirect.github.com/JoviDeCroock ))
- [#​4366](https://redirect.github.com/graphql/graphql-js/pull/4366 ) feat(execution): add max coercion errors option to execution context ([@​cristunaranjo](https://redirect.github.com/cristunaranjo ))
##### Bug Fix 🐞
- [#​4367](https://redirect.github.com/graphql/graphql-js/pull/4367 ) fix(coerce-input-value): input object coercion rejects arrays ([@​cristunaranjo](https://redirect.github.com/cristunaranjo ))
##### Docs 📝
<details>
<summary> 11 PRs were merged </summary>
- [#​4310](https://redirect.github.com/graphql/graphql-js/pull/4310 ) First draft for upgrade guide to v17 ([@​JoviDeCroock](https://redirect.github.com/JoviDeCroock ))
- [#​4331](https://redirect.github.com/graphql/graphql-js/pull/4331 ) fix sidebar for documentation and `/api-v16` ([@​dimaMachina](https://redirect.github.com/dimaMachina ))
- [#​4335](https://redirect.github.com/graphql/graphql-js/pull/4335 ) Add cspell exception ([@​JoviDeCroock](https://redirect.github.com/JoviDeCroock ))
- [#​4340](https://redirect.github.com/graphql/graphql-js/pull/4340 ) Improve flow of documentation around GraphiQL ([@​benjie](https://redirect.github.com/benjie ))
- [#​4343](https://redirect.github.com/graphql/graphql-js/pull/4343 ) typofix: removes extra parenthesis from getting started code snippet ([@​rabahalishah](https://redirect.github.com/rabahalishah ))
- [#​4351](https://redirect.github.com/graphql/graphql-js/pull/4351 ) fixed wrong variable name ([@​fto-dev](https://redirect.github.com/fto-dev ))
- [#​4352](https://redirect.github.com/graphql/graphql-js/pull/4352 ) docs(getting-started): promises current links ([@​guspan-tanadi](https://redirect.github.com/guspan-tanadi ))
- [#​4368](https://redirect.github.com/graphql/graphql-js/pull/4368 ) Update docs for execution options ([@​JoviDeCroock](https://redirect.github.com/JoviDeCroock ))
- [#​4369](https://redirect.github.com/graphql/graphql-js/pull/4369 ) Correct some syntax ([@​JoviDeCroock](https://redirect.github.com/JoviDeCroock ))
- [#​4372](https://redirect.github.com/graphql/graphql-js/pull/4372 ) Refactor every code-first example to leverage resolve ([@​JoviDeCroock](https://redirect.github.com/JoviDeCroock ))
- [#​4373](https://redirect.github.com/graphql/graphql-js/pull/4373 ) docs: Update getting-started.mdx ([@​Shubhdeep12](https://redirect.github.com/Shubhdeep12 ))
</details>
##### Polish 💅
* [#​4312](https://redirect.github.com/graphql/graphql-js/pull/4312 ) Increase print/visit performance ([@​JoviDeCroock](https://redirect.github.com/JoviDeCroock ))
##### Internal 🏠
<details>
<summary> 4 PRs were merged </summary>
- [#​4327](https://redirect.github.com/graphql/graphql-js/pull/4327 ) Add redirect for /api ([@​JoviDeCroock](https://redirect.github.com/JoviDeCroock ))
- [#​4377](https://redirect.github.com/graphql/graphql-js/pull/4377 ) Chore: bump setup-node ([@​JoviDeCroock](https://redirect.github.com/JoviDeCroock ))
- [#​4378](https://redirect.github.com/graphql/graphql-js/pull/4378 ) Change to gqlConf 2025 ([@​JoviDeCroock](https://redirect.github.com/JoviDeCroock ))
- [#​4379](https://redirect.github.com/graphql/graphql-js/pull/4379 ) Add missing parenthesis ([@​benjie](https://redirect.github.com/benjie ))
</details>
##### Committers: 8
* Benjie([@​benjie](https://redirect.github.com/benjie ))
* Cris Naranjo ([@​cristunaranjo](https://redirect.github.com/cristunaranjo ))
* Dimitri POSTOLOV([@​dimaMachina](https://redirect.github.com/dimaMachina ))
* Fatih Ozdemir([@​fto-dev](https://redirect.github.com/fto-dev ))
* Guspan Tanadi([@​guspan-tanadi](https://redirect.github.com/guspan-tanadi ))
* Jovi De Croock([@​JoviDeCroock](https://redirect.github.com/JoviDeCroock ))
* Rabah Ali Shah([@​rabahalishah](https://redirect.github.com/rabahalishah ))
* Shubhdeep Chhabra([@​Shubhdeep12](https://redirect.github.com/Shubhdeep12 ))
</details>
<details>
<summary>lucide-icons/lucide (lucide-react)</summary>
### [`v0.503.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.503.0 ): Version 0.503.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.502.0...0.503.0 )
#### What's Changed
- fix(icons): changed `file-badge-2` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/2933 ](https://redirect.github.com/lucide-icons/lucide/pull/2933 )
- feat(icons): added `wifi-pen` icon by [@​luisdlopera](https://redirect.github.com/luisdlopera ) in [https://github.com/lucide-icons/lucide/pull/2576 ](https://redirect.github.com/lucide-icons/lucide/pull/2576 )
#### New Contributors
- [@​luisdlopera](https://redirect.github.com/luisdlopera ) made their first contribution in [https://github.com/lucide-icons/lucide/pull/2576 ](https://redirect.github.com/lucide-icons/lucide/pull/2576 )
**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.502.0...0.503.0
### [`v0.502.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.502.0 ): Version 0.502.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.501.0...0.502.0 )
#### What's Changed
- fix(docs): Added link for jguddas next to lucide studio by [@​briz123](https://redirect.github.com/briz123 ) in [https://github.com/lucide-icons/lucide/pull/3063 ](https://redirect.github.com/lucide-icons/lucide/pull/3063 )
- build(deps-dev): bump vite from 5.4.15 to 5.4.17 by [@​dependabot](https://redirect.github.com/dependabot ) in [https://github.com/lucide-icons/lucide/pull/2993 ](https://redirect.github.com/lucide-icons/lucide/pull/2993 )
- fix(build): fix shredder formatting and duplicate contributors error by [@​jpjacobpadilla](https://redirect.github.com/jpjacobpadilla ) in [https://github.com/lucide-icons/lucide/pull/3072 ](https://redirect.github.com/lucide-icons/lucide/pull/3072 )
- fix(icons): rebase non-binary on square-asterisk by [@​karsa-mistmere](https://redirect.github.com/karsa-mistmere ) in [https://github.com/lucide-icons/lucide/pull/3071 ](https://redirect.github.com/lucide-icons/lucide/pull/3071 )
- docs(CONTRIBUTING): Grammar fix for CONTRIBUTING by [@​ajokt123](https://redirect.github.com/ajokt123 ) in [https://github.com/lucide-icons/lucide/pull/3090 ](https://redirect.github.com/lucide-icons/lucide/pull/3090 )
- fix(icons): changed `calendar-plus` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/3085 ](https://redirect.github.com/lucide-icons/lucide/pull/3085 )
- fix(icons): changed `book-key` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/3062 ](https://redirect.github.com/lucide-icons/lucide/pull/3062 )
- fix(icons): changed `clipboard-paste` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/3075 ](https://redirect.github.com/lucide-icons/lucide/pull/3075 )
- fix(icons): changed `orbit` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/3074 ](https://redirect.github.com/lucide-icons/lucide/pull/3074 )
- fix(icons): changed `baby` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/3073 ](https://redirect.github.com/lucide-icons/lucide/pull/3073 )
- docs(pacakges): Added periods to package summary by [@​briz123](https://redirect.github.com/briz123 ) in [https://github.com/lucide-icons/lucide/pull/3065 ](https://redirect.github.com/lucide-icons/lucide/pull/3065 )
- fix(docs): PR Conventions by [@​briz123](https://redirect.github.com/briz123 ) in [https://github.com/lucide-icons/lucide/pull/3066 ](https://redirect.github.com/lucide-icons/lucide/pull/3066 )
- feat(icons): added `ruler-dimension-line` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/2535 ](https://redirect.github.com/lucide-icons/lucide/pull/2535 )
#### New Contributors
- [@​jpjacobpadilla](https://redirect.github.com/jpjacobpadilla ) made their first contribution in [https://github.com/lucide-icons/lucide/pull/3072 ](https://redirect.github.com/lucide-icons/lucide/pull/3072 )
- [@​ajokt123](https://redirect.github.com/ajokt123 ) made their first contribution in [https://github.com/lucide-icons/lucide/pull/3090 ](https://redirect.github.com/lucide-icons/lucide/pull/3090 )
**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.501.0...0.502.0
### [`v0.501.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.501.0 ): Version 0.501.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.500.0...0.501.0 )
#### What's Changed
- feat(angular): export icon data types by [@​dzonatan](https://redirect.github.com/dzonatan ) in [https://github.com/lucide-icons/lucide/pull/2820 ](https://redirect.github.com/lucide-icons/lucide/pull/2820 )
- feat: added request-review workflow by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/2502 ](https://redirect.github.com/lucide-icons/lucide/pull/2502 )
- feat(icons): Add columns-3-cog icon by [@​irvineacosta](https://redirect.github.com/irvineacosta ) in [https://github.com/lucide-icons/lucide/pull/2763 ](https://redirect.github.com/lucide-icons/lucide/pull/2763 )
#### New Contributors
- [@​dzonatan](https://redirect.github.com/dzonatan ) made their first contribution in [https://github.com/lucide-icons/lucide/pull/2820 ](https://redirect.github.com/lucide-icons/lucide/pull/2820 )
- [@​irvineacosta](https://redirect.github.com/irvineacosta ) made their first contribution in [https://github.com/lucide-icons/lucide/pull/2763 ](https://redirect.github.com/lucide-icons/lucide/pull/2763 )
**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.500.0...0.501.0
### [`v0.500.0`](https://redirect.github.com/lucide-icons/lucide/compare/0.499.0...0.500.0 )
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.499.0...0.500.0 )
### [`v0.499.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.499.0 ): Version 0.499.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.498.0...0.499.0 )
#### What's Changed
- feat(icons): added `bow-arrow` icon by [@​jamiemlaw](https://redirect.github.com/jamiemlaw ) in [https://github.com/lucide-icons/lucide/pull/2418 ](https://redirect.github.com/lucide-icons/lucide/pull/2418 )
**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.498.0...0.499.0
### [`v0.498.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.498.0 ): Version 0.498.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.497.0...0.498.0 )
#### What's Changed
- feat(icons): added `decimals-arrow-left` icon and `decimals-arrow-right` by [@​AnnaSasDev](https://redirect.github.com/AnnaSasDev ) in [https://github.com/lucide-icons/lucide/pull/2945 ](https://redirect.github.com/lucide-icons/lucide/pull/2945 )
**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.497.0...0.498.0
### [`v0.497.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.497.0 ): Version 0.497.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.496.0...0.497.0 )
#### What's Changed
- feat(icons): added `shredder` icon by [@​alirashidy](https://redirect.github.com/alirashidy ) in [https://github.com/lucide-icons/lucide/pull/3052 ](https://redirect.github.com/lucide-icons/lucide/pull/3052 )
#### New Contributors
- [@​alirashidy](https://redirect.github.com/alirashidy ) made their first contribution in [https://github.com/lucide-icons/lucide/pull/3052 ](https://redirect.github.com/lucide-icons/lucide/pull/3052 )
**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.496.0...0.497.0
### [`v0.496.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.496.0 ): Version 0.496.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.495.0...0.496.0 )
#### What's Changed
- feat(icons): added `squares-*` operation icons by [@​EthanHazel](https://redirect.github.com/EthanHazel ) in [https://github.com/lucide-icons/lucide/pull/2585 ](https://redirect.github.com/lucide-icons/lucide/pull/2585 )
**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.495.0...0.496.0
### [`v0.495.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.495.0 ): Version 0.495.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.494.0...0.495.0 )
#### What's Changed
- feat(icons): added `rectangle-goggles` icon by [@​EthanHazel](https://redirect.github.com/EthanHazel ) in [https://github.com/lucide-icons/lucide/pull/2515 ](https://redirect.github.com/lucide-icons/lucide/pull/2515 )
**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.494.0...0.495.0
### [`v0.494.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.494.0 ): Version 0.494.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.493.0...0.494.0 )
#### What's Changed
- fix(icons): changed `cpu` icon by [@​karsa-mistmere](https://redirect.github.com/karsa-mistmere ) in [https://github.com/lucide-icons/lucide/pull/3033 ](https://redirect.github.com/lucide-icons/lucide/pull/3033 )
- feat(icons): added map-pin-edit icon [#​2874](https://redirect.github.com/lucide-icons/lucide/issues/2874 ) by [@​sachinkr7368](https://redirect.github.com/sachinkr7368 ) in [https://github.com/lucide-icons/lucide/pull/2957 ](https://redirect.github.com/lucide-icons/lucide/pull/2957 )
#### New Contributors
- [@​sachinkr7368](https://redirect.github.com/sachinkr7368 ) made their first contribution in [https://github.com/lucide-icons/lucide/pull/2957 ](https://redirect.github.com/lucide-icons/lucide/pull/2957 )
**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.493.0...0.494.0
### [`v0.493.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.493.0 ): Version 0.493.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.492.0...0.493.0 )
#### What's Changed
- feat(icons): added `bubbles` icon by [@​vqh2602](https://redirect.github.com/vqh2602 ) in [https://github.com/lucide-icons/lucide/pull/2582 ](https://redirect.github.com/lucide-icons/lucide/pull/2582 )
- docs(studio): Add lucide studio to site navbar by [@​ericfennis](https://redirect.github.com/ericfennis ) in [https://github.com/lucide-icons/lucide/pull/3058 ](https://redirect.github.com/lucide-icons/lucide/pull/3058 )
- feat(ci): adds dpi preview for 16, 32 and 48px by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/3048 ](https://redirect.github.com/lucide-icons/lucide/pull/3048 )
- fix(icons): changed `palette` icon by [@​jamiemlaw](https://redirect.github.com/jamiemlaw ) in [https://github.com/lucide-icons/lucide/pull/3015 ](https://redirect.github.com/lucide-icons/lucide/pull/3015 )
- feat(icons): added `brick-wall-fire` icon by [@​karsa-mistmere](https://redirect.github.com/karsa-mistmere ) in [https://github.com/lucide-icons/lucide/pull/3036 ](https://redirect.github.com/lucide-icons/lucide/pull/3036 )
#### New Contributors
- [@​vqh2602](https://redirect.github.com/vqh2602 ) made their first contribution in [https://github.com/lucide-icons/lucide/pull/2582 ](https://redirect.github.com/lucide-icons/lucide/pull/2582 )
**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.492.0...0.493.0
### [`v0.492.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.492.0 ): Version 0.492.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.491.0...0.492.0 )
##### What's Changed
- fix(icons): changed `pipette` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/2927 ](https://redirect.github.com/lucide-icons/lucide/pull/2927 )
- feat(icons): added `heart-plus` & `heart-minus` icon by [@​Ayberkyvs](https://redirect.github.com/Ayberkyvs ) in [https://github.com/lucide-icons/lucide/pull/2842 ](https://redirect.github.com/lucide-icons/lucide/pull/2842 )
##### New Contributors
- [@​Ayberkyvs](https://redirect.github.com/Ayberkyvs ) made their first contribution in [https://github.com/lucide-icons/lucide/pull/2842 ](https://redirect.github.com/lucide-icons/lucid
</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNTcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjI1Ny4zIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-29 09:36:13 +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
Saul-Mirone
99ad4e871e
feat(editor): use migrated extensions ( #11886 )
...
Closes: BS-3283
2025-04-22 15:51:22 +00:00
doouding
b59f6ebde0
refactor: default-tool box selection ( #11800 )
...
### Changed
- Rewrite box selection in `default-tool`, the view can decide whether to be selected in box selection by return a boolean value in `onBoxSelected` method
- Cleanup unnecessary states in `default-tool` and some naming problem
2025-04-22 08:18:26 +00:00
doouding
e0e84d302d
refactor: moving connector label to connector view ( #11738 )
...
### Changed
Moved connector label moving logic from `default-tool` to connector view.
#### Other infrastructure changes:
- Gfx element view now can handles drag events
- Added `context.preventDefault()` support to bypass built-in interactions in extension
- Handle the pointer events in element view will bypass the built-in interactions automatically
> The built-in interactions include element dragging, click selection, drag-to-scale operations, etc.
2025-04-22 08:18:24 +00:00
doouding
21bf009553
refactor: migrate elements clone from default-tool to extension ( #11703 )
...
### Changed
- Add `onRequestElementsClone` action to allow extension to define how to clone gfx elements
2025-04-22 08:18:23 +00:00
doouding
52953ce8e3
refactor: redesign element transform manager interface ( #11679 )
...
### Change
- Rename `ElementTransformManager` -> `InteractivityManager`
- Now you can `event.on` and `action.onXXX` method to extend interactivity behaviour. The old approach of overriding methods directly is deprecated.
2025-04-22 08:18:23 +00:00
Yifeng Wang
16f7be7f0b
perf(editor): avoid redundant dom query when editing single block ( #11732 )
2025-04-16 17:52:22 +08:00
doodlewind
b21864cf63
perf(editor): dispose input event handler for removed blocks ( #11734 )
2025-04-16 09:05:47 +00:00
donteatfriedrice
212c13f843
fix(editor): add code block clipboard extension ( #11731 )
...
Close [BS-3109](https://linear.app/affine-design/issue/BS-3109/code-block-不支援-markdown-語法 )
2025-04-16 08:32:00 +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
L-Sun
aabb09b31f
fix(editor): ime input error at empty line ( #11636 )
...
Close [BS-3106](https://linear.app/affine-design/issue/BS-3106/mac-chrom在空行使用ime输入,文档卡住 )
2025-04-11 10:39:16 +00:00
doouding
714f2e79dc
fix: cannot exit editing mode when click frame body ( #11603 )
2025-04-11 03:23:27 +00:00
L-Sun
588659ef67
fix(editor): connector target position NaN ( #11606 )
...
Close [BS-3086](https://linear.app/affine-design/issue/BS-3086/frame里套frame,连一下connector,拖两下,白板损坏 )
### What Changes
- Fixed `bound.toRelative` may be return `NaN` when `bound.w === 0 || bound.h ===0`
- Remove type assertions from `connector-manager.ts` for more type safety
2025-04-10 12:33:24 +00:00
L-Sun
06497773a7
fix(editor): can not move carte at the end of inline element ( #11558 )
...
Close [BS-2922](https://linear.app/affine-design/issue/BS-2922/【移动端-ios】文档添加linked-page后,无法删除 )
2025-04-09 08:07:02 +00:00
doouding
d7268ce04c
test: add std gfx test ( #11442 )
...
### Changed
- Move some intergraion tests to std as they are more like basic tests
- Add some basic gfx-related tests
2025-04-08 16:20:36 +00:00
Saul-Mirone
bda5562f90
fix(editor): allow copy in readonly mode ( #11538 )
2025-04-08 08:52:20 +00:00
Saul-Mirone
a28b8b1b11
fix: sentry-6451187280 ( #11533 )
...
Closes: BS-3075
2025-04-08 06:06:16 +00:00
forehalo
40f218c898
chore: set base version to 0.21
2025-04-07 16:10:32 +08:00
Saul-Mirone
c306d98370
fix(editor): range sync in lit portal ( #11490 )
...
Closes: BS-3032
2025-04-07 05:38:20 +00:00
fundon
a1500e3ee1
fix(editor): textarea not focusing in AI panel ( #11429 )
...
Closes: [BS-3006](https://linear.app/affine-design/issue/BS-3006/insider上面,圈选yuan素后,ad-hoc的ai对话框焦点控制有大问题(无法对焦,总是会跳走) )
2025-04-03 03:27:26 +00:00
doouding
36b1ca4327
feat: render placeholder in edgeless mode ( #11387 )
...
Complete [BS-2997](https://linear.app/affine-design/issue/BS-2997/在白板上渲染-inserted-frame-group-时提供占位 )
2025-04-02 06:59:25 +00:00
Saul-Mirone
7f98420061
chore: allow cursor in none-contenteditable blocks ( #11366 )
2025-04-01 13:20:08 +00:00
Saul-Mirone
bed02f2520
fix(editor): wrong deactive logic ( #11361 )
...
Closes: BS-2591
2025-04-01 11:44:24 +00:00
Flrande
6ed9c33c33
fix(editor): inline editor should not change event source editable ( #11331 )
...
Close [BS-2988: database block会把顶层content editable设成false](https://linear.app/affine-design/issue/BS-2988/database-block会把顶层content-editable设成false )
2025-04-01 05:24:27 +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](7f2cfea14e ))
</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](a629f167b3 ))
- **cli:** Don't migrate Podfile on SPM projects ([#​7939](https://redirect.github.com/ionic-team/capacitor/issues/7939 )) ([ab4e700](ab4e700035 ))
- **ios:** respect shouldEncodeUrlParams value ([#​7931](https://redirect.github.com/ionic-team/capacitor/issues/7931 )) ([4fb12a0](4fb12a03a9 ))
##### Features
- **http:** Apply overrideUserAgent to requests ([#​7906](https://redirect.github.com/ionic-team/capacitor/issues/7906 )) ([52482c9](52482c9d3c ))
- **ios:** Enable Fullscreen API on WebView ([#​7909](https://redirect.github.com/ionic-team/capacitor/issues/7909 )) ([172638e](172638ec7b ))
</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](8d59e3b808 ))
### [`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](d57698f9af ))
</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](ef0e0acd46 ))
##### Performance Improvements
- **embedding:** default embedding creation to base64 ([#​1312](https://redirect.github.com/openai/openai-node/issues/1312 )) ([e54530e](e54530e4f6 )), 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`](260cff1745...76596c5d3f )
[Compare Source](260cff1745...76596c5d3f )
</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
Saul-Mirone
58d6a96e45
fix(editor): firefox invalid selection range ( #11320 )
...
Closes: BS-2987
2025-03-31 14:33:24 +00:00
L-Sun
c9e14ac0db
fix(editor): sync gfx block transform update with RAF to prevent stale transform ( #11322 )
...
Close [BS-2866](https://linear.app/affine-design/issue/BS-2866/presentation-mode中的note消失 )
## Problem
When using RequestAnimationFrame (RAF) for GFX block updates, there was a timing issue where the transform update would lag behind the RAF callback, causing the block to display with the previous frame's transform state.
## Solution
1. Refactored the block state management to use signals for better reactivity
2. Moved block visibility state management from `viewport-element.ts` to `gfx-block-component.ts`
3. Added `transformState$` signal to track block state
4. Synchronized transform updates with RAF using `effect` to ensure updates happen in the correct frame
5. Added test case to verify note visibility in presentation mode
2025-03-31 12:47:01 +00:00
doodlewind
ebee11f573
refactor(editor): enable forceUpdate by default in viewport apis ( #11264 )
...
In this way, all downstream callers can be guaranteed by correct viewport fit result, instead of requiring them to set `forceUpdate: true` param explicitly to them. The resizing optimization is an internal exception.
2025-03-28 10:04:55 +00:00
Saul-Mirone
205cd7a86d
refactor(editor): rename block-std to std ( #11250 )
...
Closes: BS-2946
2025-03-28 07:20:34 +00:00