darkskygit
eb26e99ecd
fix(server): skip embedding when not configured ( #12544 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved reliability by ensuring certain features are only enabled when required support and configuration are present, reducing the risk of runtime errors.
- Enhanced platform detection logic for better accuracy across different environments, including macOS and Windows systems.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-26 12:52:15 +00:00
Yifeng Wang
9d2330fc2b
fix(editor): possible race condition in viewport clipping ( #12503 )
2025-05-26 17:08:31 +08:00
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
renovate
0f19a506ac
chore: bump up file-type version to v21 ( #12500 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [file-type](https://redirect.github.com/sindresorhus/file-type ) | [`^20.0.0` -> `^21.0.0`](https://renovatebot.com/diffs/npm/file-type/20.5.0/21.0.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/ ) |
---
### Release Notes
<details>
<summary>sindresorhus/file-type (file-type)</summary>
### [`v21.0.0`](https://redirect.github.com/sindresorhus/file-type/releases/tag/v21.0.0 )
[Compare Source](https://redirect.github.com/sindresorhus/file-type/compare/v20.5.0...v21.0.0 )
##### Breaking
- Require Node.js 20 [`24aec1f`](https://redirect.github.com/sindresorhus/file-type/commit/24aec1f )
- Drop Adobe Illustrator (.ai) detection support ([#​743](https://redirect.github.com/sindresorhus/file-type/issues/743 )) [`af169f3`](https://redirect.github.com/sindresorhus/file-type/commit/af169f3 )
- Correct Matroska (video) MIME-type to formal IANA registration ([#​753](https://redirect.github.com/sindresorhus/file-type/issues/753 )) [`f53f5ff`](https://redirect.github.com/sindresorhus/file-type/commit/f53f5ff )
- Correct FLAC MIME-type to formal IANA registration ([#​755](https://redirect.github.com/sindresorhus/file-type/issues/755 )) [`b9fda36`](https://redirect.github.com/sindresorhus/file-type/commit/b9fda36 )
- Correct Apache Parquet MIME-type to formal IANA registration ([#​748](https://redirect.github.com/sindresorhus/file-type/issues/748 )) [`98e3f8e`](https://redirect.github.com/sindresorhus/file-type/commit/98e3f8e )
- Correct Apache Arrow MIME-type to formal IANA registration ([#​754](https://redirect.github.com/sindresorhus/file-type/issues/754 )) [`7184775`](https://redirect.github.com/sindresorhus/file-type/commit/7184775 )
##### Improvements
- Allow options to be directly passed to exported functions ([#​752](https://redirect.github.com/sindresorhus/file-type/issues/752 )) [`d264029`](https://redirect.github.com/sindresorhus/file-type/commit/d264029 )
- Add `mpegOffsetTolerance` option ([#​646](https://redirect.github.com/sindresorhus/file-type/issues/646 )) [`c40840a`](https://redirect.github.com/sindresorhus/file-type/commit/c40840a )
##### Fixes
- Fix detection of some PAX TAR formats ([#​762](https://redirect.github.com/sindresorhus/file-type/issues/762 )) [`574d0d6`](https://redirect.github.com/sindresorhus/file-type/commit/574d0d6 )
***
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC4xNi4wIiwidXBkYXRlZEluVmVyIjoiNDAuMTYuMCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2025-05-24 02:55:26 +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
fundon
8726b0e462
refactor(editor): optimize pasting process of attachments and images ( #12276 )
...
Related to: [BS-3146](https://linear.app/affine-design/issue/BS-3146/import-paste-接口改进优化 )
2025-05-18 01:57:42 +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
fundon
e4f32cd61e
refactor(editor): replace-id middlware ( #12250 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Refactor**
- Improved the internal structure and clarity of ID handling during import processes, leading to more maintainable and modular code. No changes to user-facing functionality.
- **Chores**
- Enhanced type definitions for import events to improve code readability and maintainability. No impact on end-user experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-13 12:27:52 +00: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
6fb7f51ea2
refactor(editor): history as a store extension ( #12214 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Refactor**
- Improved history and undo/redo management across the app by introducing a dedicated history extension. Undo/redo operations now use a more focused undo manager, resulting in clearer and more consistent behavior.
- **Documentation**
- Updated API documentation to reflect changes in history management, including revised method signatures and removal of outdated event references.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-12 01:50:57 +00:00
Saul-Mirone
97aa3fc672
fix(editor): array proxy splice will cause too large yjs update ( #12201 )
...
Splice will produce large yjs updates for splice because it will call insert and delete operation for every item in yarray.
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added support for `splice`, `shift`, and `unshift` methods on reactive arrays, enabling enhanced dynamic array operations with synchronization.
- **Tests**
- Expanded test coverage for array operations including `push`, `splice`, `shift`, and `unshift`, verifying complete array state after each change.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-09 06:19:57 +00:00
EYHN
2d1600fa00
refactor(core): implement doc created/updated by service ( #12150 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Documents now automatically track and display "created by" and "updated by" user information.
- Document creation and update timestamps are now managed and shown more accurately.
- Workspace and document metadata (name, avatar) updates are more responsive and reliable.
- Document creation supports middleware for customizing properties and behavior.
- **Improvements**
- Simplified and unified event handling for document list updates, reducing redundant event subscriptions.
- Enhanced integration of editor and theme settings into the document creation process.
- Explicit Yjs document initialization for improved workspace stability and reliability.
- Consolidated journal-related metadata display in document icons and titles for clarity.
- **Bug Fixes**
- Fixed inconsistencies in how workspace and document names are set and updated.
- Improved accuracy of "last updated" indicators by handling timestamps automatically.
- **Refactor**
- Removed deprecated event subjects and direct metadata manipulation in favor of more robust, reactive patterns.
- Streamlined document creation logic across various features (quick search, journal, recording, etc.).
- Simplified user avatar display components and removed cloud metadata dependencies.
- Removed legacy editor setting and theme service dependencies from multiple modules.
- **Chores**
- Updated internal APIs and interfaces to support new metadata and event handling mechanisms.
- Cleaned up unused code and dependencies related to editor settings and theme services.
- Skipped flaky end-to-end test to improve test suite stability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-08 07:53:33 +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
Saul-Mirone
eb62d0e853
refactor(editor): doc as store extension ( #12170 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Introduced new exports related to workspace management, making additional workspace features available.
- **Refactor**
- Updated how document and workspace types are imported and exported, consolidating and reorganizing module structure.
- Shifted dependency management for document instances to use an internal provider mechanism.
- Streamlined and centralized type imports across various modules.
- **Bug Fixes**
- Removed an unused schema definition to improve code clarity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-07 09:17:01 +00:00
Saul-Mirone
267bb3a975
refactor(editor): introduce store container to make implement doc easier ( #12146 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Introduced a new store management system for handling document stores, improving efficiency and flexibility when working with document data.
- **Refactor**
- Updated internal store handling to use a centralized store container, simplifying store retrieval and removal across various components.
- Renamed and updated several store-related method signatures for consistency and clarity.
- Replaced editor extension loading logic with a new local implementation for better modularity.
- **Chores**
- Improved and streamlined the export of store-related modules for better maintainability.
- Removed obsolete and redundant code related to previous store management approaches.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-07 06:08:43 +00:00
fundon
93b1d6c729
fix(editor): improve image block upload and download states ( #12017 )
...
Related to: [BS-3143](https://linear.app/affine-design/issue/BS-3143/更新-loading-和错误样式 )
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Introduced a unified resource controller for managing image and attachment resources, providing improved loading, error, and state handling.
- Added a visual loading indicator overlay to image blocks for better feedback during image loading.
- **Improvements**
- Simplified and centralized image and attachment state management, reducing redundant properties and manual state tracking.
- Updated fallback UI for image blocks with clearer titles, descriptions, and improved layout.
- Enhanced batch image block creation and download handling for improved efficiency.
- Refined image block accessibility with improved alt text and streamlined rendering logic.
- Centralized target model selection for image insertion in AI actions.
- Reordered CSS declarations without affecting styling.
- Improved reactive state tracking for blob upload/download operations in mock server.
- **Bug Fixes**
- Improved cleanup of object URLs to prevent resource leaks.
- Adjusted toolbar logic to more accurately reflect available actions based on image state.
- **Tests**
- Updated end-to-end tests to match new UI text and behaviors for image loading and error states.
- **Chores**
- Refactored internal logic and updated comments for clarity and maintainability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-07 05:15:57 +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
Saul-Mirone
1e89aa48cb
refactor(editor): remove unused code ( #12142 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Refactor**
- Streamlined internal logic for handling block operations to improve efficiency.
- Removed unused reactive subject and related code from document handling classes.
- Renamed a private initialization method for improved clarity.
- **Chores**
- Cleaned up redundant code and imports to simplify maintenance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-06 09:00:40 +00:00
Saul-Mirone
88ceeba5b6
refactor(editor): move block yjs listener to store ( #12140 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Refactor**
- Streamlined internal event handling for block updates, removing previous notification mechanisms from several components.
- **Chores**
- Simplified and cleaned up internal logic related to block addition and deletion tracking.
No visible changes to the user interface or end-user features.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-06 07:44:57 +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
d859c4252b
refactor(editor): move history from doc to store ( #12131 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Undo/redo history management is now centralized in the workspace, providing more consistent and robust undo/redo behavior.
- History update events are emitted at the workspace level, enabling better tracking of changes.
- **Bug Fixes**
- Improved reliability of undo/redo actions by shifting history management from documents to the workspace.
- **Documentation**
- Updated and clarified documentation for history-related APIs, including improved examples and clearer descriptions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-05 09:24:09 +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
fundon
85e40e4026
refactor(editor): simplify attachment and image upload handling ( #11987 )
...
Closes: [BS-3303](https://linear.app/affine-design/issue/BS-3303/改進-pack-attachment-props-流程 )
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Enhanced attachment and image uploads with improved file size validation and clearer notifications.
- Upload telemetry tracking added for attachments to monitor upload success or failure.
- **Refactor**
- Streamlined and unified the process of adding attachments and images, making uploads more reliable and efficient.
- Parameter names updated for clarity across attachment and image insertion features.
- **Documentation**
- Updated API documentation to reflect parameter name changes for consistency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-28 07:03:30 +00:00
fundon
e9003dec9e
feat(editor): add blobState$ to BlobEngine ( #11756 )
...
Closes: [BS-3137](https://linear.app/affine-design/issue/BS-3137/在-bs-添加-blobstate-接口 )
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Introduced real-time status tracking for file upload and download operations, allowing users to monitor progress and errors more effectively.
- **Improvements**
- Enhanced icon display for attachments, providing a refreshed visual experience.
- Improved update frequency and accuracy for file synchronization status indicators.
- **Bug Fixes**
- Refined internal logic for filtering status updates, ensuring more precise feedback during file operations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-28 10:46:46 +08: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
L-Sun
e457e2f8a8
fix(editor): add reference after duplicate edgeless embed doc as note ( #11877 )
...
- fix(editor): add reference in the copied note of embed doc
- refactor(editor): add generics parameter `TextAttributes` into `Text`
2025-04-22 08:03:52 +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