Compare commits

..

920 Commits

Author SHA1 Message Date
DarkSky
44d2f301de fix(server): generate image (#11599) 2025-04-10 08:25:02 +00:00
liuyi
d1bd809608 chore(core): add pricing link in license panel (#11598) 2025-04-10 08:18:26 +00:00
EYHN
a759a1988e fix(nbstore): connect before do operation (#11569) 2025-04-10 16:05:46 +08:00
renovate
3629a725d2 chore: bump up all non-major dependencies (#11469)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@apollo/server](https://redirect.github.com/apollographql/apollo-server) ([source](https://redirect.github.com/apollographql/apollo-server/tree/HEAD/packages/server)) | [`4.11.3` -> `4.12.0`](https://renovatebot.com/diffs/npm/@apollo%2fserver/4.11.3/4.12.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@apollo%2fserver/4.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@apollo%2fserver/4.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@apollo%2fserver/4.11.3/4.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@apollo%2fserver/4.11.3/4.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@clack/core](https://redirect.github.com/bombshell-dev/clack/tree/main/packages/core#readme) ([source](https://redirect.github.com/bombshell-dev/clack/tree/HEAD/packages/core)) | [`0.4.1` -> `0.4.2`](https://renovatebot.com/diffs/npm/@clack%2fcore/0.4.1/0.4.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@clack%2fcore/0.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@clack%2fcore/0.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@clack%2fcore/0.4.1/0.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@clack%2fcore/0.4.1/0.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@clack/prompts](https://redirect.github.com/bombshell-dev/clack/tree/main/packages/prompts#readme) ([source](https://redirect.github.com/bombshell-dev/clack/tree/HEAD/packages/prompts)) | [`0.10.0` -> `0.10.1`](https://renovatebot.com/diffs/npm/@clack%2fprompts/0.10.0/0.10.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@clack%2fprompts/0.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@clack%2fprompts/0.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@clack%2fprompts/0.10.0/0.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@clack%2fprompts/0.10.0/0.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@eslint/js](https://eslint.org) ([source](https://redirect.github.com/eslint/eslint/tree/HEAD/packages/js)) | [`9.23.0` -> `9.24.0`](https://renovatebot.com/diffs/npm/@eslint%2fjs/9.23.0/9.24.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@eslint%2fjs/9.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@eslint%2fjs/9.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@eslint%2fjs/9.23.0/9.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@eslint%2fjs/9.23.0/9.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@radix-ui/react-accordion](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.2.3` -> `1.2.4`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-accordion/1.2.3/1.2.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-accordion/1.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-accordion/1.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-accordion/1.2.3/1.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-accordion/1.2.3/1.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-alert-dialog](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.6` -> `1.1.7`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-alert-dialog/1.1.6/1.1.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-alert-dialog/1.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-alert-dialog/1.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-alert-dialog/1.1.6/1.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-alert-dialog/1.1.6/1.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-aspect-ratio](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.2` -> `1.1.3`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-aspect-ratio/1.1.2/1.1.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-aspect-ratio/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-aspect-ratio/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-aspect-ratio/1.1.2/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-aspect-ratio/1.1.2/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-avatar](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.3` -> `1.1.4`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-avatar/1.1.3/1.1.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-avatar/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-avatar/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-avatar/1.1.3/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-avatar/1.1.3/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-checkbox](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.4` -> `1.1.5`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-checkbox/1.1.4/1.1.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-checkbox/1.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-checkbox/1.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-checkbox/1.1.4/1.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-checkbox/1.1.4/1.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-collapsible](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.3` -> `1.1.4`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-collapsible/1.1.3/1.1.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-collapsible/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-collapsible/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-collapsible/1.1.3/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-collapsible/1.1.3/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-context-menu](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`2.2.6` -> `2.2.7`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-context-menu/2.2.6/2.2.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-context-menu/2.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-context-menu/2.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-context-menu/2.2.6/2.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-context-menu/2.2.6/2.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-dialog](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.6` -> `1.1.7`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-dialog/1.1.6/1.1.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-dialog/1.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-dialog/1.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-dialog/1.1.6/1.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-dialog/1.1.6/1.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-dropdown-menu](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`2.1.6` -> `2.1.7`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-dropdown-menu/2.1.6/2.1.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-dropdown-menu/2.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-dropdown-menu/2.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-dropdown-menu/2.1.6/2.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-dropdown-menu/2.1.6/2.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-hover-card](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.6` -> `1.1.7`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-hover-card/1.1.6/1.1.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-hover-card/1.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-hover-card/1.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-hover-card/1.1.6/1.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-hover-card/1.1.6/1.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-label](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`2.1.2` -> `2.1.3`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-label/2.1.2/2.1.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-label/2.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-label/2.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-label/2.1.2/2.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-label/2.1.2/2.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-menubar](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.6` -> `1.1.7`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-menubar/1.1.6/1.1.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-menubar/1.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-menubar/1.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-menubar/1.1.6/1.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-menubar/1.1.6/1.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-navigation-menu](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.2.5` -> `1.2.6`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-navigation-menu/1.2.5/1.2.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-navigation-menu/1.2.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-navigation-menu/1.2.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-navigation-menu/1.2.5/1.2.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-navigation-menu/1.2.5/1.2.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-popover](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.6` -> `1.1.7`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-popover/1.1.6/1.1.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-popover/1.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-popover/1.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-popover/1.1.6/1.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-popover/1.1.6/1.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-progress](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.2` -> `1.1.3`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-progress/1.1.2/1.1.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-progress/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-progress/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-progress/1.1.2/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-progress/1.1.2/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-radio-group](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.2.3` -> `1.2.4`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-radio-group/1.2.3/1.2.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-radio-group/1.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-radio-group/1.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-radio-group/1.2.3/1.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-radio-group/1.2.3/1.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-scroll-area](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.2.3` -> `1.2.4`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-scroll-area/1.2.3/1.2.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-scroll-area/1.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-scroll-area/1.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-scroll-area/1.2.3/1.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-scroll-area/1.2.3/1.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-select](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`2.1.6` -> `2.1.7`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-select/2.1.6/2.1.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-select/2.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-select/2.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-select/2.1.6/2.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-select/2.1.6/2.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-separator](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.2` -> `1.1.3`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-separator/1.1.2/1.1.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-separator/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-separator/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-separator/1.1.2/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-separator/1.1.2/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-slider](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.2.3` -> `1.2.4`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-slider/1.2.3/1.2.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-slider/1.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-slider/1.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-slider/1.2.3/1.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-slider/1.2.3/1.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-slot](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.2` -> `1.2.0`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-slot/1.1.2/1.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-slot/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-slot/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-slot/1.1.2/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-slot/1.1.2/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-switch](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.3` -> `1.1.4`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-switch/1.1.3/1.1.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-switch/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-switch/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-switch/1.1.3/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-switch/1.1.3/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-tabs](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.3` -> `1.1.4`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-tabs/1.1.3/1.1.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-tabs/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-tabs/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-tabs/1.1.3/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-tabs/1.1.3/1.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-toast](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.2.6` -> `1.2.7`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-toast/1.2.6/1.2.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-toast/1.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-toast/1.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-toast/1.2.6/1.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-toast/1.2.6/1.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-toggle](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.2` -> `1.1.3`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-toggle/1.1.2/1.1.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-toggle/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-toggle/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-toggle/1.1.2/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-toggle/1.1.2/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-toggle-group](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.2` -> `1.1.3`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-toggle-group/1.1.2/1.1.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-toggle-group/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-toggle-group/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-toggle-group/1.1.2/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-toggle-group/1.1.2/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-toolbar](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.2` -> `1.1.3`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-toolbar/1.1.2/1.1.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-toolbar/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-toolbar/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-toolbar/1.1.2/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-toolbar/1.1.2/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@radix-ui/react-tooltip](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.8` -> `1.2.0`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-tooltip/1.1.8/1.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-tooltip/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-tooltip/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-tooltip/1.1.8/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-tooltip/1.1.8/1.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@radix-ui/react-visually-hidden](https://radix-ui.com/primitives) ([source](https://redirect.github.com/radix-ui/primitives)) | [`1.1.2` -> `1.1.3`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-visually-hidden/1.1.2/1.1.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-visually-hidden/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-visually-hidden/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-visually-hidden/1.1.2/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-visually-hidden/1.1.2/1.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | 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.35` -> `0.0.36`](https://renovatebot.com/diffs/npm/@react-email%2fcomponents/0.0.35/0.0.36) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@react-email%2fcomponents/0.0.36?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@react-email%2fcomponents/0.0.36?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@react-email%2fcomponents/0.0.35/0.0.36?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@react-email%2fcomponents/0.0.35/0.0.36?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@sentry/electron](https://redirect.github.com/getsentry/sentry-electron) | [`6.4.0` -> `6.5.0`](https://renovatebot.com/diffs/npm/@sentry%2felectron/6.4.0/6.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2felectron/6.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2felectron/6.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2felectron/6.4.0/6.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2felectron/6.4.0/6.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://redirect.github.com/getsentry/sentry-javascript)) | [`9.11.0` -> `9.12.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/9.11.0/9.12.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/9.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/9.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/9.11.0/9.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/9.11.0/9.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://redirect.github.com/getsentry/sentry-javascript)) | [`9.11.0` -> `9.12.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/9.11.0/9.12.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/9.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/9.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/9.11.0/9.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/9.11.0/9.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@swc/core](https://swc.rs) ([source](https://redirect.github.com/swc-project/swc)) | [`1.11.16` -> `1.11.18`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.11.16/1.11.18) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.11.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fcore/1.11.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fcore/1.11.16/1.11.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.11.16/1.11.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@tailwindcss/postcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss)) | [`4.1.2` -> `4.1.3`](https://renovatebot.com/diffs/npm/@tailwindcss%2fpostcss/4.1.2/4.1.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2fpostcss/4.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tailwindcss%2fpostcss/4.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tailwindcss%2fpostcss/4.1.2/4.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2fpostcss/4.1.2/4.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@tailwindcss/vite](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite)) | [`4.1.2` -> `4.1.3`](https://renovatebot.com/diffs/npm/@tailwindcss%2fvite/4.1.2/4.1.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2fvite/4.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tailwindcss%2fvite/4.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tailwindcss%2fvite/4.1.2/4.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2fvite/4.1.2/4.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@types/react-dom](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-dom) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom)) | [`19.1.1` -> `19.1.2`](https://renovatebot.com/diffs/npm/@types%2freact-dom/19.1.1/19.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact-dom/19.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact-dom/19.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact-dom/19.1.1/19.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact-dom/19.1.1/19.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [ai](https://sdk.vercel.ai/docs) ([source](https://redirect.github.com/vercel/ai)) | [`4.2.11` -> `4.3.4`](https://renovatebot.com/diffs/npm/ai/4.2.11/4.3.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/ai/4.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ai/4.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ai/4.2.11/4.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ai/4.2.11/4.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [bullmq](https://bullmq.io/) ([source](https://redirect.github.com/taskforcesh/bullmq)) | [`5.46.1` -> `5.48.0`](https://renovatebot.com/diffs/npm/bullmq/5.46.1/5.48.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/bullmq/5.48.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/bullmq/5.48.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/bullmq/5.46.1/5.48.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/bullmq/5.46.1/5.48.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [cc](https://redirect.github.com/rust-lang/cc-rs) | `1.2.17` -> `1.2.18` | [![age](https://developer.mend.io/api/mc/badges/age/crate/cc/1.2.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/cc/1.2.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/cc/1.2.17/1.2.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/cc/1.2.17/1.2.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | build-dependencies | patch |
| [electron](https://redirect.github.com/electron/electron) | [`35.1.3` -> `35.1.5`](https://renovatebot.com/diffs/npm/electron/35.1.3/35.1.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/35.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/35.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/35.1.3/35.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/35.1.3/35.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [embla-carousel-react](https://www.embla-carousel.com) ([source](https://redirect.github.com/davidjerleke/embla-carousel)) | [`8.5.2` -> `8.6.0`](https://renovatebot.com/diffs/npm/embla-carousel-react/8.5.2/8.6.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/embla-carousel-react/8.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/embla-carousel-react/8.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/embla-carousel-react/8.5.2/8.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/embla-carousel-react/8.5.2/8.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [http-proxy-middleware](https://redirect.github.com/chimurai/http-proxy-middleware) | [`3.0.3` -> `3.0.4`](https://renovatebot.com/diffs/npm/http-proxy-middleware/3.0.3/3.0.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/http-proxy-middleware/3.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/http-proxy-middleware/3.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/http-proxy-middleware/3.0.3/3.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/http-proxy-middleware/3.0.3/3.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [katex](https://katex.org) ([source](https://redirect.github.com/KaTeX/KaTeX)) | [`0.16.21` -> `0.16.22`](https://renovatebot.com/diffs/npm/katex/0.16.21/0.16.22) | [![age](https://developer.mend.io/api/mc/badges/age/npm/katex/0.16.22?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/katex/0.16.22?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/katex/0.16.21/0.16.22?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/katex/0.16.21/0.16.22?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [marked](https://marked.js.org) ([source](https://redirect.github.com/markedjs/marked)) | [`15.0.7` -> `15.0.8`](https://renovatebot.com/diffs/npm/marked/15.0.7/15.0.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/marked/15.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/marked/15.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/marked/15.0.7/15.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/marked/15.0.7/15.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [mimalloc](https://redirect.github.com/purpleprotocol/mimalloc_rust) | `0.1.45` -> `0.1.46` | [![age](https://developer.mend.io/api/mc/badges/age/crate/mimalloc/0.1.46?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/mimalloc/0.1.46?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/mimalloc/0.1.45/0.1.46?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/mimalloc/0.1.45/0.1.46?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [react-day-picker](https://daypicker.dev) ([source](https://redirect.github.com/gpbl/react-day-picker)) | [`9.6.4` -> `9.6.5`](https://renovatebot.com/diffs/npm/react-day-picker/9.6.4/9.6.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-day-picker/9.6.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-day-picker/9.6.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-day-picker/9.6.4/9.6.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-day-picker/9.6.4/9.6.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [react-email](https://redirect.github.com/resend/react-email) ([source](https://redirect.github.com/resend/react-email/tree/HEAD/packages/react-email)) | [`4.0.3` -> `4.0.7`](https://renovatebot.com/diffs/npm/react-email/4.0.3/4.0.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-email/4.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-email/4.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-email/4.0.3/4.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-email/4.0.3/4.0.7?slim=true)](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.2.1` -> `3.2.2`](https://renovatebot.com/diffs/npm/shiki/3.2.1/3.2.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/shiki/3.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/shiki/3.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/shiki/3.2.1/3.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/shiki/3.2.1/3.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [tailwind-merge](https://redirect.github.com/dcastil/tailwind-merge) | [`3.1.0` -> `3.2.0`](https://renovatebot.com/diffs/npm/tailwind-merge/3.1.0/3.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tailwind-merge/3.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tailwind-merge/3.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tailwind-merge/3.1.0/3.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwind-merge/3.1.0/3.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [tailwindcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss)) | [`4.1.2` -> `4.1.3`](https://renovatebot.com/diffs/npm/tailwindcss/4.1.2/4.1.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/4.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tailwindcss/4.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tailwindcss/4.1.2/4.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/4.1.2/4.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [tailwindcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss)) | [`4.1.2` -> `4.1.3`](https://renovatebot.com/diffs/npm/tailwindcss/4.1.2/4.1.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/4.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tailwindcss/4.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tailwindcss/4.1.2/4.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/4.1.2/4.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [typedoc](https://typedoc.org) ([source](https://redirect.github.com/TypeStrong/TypeDoc)) | [`0.28.1` -> `0.28.2`](https://renovatebot.com/diffs/npm/typedoc/0.28.1/0.28.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typedoc/0.28.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typedoc/0.28.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typedoc/0.28.1/0.28.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typedoc/0.28.1/0.28.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [typedoc-plugin-markdown](https://typedoc-plugin-markdown.org) ([source](https://redirect.github.com/typedoc2md/typedoc-plugin-markdown/tree/HEAD/packages/typedoc-plugin-markdown)) | [`4.6.1` -> `4.6.2`](https://renovatebot.com/diffs/npm/typedoc-plugin-markdown/4.6.1/4.6.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typedoc-plugin-markdown/4.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typedoc-plugin-markdown/4.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typedoc-plugin-markdown/4.6.1/4.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typedoc-plugin-markdown/4.6.1/4.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [typescript](https://www.typescriptlang.org/) ([source](https://redirect.github.com/microsoft/TypeScript)) | [`5.8.2` -> `5.8.3`](https://renovatebot.com/diffs/npm/typescript/5.8.2/5.8.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/5.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript/5.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript/5.8.2/5.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/5.8.2/5.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [typescript](https://www.typescriptlang.org/) ([source](https://redirect.github.com/microsoft/TypeScript)) | [`5.8.2` -> `5.8.3`](https://renovatebot.com/diffs/npm/typescript/5.8.2/5.8.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/5.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript/5.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript/5.8.2/5.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/5.8.2/5.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)) | [`8.29.0` -> `8.29.1`](https://renovatebot.com/diffs/npm/typescript-eslint/8.29.0/8.29.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typescript-eslint/8.29.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript-eslint/8.29.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript-eslint/8.29.0/8.29.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript-eslint/8.29.0/8.29.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [vite](https://vite.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`6.2.5` -> `6.2.6`](https://renovatebot.com/diffs/npm/vite/6.2.5/6.2.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/6.2.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/6.2.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/6.2.5/6.2.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/6.2.5/6.2.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [vite](https://vite.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`6.2.5` -> `6.2.6`](https://renovatebot.com/diffs/npm/vite/6.2.5/6.2.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/6.2.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/6.2.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/6.2.5/6.2.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/6.2.5/6.2.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [webpack](https://redirect.github.com/webpack/webpack) | [`5.98.0` -> `5.99.5`](https://renovatebot.com/diffs/npm/webpack/5.98.0/5.99.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/webpack/5.99.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/webpack/5.99.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/webpack/5.98.0/5.99.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/webpack/5.98.0/5.99.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [webpack](https://redirect.github.com/webpack/webpack) | [`5.98.0` -> `5.99.5`](https://renovatebot.com/diffs/npm/webpack/5.98.0/5.99.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/webpack/5.99.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/webpack/5.99.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/webpack/5.98.0/5.99.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/webpack/5.98.0/5.99.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [yarn](https://redirect.github.com/yarnpkg/berry) ([source](https://redirect.github.com/yarnpkg/berry/tree/HEAD/packages/yarnpkg-cli)) | [`4.8.1` -> `4.9.0`](https://renovatebot.com/diffs/npm/yarn/4.8.1/4.9.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@yarnpkg%2fcli/4.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@yarnpkg%2fcli/4.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@yarnpkg%2fcli/4.8.1/4.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@yarnpkg%2fcli/4.8.1/4.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | packageManager | minor |
| [androidx.compose.material3:material3](https://developer.android.com/jetpack/androidx/releases/compose-material3#1.3.2) ([source](https://cs.android.com/androidx/platform/frameworks/support)) | `1.3.1` -> `1.3.2` | [![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.compose.material3:material3/1.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.compose.material3:material3/1.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.compose.material3:material3/1.3.1/1.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.compose.material3:material3/1.3.1/1.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://redirect.github.com/Kotlin/kotlinx.coroutines) | `1.10.1` -> `1.10.2` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-coroutines-core/1.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlinx:kotlinx-coroutines-core/1.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlinx:kotlinx-coroutines-core/1.10.1/1.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlinx:kotlinx-coroutines-core/1.10.1/1.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://redirect.github.com/Kotlin/kotlinx.coroutines) | `1.10.1` -> `1.10.2` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.10.1/1.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlinx:kotlinx-coroutines-android/1.10.1/1.10.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [com.android.tools.build:gradle](https://developer.android.com/studio/build) ([source](https://android.googlesource.com/platform/tools/base)) | `8.7.2` -> `8.9.1` | [![age](https://develop
2025-04-10 07:51:31 +00:00
JimmFly
eb664f3016 fix(core): improve share menu width and member name overflow handling (#11527) 2025-04-10 15:33:12 +08:00
liuyi
bde9abf664 chore: fix github codesapce init (#11590) 2025-04-10 07:33:02 +00:00
forehalo
8e1cbc4c5b test(server): do not consume job in test (#11592) 2025-04-10 07:02:07 +00:00
donteatfriedrice
dbb8451adb test(core): add e2e test for share page copy function (#11555)
related pr https://github.com/toeverything/AFFiNE/pull/11538
To close [BS-1915](https://linear.app/affine-design/issue/BS-1915/public-page-页面应该允许选中和复制内容)
2025-04-10 06:34:15 +00:00
liuyi
e376aa57c5 chore: bring treeshake back (#11577) 2025-04-10 14:12:36 +08:00
Flrande
0ce5a9544b fix(editor): update doc role instead of workspace role when invite in mention panel (#11588)
Close [BS-3048: mention 时检测的是文档权限不是 workspace 权限](https://linear.app/affine-design/issue/BS-3048/mention-时检测的是文档权限不是-workspace-权限)
2025-04-10 05:52:38 +00:00
donteatfriedrice
0302bd43cb fix(editor): should preserve indentation when pasting code with spaces into code block (#11587)
Close [BS-3087](https://linear.app/affine-design/issue/BS-3087/粘贴内容到-code-block-缩进会丢)
2025-04-10 04:48:08 +00:00
darkskygit
5199a74426 feat(server): migrate copilot provider sdk (#11584)
fix AI-15
fix AI-16
2025-04-10 04:14:09 +00:00
darkskygit
0cf8e078e2 feat(server): enable large refs support (#11504) 2025-04-10 03:52:28 +00:00
EYHN
62b9422834 feat(infra): op call with signal (#11567) 2025-04-10 03:38:49 +00:00
CatsJuice
bf293d8dca fix(core): update background of sign-in button and input (#11118) 2025-04-10 03:24:37 +00:00
DarkSky
d70588f5b7 ci(server): increase test parallelism (#11583) 2025-04-10 11:24:28 +08:00
fundon
bb79781dd8 fix(editor): should clear selection when switching doc mode (#11545)
Closes: [BS-3050](https://linear.app/affine-design/issue/BS-3050/切换模式时,清除选区)
2025-04-10 03:10:50 +00:00
EYHN
e7d4684531 feat(core): hide sidebar when sidebar is not visible (#11560) 2025-04-10 02:56:11 +00:00
forehalo
cdbcb8a42a chore: adjust webpack output (#11573)
- automatically split i18n resources into i18n-langs.{lang} naming
- force worker resources to be bundled in one file
2025-04-10 01:48:28 +00:00
EYHN
1bd31b67cd feat(core): improve priority queue performance (#11559) 2025-04-09 14:56:32 +00:00
JimmFly
e58f230354 fix(core): unexpected style of redeem code button (#11540)
close AF-2482
2025-04-09 13:57:11 +00:00
forehalo
4e56a8447b fix(core): missing i18n and button margin (#11568)
close AF-2486
2025-04-09 13:40:01 +00:00
darkskygit
5808b3c8df chore(server): upgrade models (#11576) 2025-04-09 13:25:13 +00:00
darkskygit
a1b518c6f4 chore: temporarily fix response (#11574) 2025-04-09 12:44:38 +00:00
pengx17
34b6e7ef88 feat(core): support splitting audio blobs before submitting to backend (#11572)
fix AF-2484
2025-04-09 12:44:37 +00:00
zzj3720
ba875a120f feat(editor): support image preview for attachment columns (#11544)
close: BS-2634
2025-04-09 10:50:41 +00:00
pengx17
c09bd8c422 chore(electron): self-hosted mixpanel flag (#11561)
fix AF-2341

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/a9a2f71d-7a1f-4718-9ae7-28192c640e85.png)
2025-04-09 08:34:27 +00:00
darkskygit
15abb78a6b feat(server): support sliced audio (#11562)
fix AF-2479
2025-04-09 08:21:19 +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
darkskygit
9cf5e034bb test(server): add transcript e2e (#11557) 2025-04-09 07:51:17 +00:00
akumatus
3bf3068650 fix(core): after clearing the history, new chat will report an error (#11549)
Close [BS-3025](https://linear.app/affine-design/issue/BS-3025)
2025-04-09 07:22:31 +00:00
akumatus
82ade96b3f fix(core): online search button status not updated to the search prompt (#11542)
Close [BS-3079](https://linear.app/affine-design/issue/BS-3079).
2025-04-09 06:51:35 +00:00
akumatus
c9790ed854 refactor(core): ai session create (#11539)
Close [BS-3079](https://linear.app/affine-design/issue/BS-3079).

- Separate the create session logic from the `createMessage function`.
- Ensure the session is created before executing any chat or actions.
- Convert the `AIActions` into asynchronous functions.
- Transfer the update prompt name logic to the chat action.
- Introduce a networkSearch field in `AITextActionOptions`.
- Eliminate the redundant `LAST_ROOT_SESSION_ID`.
2025-04-09 06:18:57 +00:00
akumatus
1e9561b46c fix(core): retry on chat-block, view components not update as expected (#11553)
Close [BS-3026](https://linear.app/affine-design/issue/BS-3026)
2025-04-09 03:30:19 +00:00
Saul-Mirone
be3024c0c1 chore(editor): remove unused inner modal widget (#11552) 2025-04-09 02:55:00 +00:00
pengx17
f0aafda509 fix(electron): cannot restart recording the same app again (#11498)
fix AF-2455
2025-04-09 02:37:50 +00:00
fundon
c57f41805f fix(editor): should auto close dropdown menus on toolbar (#11522)
Closes: [BS-2524](https://linear.app/affine-design/issue/BS-2524/切换-block-后,刷新-toolbar-时,应该自动关闭已经打开的-dropdown)
2025-04-09 01:29:44 +00:00
darkskygit
984a6763ae chore(server): try repair text in structured outputs (#11543) 2025-04-08 16:48:22 +00:00
Saul-Mirone
dd1cf14069 refactor(editor): cleanup duplicated code (#11548) 2025-04-08 16:35:25 +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
donteatfriedrice
e4e3d8ef59 fix(editor): paste to code block should delete selected text (#11546)
Close [BS-3064](https://linear.app/affine-design/issue/BS-3064/fix-bug-pasting-in-code-block-does-not-replace-text)
2025-04-08 12:37:36 +00:00
Saul-Mirone
1081d6281f feat(editor): adjust url input ui (#11535)
Closes: BS-1074
2025-04-08 11:05:24 +00:00
L-Sun
3820186512 fix(editor): incorrect brush bound with rotation and line width (#11524)
This transfered PR from [BS/#9058](https://github.com/toeverything/blocksuite/pull/9058) fixes an issue where the selection rectangle of a brush element was incorrect after resizing and rotating.
2025-04-08 10:48:12 +00:00
L-Sun
7d4bb5150e chore(editor): improve bookmark UI&UX (#11525)
Close [BS-2804](https://linear.app/affine-design/issue/BS-2804/[ui-bug]-link-card-view-ui-布局错了,url-应该是-text-secondary-color)
Close [BS-3034](https://linear.app/affine-design/issue/BS-3034/link-card-view-链接需要-fix-在底部)

### What Changes
- remove url selected color
- improve url click area by moving `@click` callback to inner small url container
- improve layout
2025-04-08 10:34:36 +00:00
pengx17
a2125787c2 fix(electron): use another origin for popup to disable zoom in/out issue of the popup window (#11506)
fix AF-2473
2025-04-08 10:18:09 +00:00
pengx17
93d8e22b07 feat(electron): meeting recording permissions checks (#11505)
fix AF-2472, AF-2446

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/536f8412-cbf1-47ad-a8a0-0b86e97521d7.png)

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/b49a64cc-d288-49c9-8382-e4e8b5806850.png)
2025-04-08 10:18:08 +00:00
Saul-Mirone
780c35eabe fix(editor): prevent Tab key propagation outside editor (#11531)
Closes: BS-2964
2025-04-08 10:03:06 +00:00
CatsJuice
280227fa5f feat(editor): change note cursor to crosshair (#11499) 2025-04-08 09:49:29 +00:00
renovate[bot]
0887c1864c chore: bump up Rust crate tokio to v1.44.2 [SECURITY] (#11521)
Co-authored-by: renovate <29139614+renovate@users.noreply.github.com>
2025-04-08 17:47:36 +08:00
liuyi
1b858e1e6c chore: wrong $shcmea field in config example (#11526) 2025-04-08 17:46:35 +08:00
Flrande
8c87d2a39e fix(editor): disable mention node select (#11512)
Close [BS-3011: inline at 有时候会进入可以选中的状态](https://linear.app/affine-design/issue/BS-3011/inline-at-有时候会进入可以选中的状态)
2025-04-08 09:31:19 +00:00
Saul-Mirone
238ec59dd2 fix(editor): image icon color (#11536)
Closes: BS-2166
2025-04-08 09:18:26 +00:00
Saul-Mirone
ca75162fc9 fix(editor): text overflow in journal card (#11537)
Closes: BS-3000
2025-04-08 09:04:48 +00:00
Saul-Mirone
bda5562f90 fix(editor): allow copy in readonly mode (#11538) 2025-04-08 08:52:20 +00:00
donteatfriedrice
b8e7ca3214 test(editor): fix flaky embed iframe e2e test (#11530) 2025-04-08 08:37:12 +00:00
liuyi
ebdeaf3783 chore(core): reorg polyfill (#11528) 2025-04-08 14:59:54 +08:00
Saul-Mirone
d1b82f0c58 fix: sentry-6337909140 (#11534)
Closes: BS-3076
2025-04-08 06:44:37 +00:00
Saul-Mirone
a28b8b1b11 fix: sentry-6451187280 (#11533)
Closes: BS-3075
2025-04-08 06:06:16 +00:00
darkskygit
558e84138c chore: remove lame encoder (#11529) 2025-04-08 05:02:30 +00:00
yoyoyohamapi
49c6ad7c04 feat(core): ai panel adaptation for edgeless theme (#11509)
### TL;DR

AI panel adaptation for Edgeless theme

> CLOSE BS-3017

![截屏2025-04-07 17.30.48.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/MyktQ6Qwc7H6TiRCFoYN/a2e83338-d795-4b16-b2a8-bdd4f922a4c3.png)
2025-04-08 02:29:57 +00:00
liuyi
646182ea2a fix(server): duplicate registered otel providers (#11513) 2025-04-08 10:25:36 +08:00
fundon
e927d02c96 fix(editor): improve link popup positioning with autoUpdate (#11510)
Closes: [BS-3038](https://linear.app/affine-design/issue/BS-3038/遇到一个新bug-抽象的一p)

Maybe the `mock selection widget` is needed.
2025-04-07 13:33:11 +00:00
Saul-Mirone
1f45cc5dec refactor(editor): unify directories naming (#11516)
**Directory Structure Changes**

- Renamed multiple block-related directories by removing the "block-" prefix:
  - `block-attachment` → `attachment`
  - `block-bookmark` → `bookmark`
  - `block-callout` → `callout`
  - `block-code` → `code`
  - `block-data-view` → `data-view`
  - `block-database` → `database`
  - `block-divider` → `divider`
  - `block-edgeless-text` → `edgeless-text`
  - `block-embed` → `embed`
2025-04-07 12:34:40 +00:00
darkskygit
e1bd2047c4 feat(server): add table support for doc parse (#11508)
fix AF-2478
2025-04-07 09:59:20 +00:00
donteatfriedrice
43809838ef test(editor): add embed iframe block e2e tests (#11502)
Close [BS-2669](https://linear.app/affine-design/issue/BS-2669/iframe-embed-block-添加测试)
2025-04-07 09:43:36 +00:00
darkskygit
3792464fa0 fix(server): early exit in doc parse (#11507) 2025-04-07 09:30:06 +00:00
JimmFly
af48df230d feat(core): add docRole to inviteUserDocRole tracking event (#11501)
close AF-2476
2025-04-07 08:51:45 +00:00
EYHN
f93acc6635 fix(android): fix uniffi bindgen (#11500) 2025-04-07 08:37:35 +00:00
forehalo
40f218c898 chore: set base version to 0.21 2025-04-07 16:10:32 +08:00
pengx17
952f1878a6 fix(core): add option to disable middle click paste behavior on linux (#11496)
fix BS-3028
2025-04-07 07:01:37 +00:00
fundon
6e10fe6205 fix(editor): popover style on link popup (#11495)
Closes: [BS-3039](https://linear.app/affine-design/issue/BS-3039/这个输入框样式也g了)
2025-04-07 06:43:37 +00:00
fundon
eb0bcd9b99 fix(editor): improve menu content UX on toolbar (#11491)
* Added scrollbar style

![Screenshot 2025-04-07 at 11.50.19.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/8ypiIKZXudF5a0tIgIzf/c2a44dcc-7f24-44d5-a855-e2c1671e85f9.png)

* Used `padding` instead of `offset`
2025-04-07 06:30:07 +00:00
pengx17
92240fc1a2 chore(electron): add community link for meeting feature (#11494)
fix AF-2471

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/024ac070-fbd8-4ab0-be93-6670cbee587e.png)
2025-04-07 06:15:50 +00:00
pengx17
fddf68f061 fix(core): stop media when audio block is removed (#11492) 2025-04-07 06:15:50 +00:00
L-Sun
4e33059d58 fix(editor): remove copy-as-png from toolbar of surface-ref (#11493) 2025-04-07 06:03:49 +00:00
darkskygit
ea9de7b542 feat(server): add transcript block indexing (#11487)
fix AF-2469
2025-04-07 05:51:06 +00:00
Saul-Mirone
c306d98370 fix(editor): range sync in lit portal (#11490)
Closes: BS-3032
2025-04-07 05:38:20 +00:00
JimmFly
53dff7a158 fix(admin): adjust available upgrade button style (#11489) 2025-04-07 05:25:34 +00:00
Saul-Mirone
8c473cf685 fix(editor): adjust block meta info (#11488)
Closes: BS-2901
2025-04-07 05:12:04 +00:00
yoyoyohamapi
da580076b0 fix(core): cannot select text in electron (#11486) 2025-04-07 03:19:34 +00:00
fundon
8a13eca271 fix(editor): should focus on input of popover on toolbar (#11485)
Related to: https://github.com/toeverything/AFFiNE/pull/11429
2025-04-07 03:04:34 +00:00
donteatfriedrice
568a390b75 feat(editor): support markdown adapter preprocessed with latex delimiters (#11431)
To close [BS-2870](https://linear.app/affine-design/issue/BS-2870/支持识别-和-[-包裹内容为公式)

## Add Markdown Preprocessor Extension and Enhanced LaTeX Support

### Markdown Preprocessor Extension
This PR introduces a new preprocessor extension for Markdown adapters that allows preprocessing of content before conversion:

Adds a new PreprocessorManager for handling text transformations
Introduces extensible preprocessor interface that supports different processing levels (block/slice/doc)

Integrates preprocessor extension into the existing Markdown adapter workflow

### LaTeX Support Enhancement
Extends LaTeX support to handle both traditional and alternative syntax:
Adds support for backslash LaTeX syntax:

Block math: ```\[...\] ``` alongside existing ```$$...$$```
Inline math: ```\(...\) ``` alongside existing ```$...$```

Implements LaTeX preprocessor to standardize syntax before conversion

Updates tests to cover both syntax variants
2025-04-07 02:18:04 +00:00
liuyi
e376992ccf chore(server): default DEPLOYMENT_TYPE should be selfhosted (#11484) 2025-04-07 10:05:14 +08:00
Saul-Mirone
854569af2d refactor(editor): remove lasso tool (#11481) 2025-04-07 01:12:28 +00:00
Saul-Mirone
bb1270061a feat(editor): gfx template package (#11480) 2025-04-06 12:24:13 +00:00
Saul-Mirone
41499c1cd6 refactor(editor): merge implementation of createTemplateJob (#11474) 2025-04-05 12:59:48 +00:00
Saul-Mirone
aed7f40568 refactor(editor): improve element adapters (#11473) 2025-04-05 09:40:13 +00:00
Saul-Mirone
0fbca31c27 refactor(editor): improve edgeless clipboard config (#11472) 2025-04-05 03:48:26 +00:00
renovate
96e860caf3 chore: Lock file maintenance (#10724)
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - "* 0-3 * * 1" (UTC), 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xODUuNCIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-04 15:10:05 +00:00
Saul-Mirone
2a1306c58c refactor(editor): separate the element renders (#11461) 2025-04-04 13:09:46 +00:00
Saul-Mirone
5a1106fb88 refactor(editor): extract brush element renderer (#11460) 2025-04-04 13:09:45 +00:00
Saul-Mirone
138e7f60de refactor(editor): extensionalize surface canvas renderer (#11456) 2025-04-04 13:09:45 +00:00
JimmFly
3ecdc377fe fix(admin): unable to log into admin panel (#11451) 2025-04-04 10:39:20 +00:00
LongYinan
eed26b1601 ci: pick blaze/macos-14 and namespace runner randomly (#11465) 2025-04-04 18:38:05 +08:00
renovate[bot]
0f7a739b3b chore: bump up all non-major dependencies (#11351)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: LongYinan <lynweklm@gmail.com>
2025-04-04 18:37:22 +08:00
renovate
a76414066a chore: bump up rustc version to v1.86.0 (#11464)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [rustc](https://redirect.github.com/rust-lang/rust) | minor | `1.85.1` -> `1.86.0` |

---

### Release Notes

<details>
<summary>rust-lang/rust (rustc)</summary>

### [`v1.86.0`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1860-2025-04-03)

[Compare Source](https://redirect.github.com/rust-lang/rust/compare/1.85.1...1.86.0)

\==========================

<a id="1.86.0-Language"></a>

## Language

-   [Stabilize upcasting trait objects to supertraits.](https://redirect.github.com/rust-lang/rust/pull/134367)
-   [Allow safe functions to be marked with the `#[target_feature]` attribute.](https://redirect.github.com/rust-lang/rust/pull/134090)
-   [The `missing_abi` lint now warns-by-default.](https://redirect.github.com/rust-lang/rust/pull/132397)
-   Rust now lints about double negations, to catch cases that might have intended to be a prefix decrement operator (`--x`) as written in other languages. This was previously a clippy lint, `clippy::double_neg`, and is [now available directly in Rust as `double_negations`.](https://redirect.github.com/rust-lang/rust/pull/126604)
-   [More pointers are now detected as definitely not-null based on their alignment in const eval.](https://redirect.github.com/rust-lang/rust/pull/133700)
-   [Empty `repr()` attribute applied to invalid items are now correctly rejected.](https://redirect.github.com/rust-lang/rust/pull/133925)
-   [Inner attributes `#![test]` and `#![rustfmt::skip]` are no longer accepted in more places than intended.](https://redirect.github.com/rust-lang/rust/pull/134276)

<a id="1.86.0-Compiler"></a>

## Compiler

-   [Debug-assert that raw pointers are non-null on access.](https://redirect.github.com/rust-lang/rust/pull/134424)
-   [Change `-O` to mean `-C opt-level=3` instead of `-C opt-level=2` to match Cargo's defaults.](https://redirect.github.com/rust-lang/rust/pull/135439)
-   [Fix emission of `overflowing_literals` under certain macro environments.](https://redirect.github.com/rust-lang/rust/pull/136393)

<a id="1.86.0-Platform-Support"></a>

## Platform Support

-   [Replace `i686-unknown-redox` target with `i586-unknown-redox`.](https://redirect.github.com/rust-lang/rust/pull/136698)
-   [Increase baseline CPU of `i686-unknown-hurd-gnu` to Pentium 4.](https://redirect.github.com/rust-lang/rust/pull/136700)
-   New tier 3 targets:
    -   [`{aarch64-unknown,x86_64-pc}-nto-qnx710_iosock`](https://redirect.github.com/rust-lang/rust/pull/133631).
        For supporting Neutrino QNX 7.1 with `io-socket` network stack.
    -   [`{aarch64-unknown,x86_64-pc}-nto-qnx800`](https://redirect.github.com/rust-lang/rust/pull/133631).
        For supporting Neutrino QNX 8.0 (`no_std`-only).
    -   [`{x86_64,i686}-win7-windows-gnu`](https://redirect.github.com/rust-lang/rust/pull/134609).
        Intended for backwards compatibility with Windows 7. `{x86_64,i686}-win7-windows-msvc` are the Windows MSVC counterparts that already exist as Tier 3 targets.
    -   [`amdgcn-amd-amdhsa`](https://redirect.github.com/rust-lang/rust/pull/134740).
    -   [`x86_64-pc-cygwin`](https://redirect.github.com/rust-lang/rust/pull/134999).
    -   [`{mips,mipsel}-mti-none-elf`](https://redirect.github.com/rust-lang/rust/pull/135074).
        Initial bare-metal support.
    -   [`m68k-unknown-none-elf`](https://redirect.github.com/rust-lang/rust/pull/135085).
    -   [`armv7a-nuttx-{eabi,eabihf}`, `aarch64-unknown-nuttx`, and `thumbv7a-nuttx-{eabi,eabihf}`](https://redirect.github.com/rust-lang/rust/pull/135757).

Refer to Rust's \[platform support page]\[platform-support-doc]
for more information on Rust's tiered platform support.

<a id="1.86.0-Libraries"></a>

## Libraries

-   The type of `FromBytesWithNulError` in `CStr::from_bytes_with_nul(bytes: &[u8]) -> Result<&Self, FromBytesWithNulError>` was [changed from an opaque struct to an enum](https://redirect.github.com/rust-lang/rust/pull/134143), allowing users to examine why the conversion failed.
-   [Remove `RustcDecodable` and `RustcEncodable`.](https://redirect.github.com/rust-lang/rust/pull/134272)
-   [Deprecate libtest's `--logfile` option.](https://redirect.github.com/rust-lang/rust/pull/134283)
-   [On recent versions of Windows, `std::fs::remove_file` will now remove read-only files.](https://redirect.github.com/rust-lang/rust/pull/134679)

<a id="1.86.0-Stabilized-APIs"></a>

## Stabilized APIs

-   [`{float}::next_down`](https://doc.rust-lang.org/stable/std/primitive.f64.html#method.next_down)
-   [`{float}::next_up`](https://doc.rust-lang.org/stable/std/primitive.f64.html#method.next_up)
-   [`<[_]>::get_disjoint_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.get_disjoint_mut)
-   [`<[_]>::get_disjoint_unchecked_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.get_disjoint_unchecked_mut)
-   [`slice::GetDisjointMutError`](https://doc.rust-lang.org/stable/std/slice/enum.GetDisjointMutError.html)
-   [`HashMap::get_disjoint_mut`](https://doc.rust-lang.org/std/collections/hash_map/struct.HashMap.html#method.get_disjoint_mut)
-   [`HashMap::get_disjoint_unchecked_mut`](https://doc.rust-lang.org/std/collections/hash_map/struct.HashMap.html#method.get_disjoint_unchecked_mut)
-   [`NonZero::count_ones`](https://doc.rust-lang.org/stable/std/num/struct.NonZero.html#method.count_ones)
-   [`Vec::pop_if`](https://doc.rust-lang.org/std/vec/struct.Vec.html#method.pop_if)
-   [`sync::Once::wait`](https://doc.rust-lang.org/stable/std/sync/struct.Once.html#method.wait)
-   [`sync::Once::wait_force`](https://doc.rust-lang.org/stable/std/sync/struct.Once.html#method.wait_force)
-   [`sync::OnceLock::wait`](https://doc.rust-lang.org/stable/std/sync/struct.OnceLock.html#method.wait)

These APIs are now stable in const contexts:

-   [`hint::black_box`](https://doc.rust-lang.org/stable/std/hint/fn.black_box.html)
-   [`io::Cursor::get_mut`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.get_mut)
-   [`io::Cursor::set_position`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.set_position)
-   [`str::is_char_boundary`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.is_char_boundary)
-   [`str::split_at`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at)
-   [`str::split_at_checked`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at_checked)
-   [`str::split_at_mut`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at_mut)
-   [`str::split_at_mut_checked`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at_mut_checked)

<a id="1.86.0-Cargo"></a>

## Cargo

-   [When merging, replace rather than combine configuration keys that refer to a program path and its arguments.](https://redirect.github.com/rust-lang/cargo/pull/15066/)
-   [Error if both `--package` and `--workspace` are passed but the requested package is missing.](https://redirect.github.com/rust-lang/cargo/pull/15071/) This was previously silently ignored, which was considered a bug since missing packages should be reported.
-   [Deprecate the token argument in `cargo login` to avoid shell history leaks.](https://redirect.github.com/rust-lang/cargo/pull/15057/)
-   [Simplify the implementation of `SourceID` comparisons.](https://redirect.github.com/rust-lang/cargo/pull/14980/) This may potentially change behavior if the canonicalized URL compares differently in alternative registries.

<a id="1.86.0-Rustdoc"></a>

## Rustdoc

-   [Add a sans-serif font setting.](https://redirect.github.com/rust-lang/rust/pull/133636)

<a id="1.86.0-Compatibility-Notes"></a>

## Compatibility Notes

-   [The `wasm_c_abi` future compatibility warning is now a hard error.](https://redirect.github.com/rust-lang/rust/pull/133951)
    Users of `wasm-bindgen` should upgrade to at least version 0.2.89, otherwise compilation will fail.
-   [Remove long-deprecated no-op attributes `#![no_start]` and `#![crate_id]`.](https://redirect.github.com/rust-lang/rust/pull/134300)
-   [The future incompatibility lint `cenum_impl_drop_cast` has been made into a hard error.](https://redirect.github.com/rust-lang/rust/pull/135964) This means it is now an error to cast a field-less enum to an integer if the enum implements `Drop`.
-   [SSE2 is now required for "i686" 32-bit x86 hard-float targets; disabling it causes a warning that will become a hard error eventually.](https://redirect.github.com/rust-lang/rust/pull/137037)
    To compile for pre-SSE2 32-bit x86, use a "i586" target instead.

<a id="1.86.0-Internal-Changes"></a>

## Internal Changes

These changes do not affect any public interfaces of Rust, but they represent
significant improvements to the performance or internals of rustc and related
tools.

-   [Build the rustc on AArch64 Linux with ThinLTO + PGO.](https://redirect.github.com/rust-lang/rust/pull/133807)
    The ARM 64-bit compiler (AArch64) on Linux is now optimized with ThinLTO and PGO, similar to the optimizations we have already performed for the x86-64 compiler on Linux. This should make it up to 30% faster.

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-04 07:21:18 +00:00
CatsJuice
905349a139 chore(core): modify ai purchase button text (#11035) 2025-04-04 07:07:50 +00:00
renovate
3090724659 chore: bump up nestjs to v11.0.13 (#11271)
This PR contains the following updates:

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

---

### Release Notes

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

### [`v11.0.13`](https://redirect.github.com/nestjs/nest/releases/tag/v11.0.13)

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

#### v11.0.13 (2025-04-03)

##### Bug fixes

-   `platform-fastify`
    -   [#&#8203;14895](https://redirect.github.com/nestjs/nest/pull/14895) fix(fastify-adapter): global prefix exclusion path handling w/middleware ([@&#8203;KyleLilly](https://redirect.github.com/KyleLilly))
-   `microservices`
    -   [#&#8203;14869](https://redirect.github.com/nestjs/nest/pull/14869) fix(microservices): do not re-create client connection once get client by service name ([@&#8203;mingo023](https://redirect.github.com/mingo023))

##### Dependencies

-   `platform-express`
    -   [#&#8203;14883](https://redirect.github.com/nestjs/nest/pull/14883) fix(deps): update dependency express to v5.1.0 ([@&#8203;renovate\[bot\]](https://redirect.github.com/apps/renovate))
    -   [#&#8203;14817](https://redirect.github.com/nestjs/nest/pull/14817) fix(deps): update dependency multer to v1.4.5-lts.2 ([@&#8203;renovate\[bot\]](https://redirect.github.com/apps/renovate))
-   `platform-fastify`
    -   [#&#8203;14861](https://redirect.github.com/nestjs/nest/pull/14861) fix(deps): update dependency fastify to v5.2.2 ([@&#8203;renovate\[bot\]](https://redirect.github.com/apps/renovate))
    -   [#&#8203;14864](https://redirect.github.com/nestjs/nest/pull/14864) chore(deps): bump [@&#8203;fastify/cors](https://redirect.github.com/fastify/cors) from 11.0.0 to 11.0.1 ([@&#8203;dependabot\[bot\]](https://redirect.github.com/apps/dependabot))

##### Committers: 2

-   Kyle Lilly ([@&#8203;KyleLilly](https://redirect.github.com/KyleLilly))
-   Minh Ngo ([@&#8203;mingo023](https://redirect.github.com/mingo023))

</details>

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

### [`v11.0.13`](https://redirect.github.com/nestjs/nest/compare/v11.0.12...466e9b9e23a3f7d03dee772b6c611cb478de52e1)

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

</details>

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-04 06:04:02 +00:00
CatsJuice
fa50743393 feat(core): hide all sidebars when resizing to a small screen (#11105) 2025-04-04 05:51:19 +00:00
CatsJuice
ae92aef1a4 feat(core): automatically focus on the Readwise token input when the window is focused (#11112) 2025-04-04 05:36:59 +00:00
CatsJuice
eebc7b751a feat(component): apply animation for tooltip, remove triangle (#11245) 2025-04-04 05:24:18 +00:00
CatsJuice
46d8d30e62 feat(editor): disable clickToDrag for edgeless toolbar shape and mindmap (#11310) 2025-04-04 05:10:05 +00:00
JimmFly
adbd41130c fix(admin): adjust import users dialog styles (#11436)
close AF-2456 AF-2454 AF-2441 AF-2422
2025-04-04 04:52:50 +00:00
JimmFly
7a1d5ab252 feat(core): upgrade icons package (#11435) 2025-04-04 04:52:49 +00:00
yoyoyohamapi
030af6f426 test(core): edgeless shape e2e (#11446)
### TL;DR

Add Edgeless shape ai e2e tests.

### What Changed

- Add Edgeless shape make it real e2e
- Add Edgeless shape generate image e2e
- Fix Edgeless generate headings e2e
2025-04-03 16:53:20 +00:00
pengx17
133be72ac2 refactor(electron): encoding recording on the fly (#11457)
fix AF-2460, AF-2463

When recording is started, we start polling the pending raw buffers that are waiting for encoding. The buffers are determined by the cursor of the original raw buffer file. When recording is stopped, we will flush the pending buffers and wrap the encoded chunks into WebM.

```mermaid
sequenceDiagram
    participant App as App/UI
    participant RecordingFeature as Recording Feature
    participant StateMachine as State Machine
    participant FileSystem as File System
    participant StreamEncoder as Stream Encoder
    participant OpusEncoder as Opus Encoder
    participant WebM as WebM Muxer

    Note over App,WebM: Recording Start Flow
    App->>RecordingFeature: startRecording()
    RecordingFeature->>StateMachine: dispatch(START_RECORDING)
    StateMachine-->>RecordingFeature: status: 'recording'
    RecordingFeature->>StreamEncoder: createStreamEncoder(id, {sampleRate, channels})

    Note over App,WebM: Streaming Flow
    loop Audio Data Streaming
        RecordingFeature->>FileSystem: Write raw audio chunks to .raw file
        StreamEncoder->>FileSystem: Poll raw audio data
        FileSystem-->>StreamEncoder: Raw audio chunks
        StreamEncoder->>OpusEncoder: Encode chunks
        OpusEncoder-->>StreamEncoder: Encoded Opus frames
    end

    Note over App,WebM: Recording Stop Flow
    App->>RecordingFeature: stopRecording()
    RecordingFeature->>StateMachine: dispatch(STOP_RECORDING)
    StateMachine-->>RecordingFeature: status: 'stopped'
    StreamEncoder->>OpusEncoder: flush()
    StreamEncoder->>WebM: muxToWebM(encodedChunks)
    WebM-->>RecordingFeature: WebM buffer
    RecordingFeature->>FileSystem: Save as .opus file
    RecordingFeature->>StateMachine: dispatch(SAVE_RECORDING)
```
2025-04-03 15:56:53 +00:00
pengx17
8ce10e6d0a feat(electron): add tray menu settings (#11437)
fix AF-2447
2025-04-03 15:56:52 +00:00
akumatus
0aeb3041b5 feat(core): add ai chat composer (#11443)
Close [BS-2583](https://linear.app/affine-design/issue/BS-2583).

![截屏2025-04-03 15.11.43.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/5b545486-7c8b-4f09-bf65-9adeb482dfa9.png)
2025-04-03 14:53:50 +00:00
akumatus
6cf182190c refactor(core): remove useless chat-input components (#11426)
Close [BS-2583](https://linear.app/affine-design/issue/BS-2583).
2025-04-03 14:53:50 +00:00
akumatus
6033baeb86 refactor(core): add useAIChatConfig hook (#11424)
Close [BS-2583](https://linear.app/affine-design/issue/BS-2583).
2025-04-03 14:53:49 +00:00
fundon
363476a46c fix(editor): add hoverable container for image and surface-ref (#11458)
Closes: [BS-3012](https://linear.app/affine-design/issue/BS-3012/hover-yuan素时冲突)
2025-04-03 13:43:55 +00:00
L-Sun
90a3bd53cd chore(editor): telemetry for slash menu (#11438)
Close [BS-2959](https://linear.app/affine-design/issue/BS-2959/slash-menu埋点)
2025-04-03 13:31:09 +00:00
L-Sun
f2865c7bb0 fix(editor): prevent white edges in grid background by rounding grid gap (#11454)
Close [BS-2147](https://linear.app/affine-design/issue/BS-2147/%E7%A7%BB%E5%8A%A8%E7%AB%AF%EF%BC%8C%E5%8D%95%E6%8C%87%E6%BB%91%E5%8A%A8%E6%97%B6%E4%BC%9A%E5%87%BA%E7%8E%B0%E5%AF%B9%E9%BD%90%E7%BA%BF)
2025-04-03 13:17:47 +00:00
forehalo
2533a92873 chore(server): avoid config object been modified (#11452) 2025-04-03 12:57:29 +00:00
forehalo
6939e80827 chore(server): never reuse cls id for job handler (#11449) 2025-04-03 12:26:02 +00:00
forehalo
c8d22d97d5 refactor: webpack config (#11421) 2025-04-03 11:55:56 +00:00
fundon
565d7b2b1e fix(editor): should not show inner toolbar of surface-ref in edgeless (#11453)
Closes: [BS-3015](https://linear.app/affine-design/issue/BS-3015/toolbar-有时会出现空状态且被显示) [BS-3023](https://linear.app/affine-design/issue/BS-3023/surface-ref-inner-toolbar-的标题圆角)
2025-04-03 11:13:09 +00:00
EYHN
a9ba54a92e feat(core): adjust notification style (#11455) 2025-04-03 10:59:37 +00:00
EYHN
093bffdf5c fix(core): fix notification list (#11423) 2025-04-03 10:44:32 +00:00
Saul-Mirone
01429f8f66 fix(editor): clear remote selection when editor is deactive (#11450)
Closes: BS-3022
2025-04-03 09:36:28 +00:00
Saul-Mirone
773db7860a feat(editor): not sync selection from awareness (#11420) 2025-04-03 09:22:26 +00:00
L-Sun
727c540fda fix(editor): disable pointer event in surface-ref content (#11448)
Close [BS-3016](https://linear.app/affine-design/issue/BS-3016/当在-page-下框选时,如果遇到-affine-surface-ref-block-则会阻断框选)
Close [BS-3020](https://linear.app/affine-design/issue/BS-3020/inserted-frame-%E7%82%B9%E5%87%BB%E9%87%8C%E9%9D%A2%E7%9A%84%E5%9B%BE%E7%89%87%E4%BC%9A%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80)
2025-04-03 09:05:27 +00:00
L-Sun
56e98f26ff refactor(editor): update surface-ref placeholder (#11440)
Close [BS-2996](https://linear.app/affine-design/issue/BS-2996/删除的-inserted-frame-需要更新样式)
2025-04-03 09:05:27 +00:00
fundon
dd109459a9 fix(editor): adjust button background color of inner toolbar in dark mode (#11439)
Closes: [BS-3018](https://linear.app/affine-design/issue/BS-3018/在-dark-主题下,imagesurface-ref-inner-toolbar-没背景色)
2025-04-03 08:39:53 +00:00
fundon
e334347592 fix(editor): disable touch events on toolbar (#11447)
Closes: [BS-3021](https://linear.app/affine-design/issue/BS-3021/在-toolbar-上禁止-touch-事件冒泡,触发白板缩放)
2025-04-03 08:27:06 +00:00
L-Sun
64ed23d473 fix(editor): missing refFlavour in creation of surface-ref (#11445) 2025-04-03 07:57:10 +00:00
darkskygit
cfde175298 chore: remove structure output limit (#11444) 2025-04-03 07:45:03 +00:00
darkskygit
b4c643e8bc chore(server): improve gql types (#11441) 2025-04-03 07:30:51 +00:00
fengmk2
70a318f1c4 fix(server): auto-accept pending invitations by link in team workspace (#11433)
close CLOUD-192
2025-04-03 07:19:14 +00:00
pengx17
a4c76ff485 fix(editor): link popover ui in modal (#11415)
fix AF-2316
2025-04-03 05:11:46 +00:00
donteatfriedrice
9206145a48 feat(editor): remove embed iframe feature flag (#11432)
Close [BS-3019](https://linear.app/affine-design/issue/BS-3019/remove-embed-iframe-feature-flag)
2025-04-03 04:59:52 +00:00
L-Sun
f2646796fc refactor(editor): remove unused modal (#11428) 2025-04-03 04:21:20 +00:00
fundon
a1500e3ee1 fix(editor): textarea not focusing in AI panel (#11429)
Closes: [BS-3006](https://linear.app/affine-design/issue/BS-3006/insider上面,圈选yuan素后,ad-hoc的ai对话框焦点控制有大问题(无法对焦,总是会跳走))
2025-04-03 03:27:26 +00:00
yoyoyohamapi
c61df18ab9 test(core): chat with collection & tags (#11388)
### TL:DR

* AI chat with collection E2E
* AI chat with tag E2E

> Close BS-3007
2025-04-03 02:46:08 +00:00
fundon
03dd073cb4 fix(editor): add recent open doc with mode button (#11419)
Closes: [BS-3013](https://linear.app/affine-design/issue/BS-3013/open-doc-分开两个按钮:一个快捷按钮和一个菜单)

Split into two buttons: `recent open doc with mode button` and `open doc with dropdown menu`.
2025-04-03 02:06:14 +00:00
L-Sun
b53b2acfe3 fix(ios): mobile modal occlusion issues (#11427)
Close [BS-2925](https://linear.app/affine-design/issue/BS-2925/移动端-dialog-遮挡相关)
2025-04-03 01:51:57 +00:00
L-Sun
80a663efe7 fix(ios): adjust bootom padding of body when keyboard toolbar existed (#11410)
Close [BS-2919](https://linear.app/affine-design/issue/BS-2919/【移动端】ios-页面底部点几,页面定位有问题,光标和浮层重叠,并且看不到新添加的-block)
Close [BS-2918](https://linear.app/affine-design/issue/BS-2918/【移动端】ios-添加标题无法展示对应-block,滑动页面也无效,光标位置也不对)

## Changes
- Fixed body padding calculation when keyboard toolbar is present
- Removed redundant position controller logic and simplified the implementation
2025-04-03 01:51:57 +00:00
L-Sun
5109ceccec fix(ios): can not open keyboard in editor (#11401)
Close [BS-2917](https://linear.app/affine-design/issue/BS-2917/【移动端】ios-唤起键盘的edge-case)

This PR fixes an issue where the keyboard cannot be re-triggered on iOS devices after the keyboard toolbar is hidden or executing some actions in keyboard toolbar.

Key changes:
- Preserve and restore the initial input mode when keyboard toolbar shows/hides
- Improve virtual keyboard service interface to better handle keyboard state
- Add proper cleanup of input mode state in component lifecycle
2025-04-03 01:51:56 +00:00
fundon
2026f12daa fix(editor): improve color preview in custom tab of color picker (#11411)
Closes: [BS-3002](https://linear.app/affine-design/issue/BS-3002/color-picker-上-lightdark-按钮颜色丢失)

[Screen Recording 2025-04-02 at 17.19.34.mov <span class="graphite__hidden">(uploaded via Graphite)</span> <img class="graphite__hidden" src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/8ypiIKZXudF5a0tIgIzf/13288c59-ef11-4cbb-aec7-934a8a689feb.mov" />](https://app.graphite.dev/media/video/8ypiIKZXudF5a0tIgIzf/13288c59-ef11-4cbb-aec7-934a8a689feb.mov)
2025-04-03 01:38:27 +00:00
fengmk2
a5eb1b9985 fix(server): correct notification pagination by using 'lt' instead of 'gt' for createdAt (#11430) 2025-04-03 01:25:35 +00:00
EYHN
bd5428e311 feat(core): adjust notification button style (#11425) 2025-04-02 15:41:14 +00:00
darkskygit
90c43356c1 fix(server): copilot test condition (#11417) 2025-04-02 14:59:22 +00:00
pengx17
abfbf07712 fix(native): properly cleanup resource when activating device failed (#11380) 2025-04-02 14:46:34 +00:00
fengmk2
f3e9b4bbf0 feat(server): search workspace users support case insensitive (#11422)
close CLOUD-193
2025-04-02 14:33:07 +00:00
pengx17
90c3c4bf7f feat(electron): recording popup ux (#11403)
fix AF-2444, AF-2443
2025-04-02 14:17:53 +00:00
pengx17
2adb8e1404 feat(core): allow retry transcription (#11416) 2025-04-02 14:05:12 +00:00
akumatus
c5c6978136 refactor(core): ai input (#11381)
Close [BS-2758](https://linear.app/affine-design/issue/BS-2758).
Support [BS-2583](https://linear.app/affine-design/issue/BS-2583).

### What changed?
- Extend `ChatPanelInput` and `ChatBlockInput` from the same abstract class `AIChatInput` to reduce duplication of code.
- Unify the context interface of `chat-panel` and `chat-block`.
  - Rename `items` field to `messages`.
  - Remove duplicated type declare.
2025-04-02 13:37:30 +00:00
fengmk2
c8392d0cbe fix(server): auto-accept pending invitations by link (#11409)
close CLOUD-192
2025-04-02 13:24:03 +00:00
fundon
fde97dcf78 fix(editor): improve some experiences on note toolbar (#11413)
Closes: [BS-3004](https://linear.app/affine-design/issue/BS-3004/page-block-ui-adjust)
2025-04-02 13:11:33 +00:00
darkskygit
0f18585631 chore(server): update sign domain description (#11407) 2025-04-02 12:58:03 +00:00
forehalo
1386a66579 chore(server): hide not configurable module (#11406) 2025-04-02 12:44:20 +00:00
EYHN
07b1c2fa05 fix(core): fix member search loading state (#11418) 2025-04-02 12:23:54 +00:00
darkskygit
501b5f6a97 feat(server): retry transcript job (#11414) 2025-04-02 12:02:07 +00:00
Brooooooklyn
3b13affa58 docs: add blaze sponsor info (#11377) 2025-04-02 11:35:12 +00:00
darkskygit
94ddcc7a7a chore(server): move embedding job namespace (#11397) 2025-04-02 10:51:36 +00:00
yoyoyohamapi
c4c6cdb6f2 fix(core): prevent input event propagation (#11307)
### TL;DR

Prevent input event of search propagate to editor

> CLOSE BS-2832
2025-04-02 10:22:25 +00:00
forehalo
35bea20b80 chore(server): adjust job config (#11405) 2025-04-02 09:48:46 +00:00
forehalo
85d176ce6f chore(server): customize config merge logic (#11400) 2025-04-02 09:48:45 +00:00
forehalo
b21a0b4520 chore: release with config.schema.json (#11391) 2025-04-02 09:48:45 +00:00
fengmk2
432634c5a3 feat(server): enable job queue log (#11390) 2025-04-02 09:34:13 +00:00
Flrande
51b3f2b057 fix(editor): do not display format bar with embed node (#11371)
Close [BS-2895: 点击inline名字区域不需要显示format toolbar](https://linear.app/affine-design/issue/BS-2895/点击inline名字区域不需要显示format-toolbar)
2025-04-02 09:21:32 +00:00
pengx17
6d1fe37e4c chore(core): remove audio block feature flag (#11399)
fix
AF-2445
2025-04-02 09:07:19 +00:00
EYHN
a3e4978354 feat(ios): add markdown import api (#11394) 2025-04-02 08:54:26 +00:00
donteatfriedrice
b8fd6370f8 fix(editor): remove embed iframe toolbar edit item (#11396) 2025-04-02 08:40:56 +00:00
CatsJuice
c6d4787954 feat(core): remove integration feature flag (#11393) 2025-04-02 08:28:10 +00:00
github-actions[bot]
90bf003ab8 chore(i18n): sync translations (#10396)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-02 07:57:36 +00:00
fengmk2
e125b2a7c0 fix(server): should use error instance stack (#11392) 2025-04-02 07:12:18 +00:00
doouding
36b1ca4327 feat: render placeholder in edgeless mode (#11387)
Complete [BS-2997](https://linear.app/affine-design/issue/BS-2997/在白板上渲染-inserted-frame-group-时提供占位)
2025-04-02 06:59:25 +00:00
doouding
ef76c83184 fix: connector should remain the same when its target or source switch to other
shape type (#11369)

Fixes [BS-1431](https://linear.app/affine-design/issue/BS-1431/改变-shape-形状后,connector-丢失)
2025-04-02 05:10:30 +00:00
pengx17
c20514f269 fix(core): audio player loading styles (#11384)
fix BS-2998
2025-04-02 04:58:27 +00:00
pengx17
08eb248cb4 fix(core): add toDocSearchParams for better typeschecking doc search params (#11383) 2025-04-02 04:46:22 +00:00
darkskygit
1b5df6b75e fix(server): handle empty transcript result correctly (#11385) 2025-04-02 04:33:35 +00:00
darkskygit
add4a5859d fix(server): handle s3 notfound error (#11386) 2025-04-02 04:20:06 +00:00
pengx17
f091ac7e74 fix(core): bidi panel show button color (#11374)
fix AF-2394
2025-04-02 03:48:14 +00:00
forehalo
6833c2a2dd chore: missing env 2025-04-02 11:03:10 +08:00
forehalo
5a955d9f70 chore: fix beta deployment 2025-04-02 10:47:01 +08:00
pengx17
679e9e1966 feat(core): add copy link to doc peek view controls (#11373)
fix AF-2314
2025-04-02 02:21:32 +00:00
fundon
d9fade8045 fix(core): should display date as original title of journal (#11375)
Closes: [BS-2991](https://linear.app/affine-design/issue/BS-2991/linked-journal添加alias后,toolbar上获取不到标题)
2025-04-02 01:24:43 +00:00
L-Sun
8d9f5327a1 chore(editor): update slash menu tooltips of latex and loom (#11350)
Close [BS-2983](https://linear.app/affine-design/issue/BS-2983/slash-menu-loom没有tooltip)
Close [BS-2953](https://linear.app/affine-design/issue/BS-2982/slash-menu中latex没有tooltip)
2025-04-02 01:11:18 +00:00
pengx17
b759a22221 fix(electron): global tap should activate input device if it is not active (#11370)
fix AF-2442
2025-04-01 15:34:32 +00:00
darkskygit
f2e2072878 feat(server): s3 presigned url (#11364) 2025-04-01 15:14:07 +00:00
forehalo
dad858014f feat(admin): adapt new config system (#11360)
feat(server): add test mail api

feat(admin): adapt new config system
2025-04-01 15:00:10 +00:00
fundon
8427293d36 fix(core): fix target block cannot be reached when clicking affine-link multiple times (#10473)
Closes: [BS-2702](https://linear.app/affine-design/issue/BS-2702/超链接无法滚动到指定block)
2025-04-01 14:46:35 +00:00
CatsJuice
d8997576a5 chore(core): wrap 'get access token' for connecting readwise (#11147) 2025-04-01 14:33:00 +00:00
pengx17
2d304adf15 fix(electron): incorrect app allow list logic for recording (#11368) 2025-04-01 14:19:29 +00:00
Saul-Mirone
7f98420061 chore: allow cursor in none-contenteditable blocks (#11366) 2025-04-01 13:20:08 +00:00
darkskygit
4e1e91120f chore(server): omit system message in error (#11365) 2025-04-01 13:06:33 +00:00
forehalo
eb219b2c48 chore(server): watch storages config updates (#11367) 2025-04-01 12:52:45 +00:00
fundon
f374f2695f fix(core): add shortcuts to open doc dropdown menu (#11358)
Closes: [BS-2992](https://linear.app/affine-design/issue/BS-2992/走查toolbar上的open-in-button)

[Screen Recording 2025-04-01 at 16.37.57.mov <span class="graphite__hidden">(uploaded via Graphite)</span> <img class="graphite__hidden" src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/8ypiIKZXudF5a0tIgIzf/cf4b1baf-aa2c-4f37-9c62-f7202d0f7c42.mov" />](https://app.graphite.dev/media/video/8ypiIKZXudF5a0tIgIzf/cf4b1baf-aa2c-4f37-9c62-f7202d0f7c42.mov)
2025-04-01 12:39:13 +00:00
yoyoyohamapi
bd30a73db8 fix(core): do not show AI avatar during generating (#11363)
> CLOSE BS-2989
2025-04-01 12:11:28 +00:00
L-Sun
cad4dde4b1 fix(editor): missing doc mode extension in frame preview (#11348)
Close [BS-2777](https://linear.app/affine-design/issue/BS-2777/frame-preview里的embed-card展示的doc-mode不对)
2025-04-01 11:57:53 +00:00
Saul-Mirone
bed02f2520 fix(editor): wrong deactive logic (#11361)
Closes: BS-2591
2025-04-01 11:44:24 +00:00
EYHN
521eb09a7a fix(nbstore): adjust indexer logic (#11355) 2025-04-01 11:31:58 +00:00
EYHN
cb7b5caa74 fix(ios): fix nbstore worker (#11362) 2025-04-01 11:11:26 +00:00
forehalo
6276732efc chore(server): reschedule doc merging jobs (#11318) 2025-04-01 10:57:54 +00:00
renovate
d38458b733 chore: bump up Node.js to v22 (#11357)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [node](https://nodejs.org) ([source](https://redirect.github.com/nodejs/node)) | major | `18` -> `22` |

---

### Release Notes

<details>
<summary>nodejs/node (node)</summary>

### [`v22.14.0`](https://redirect.github.com/nodejs/node/releases/tag/v22.14.0): 2025-02-11, Version 22.14.0 &#x27;Jod&#x27; (LTS), @&#8203;aduh95

[Compare Source](https://redirect.github.com/nodejs/node/compare/v22.13.1...v22.14.0)

##### Notable Changes

-   \[[`82a9000e9e`](https://redirect.github.com/nodejs/node/commit/82a9000e9e)] - **crypto**: update root certificates to NSS 3.107 (Node.js GitHub Bot) [#&#8203;56566](https://redirect.github.com/nodejs/node/pull/56566)
-   \[[`b7fe54fc88`](https://redirect.github.com/nodejs/node/commit/b7fe54fc88)] - **(SEMVER-MINOR)** **fs**: allow `exclude` option in globs to accept glob patterns (Daeyeon Jeong) [#&#8203;56489](https://redirect.github.com/nodejs/node/pull/56489)
-   \[[`3ac92ef607`](https://redirect.github.com/nodejs/node/commit/3ac92ef607)] - **(SEMVER-MINOR)** **lib**: add typescript support to STDIN eval (Marco Ippolito) [#&#8203;56359](https://redirect.github.com/nodejs/node/pull/56359)
-   \[[`1614e8e7bc`](https://redirect.github.com/nodejs/node/commit/1614e8e7bc)] - **(SEMVER-MINOR)** **module**: add ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX (Marco Ippolito) [#&#8203;56610](https://redirect.github.com/nodejs/node/pull/56610)
-   \[[`6d6cffa9cc`](https://redirect.github.com/nodejs/node/commit/6d6cffa9cc)] - **(SEMVER-MINOR)** **module**: add `findPackageJSON` util (Jacob Smith) [#&#8203;55412](https://redirect.github.com/nodejs/node/pull/55412)
-   \[[`d35333ae18`](https://redirect.github.com/nodejs/node/commit/d35333ae18)] - **(SEMVER-MINOR)** **process**: add process.ref() and process.unref() methods (James M Snell) [#&#8203;56400](https://redirect.github.com/nodejs/node/pull/56400)
-   \[[`07ff3ddcb5`](https://redirect.github.com/nodejs/node/commit/07ff3ddcb5)] - **(SEMVER-MINOR)** **sqlite**: support TypedArray and DataView in `StatementSync` (Alex Yang) [#&#8203;56385](https://redirect.github.com/nodejs/node/pull/56385)
-   \[[`94d3fe1b62`](https://redirect.github.com/nodejs/node/commit/94d3fe1b62)] - **(SEMVER-MINOR)** **src**: add --disable-sigusr1 to prevent signal i/o thread (Rafael Gonzaga) [#&#8203;56441](https://redirect.github.com/nodejs/node/pull/56441)
-   \[[`5afffb4415`](https://redirect.github.com/nodejs/node/commit/5afffb4415)] - **(SEMVER-MINOR)** **src,worker**: add isInternalWorker (Carlos Espa) [#&#8203;56469](https://redirect.github.com/nodejs/node/pull/56469)
-   \[[`697a851fb3`](https://redirect.github.com/nodejs/node/commit/697a851fb3)] - **(SEMVER-MINOR)** **test_runner**: add TestContext.prototype.waitFor() (Colin Ihrig) [#&#8203;56595](https://redirect.github.com/nodejs/node/pull/56595)
-   \[[`047537b48c`](https://redirect.github.com/nodejs/node/commit/047537b48c)] - **(SEMVER-MINOR)** **test_runner**: add t.assert.fileSnapshot() (Colin Ihrig) [#&#8203;56459](https://redirect.github.com/nodejs/node/pull/56459)
-   \[[`926cf84e95`](https://redirect.github.com/nodejs/node/commit/926cf84e95)] - **(SEMVER-MINOR)** **test_runner**: add assert.register() API (Colin Ihrig) [#&#8203;56434](https://redirect.github.com/nodejs/node/pull/56434)
-   \[[`c658a8afdf`](https://redirect.github.com/nodejs/node/commit/c658a8afdf)] - **(SEMVER-MINOR)** **worker**: add eval ts input (Marco Ippolito) [#&#8203;56394](https://redirect.github.com/nodejs/node/pull/56394)

##### Commits

-   \[[`bad1ad8650`](https://redirect.github.com/nodejs/node/commit/bad1ad8650)] - **assert**: make myers_diff function more performant (Giovanni Bucci) [#&#8203;56303](https://redirect.github.com/nodejs/node/pull/56303)
-   \[[`e222e36f3b`](https://redirect.github.com/nodejs/node/commit/e222e36f3b)] - **assert**: make partialDeepStrictEqual work with urls and File prototypes (Giovanni Bucci) [#&#8203;56231](https://redirect.github.com/nodejs/node/pull/56231)
-   \[[`e232789fe2`](https://redirect.github.com/nodejs/node/commit/e232789fe2)] - **assert**: show diff when doing partial comparisons (Giovanni Bucci) [#&#8203;56211](https://redirect.github.com/nodejs/node/pull/56211)
-   \[[`c99de1fdcf`](https://redirect.github.com/nodejs/node/commit/c99de1fdcf)] - **assert**: make partialDeepStrictEqual throw when comparing \[0] with \[-0] (Giovanni) [#&#8203;56237](https://redirect.github.com/nodejs/node/pull/56237)
-   \[[`2386fd5840`](https://redirect.github.com/nodejs/node/commit/2386fd5840)] - **benchmark**: add validateStream to styleText bench (Rafael Gonzaga) [#&#8203;56556](https://redirect.github.com/nodejs/node/pull/56556)
-   \[[`b197dfa7ec`](https://redirect.github.com/nodejs/node/commit/b197dfa7ec)] - **build**: fix GN build for ngtcp2 (Cheng) [#&#8203;56300](https://redirect.github.com/nodejs/node/pull/56300)
-   \[[`2a3cdd34ff`](https://redirect.github.com/nodejs/node/commit/2a3cdd34ff)] - **build**: test macos-13 on GitHub actions (Michaël Zasso) [#&#8203;56307](https://redirect.github.com/nodejs/node/pull/56307)
-   \[[`12f716be0a`](https://redirect.github.com/nodejs/node/commit/12f716be0a)] - **build**: build v8 with -fvisibility=hidden on macOS (Joyee Cheung) [#&#8203;56275](https://redirect.github.com/nodejs/node/pull/56275)
-   \[[`c5ca15bd34`](https://redirect.github.com/nodejs/node/commit/c5ca15bd34)] - **child_process**: fix parsing messages with splitted length field (Maksim Gorkov) [#&#8203;56106](https://redirect.github.com/nodejs/node/pull/56106)
-   \[[`8346b8fc2c`](https://redirect.github.com/nodejs/node/commit/8346b8fc2c)] - **crypto**: add missing return value check (Michael Dawson) [#&#8203;56615](https://redirect.github.com/nodejs/node/pull/56615)
-   \[[`82a9000e9e`](https://redirect.github.com/nodejs/node/commit/82a9000e9e)] - **crypto**: update root certificates to NSS 3.107 (Node.js GitHub Bot) [#&#8203;56566](https://redirect.github.com/nodejs/node/pull/56566)
-   \[[`890eef20a1`](https://redirect.github.com/nodejs/node/commit/890eef20a1)] - **crypto**: fix checkPrime crash with large buffers (Santiago Gimeno) [#&#8203;56559](https://redirect.github.com/nodejs/node/pull/56559)
-   \[[`5edb7b5e87`](https://redirect.github.com/nodejs/node/commit/5edb7b5e87)] - **crypto**: fix warning of ignoring return value (Cheng) [#&#8203;56527](https://redirect.github.com/nodejs/node/pull/56527)
-   \[[`b89f123a0b`](https://redirect.github.com/nodejs/node/commit/b89f123a0b)] - **crypto**: make generatePrime/checkPrime interruptible (James M Snell) [#&#8203;56460](https://redirect.github.com/nodejs/node/pull/56460)
-   \[[`63c1859e01`](https://redirect.github.com/nodejs/node/commit/63c1859e01)] - **deps**: update corepack to 0.31.0 (Node.js GitHub Bot) [#&#8203;56795](https://redirect.github.com/nodejs/node/pull/56795)
-   \[[`a48430d4d3`](https://redirect.github.com/nodejs/node/commit/a48430d4d3)] - **deps**: move inspector_protocol to deps (Chengzhong Wu) [#&#8203;56649](https://redirect.github.com/nodejs/node/pull/56649)
-   \[[`74cccc824f`](https://redirect.github.com/nodejs/node/commit/74cccc824f)] - **deps**: macro ENODATA is deprecated in libc++ (Cheng) [#&#8203;56698](https://redirect.github.com/nodejs/node/pull/56698)
-   \[[`fa869ea0f2`](https://redirect.github.com/nodejs/node/commit/fa869ea0f2)] - **deps**: fixup some minor coverity warnings (James M Snell) [#&#8203;56612](https://redirect.github.com/nodejs/node/pull/56612)
-   \[[`1a4fa2b015`](https://redirect.github.com/nodejs/node/commit/1a4fa2b015)] - **deps**: update amaro to 0.3.0 (Node.js GitHub Bot) [#&#8203;56568](https://redirect.github.com/nodejs/node/pull/56568)
-   \[[`b47076fd82`](https://redirect.github.com/nodejs/node/commit/b47076fd82)] - **deps**: update amaro to 0.2.2 (Node.js GitHub Bot) [#&#8203;56568](https://redirect.github.com/nodejs/node/pull/56568)
-   \[[`46bd4b8731`](https://redirect.github.com/nodejs/node/commit/46bd4b8731)] - **deps**: update simdutf to 6.0.3 (Node.js GitHub Bot) [#&#8203;56567](https://redirect.github.com/nodejs/node/pull/56567)
-   \[[`8ead9c693b`](https://redirect.github.com/nodejs/node/commit/8ead9c693b)] - **deps**: update simdutf to 5.7.2 (Node.js GitHub Bot) [#&#8203;56388](https://redirect.github.com/nodejs/node/pull/56388)
-   \[[`18d4b502af`](https://redirect.github.com/nodejs/node/commit/18d4b502af)] - **deps**: update amaro to 0.2.1 (Node.js GitHub Bot) [#&#8203;56390](https://redirect.github.com/nodejs/node/pull/56390)
-   \[[`d938d7cc86`](https://redirect.github.com/nodejs/node/commit/d938d7cc86)] - **deps**: update googletest to [`7d76a23`](https://redirect.github.com/nodejs/node/commit/7d76a23) (Node.js GitHub Bot) [#&#8203;56387](https://redirect.github.com/nodejs/node/pull/56387)
-   \[[`9761e7dccb`](https://redirect.github.com/nodejs/node/commit/9761e7dccb)] - **deps**: update googletest to [`e54519b`](https://redirect.github.com/nodejs/node/commit/e54519b) (Node.js GitHub Bot) [#&#8203;56370](https://redirect.github.com/nodejs/node/pull/56370)
-   \[[`8319dc6bc5`](https://redirect.github.com/nodejs/node/commit/8319dc6bc5)] - **deps**: update ngtcp2 to 1.10.0 (Node.js GitHub Bot) [#&#8203;56334](https://redirect.github.com/nodejs/node/pull/56334)
-   \[[`6eacd19d6a`](https://redirect.github.com/nodejs/node/commit/6eacd19d6a)] - **deps**: update simdutf to 5.7.0 (Node.js GitHub Bot) [#&#8203;56332](https://redirect.github.com/nodejs/node/pull/56332)
-   \[[`28bec2dda3`](https://redirect.github.com/nodejs/node/commit/28bec2dda3)] - **diagnostics_channel**: capture console messages (Stephen Belanger) [#&#8203;56292](https://redirect.github.com/nodejs/node/pull/56292)
-   \[[`d519d33502`](https://redirect.github.com/nodejs/node/commit/d519d33502)] - **doc**: update macOS and Xcode versions for releases (Michaël Zasso) [#&#8203;56337](https://redirect.github.com/nodejs/node/pull/56337)
-   \[[`fcfe650507`](https://redirect.github.com/nodejs/node/commit/fcfe650507)] - **doc**: add note for features using `InternalWorker` with permission model (Antoine du Hamel) [#&#8203;56706](https://redirect.github.com/nodejs/node/pull/56706)
-   \[[`efbba182b5`](https://redirect.github.com/nodejs/node/commit/efbba182b5)] - **doc**: add entry to changelog about SQLite Session Extension (Bart Louwers) [#&#8203;56318](https://redirect.github.com/nodejs/node/pull/56318)
-   \[[`31bf9c7dd9`](https://redirect.github.com/nodejs/node/commit/31bf9c7dd9)] - **doc**: move anatoli to emeritus (Michael Dawson) [#&#8203;56592](https://redirect.github.com/nodejs/node/pull/56592)
-   \[[`6096e38c7c`](https://redirect.github.com/nodejs/node/commit/6096e38c7c)] - **doc**: fix styles of the expandable TOC (Antoine du Hamel) [#&#8203;56755](https://redirect.github.com/nodejs/node/pull/56755)
-   \[[`d423638281`](https://redirect.github.com/nodejs/node/commit/d423638281)] - **doc**: add "Skip to content" button (Antoine du Hamel) [#&#8203;56750](https://redirect.github.com/nodejs/node/pull/56750)
-   \[[`edeb157d75`](https://redirect.github.com/nodejs/node/commit/edeb157d75)] - **doc**: improve accessibility of expandable lists (Antoine du Hamel) [#&#8203;56749](https://redirect.github.com/nodejs/node/pull/56749)
-   \[[`1a79e87687`](https://redirect.github.com/nodejs/node/commit/1a79e87687)] - **doc**: add note regarding commit message trailers (Dario Piotrowicz) [#&#8203;56736](https://redirect.github.com/nodejs/node/pull/56736)
-   \[[`927c7e47e4`](https://redirect.github.com/nodejs/node/commit/927c7e47e4)] - **doc**: fix typo in example code for util.styleText (Robin Mehner) [#&#8203;56720](https://redirect.github.com/nodejs/node/pull/56720)
-   \[[`fade522538`](https://redirect.github.com/nodejs/node/commit/fade522538)] - **doc**: fix inconsistencies in `WeakSet` and `WeakMap` comparison details (Shreyans Pathak) [#&#8203;56683](https://redirect.github.com/nodejs/node/pull/56683)
-   \[[`55533bf147`](https://redirect.github.com/nodejs/node/commit/55533bf147)] - **doc**: add RafaelGSS as latest sec release stewards (Rafael Gonzaga) [#&#8203;56682](https://redirect.github.com/nodejs/node/pull/56682)
-   \[[`8e978bdee1`](https://redirect.github.com/nodejs/node/commit/8e978bdee1)] - **doc**: clarify cjs/esm diff in `queueMicrotask()` vs `process.nextTick()` (Dario Piotrowicz) [#&#8203;56659](https://redirect.github.com/nodejs/node/pull/56659)
-   \[[`ae360c30dc`](https://redirect.github.com/nodejs/node/commit/ae360c30dc)] - **doc**: `WeakSet` and `WeakMap` comparison details (Shreyans Pathak) [#&#8203;56648](https://redirect.github.com/nodejs/node/pull/56648)
-   \[[`acd2a2fda5`](https://redirect.github.com/nodejs/node/commit/acd2a2fda5)] - **doc**: mention prepare --security (Rafael Gonzaga) [#&#8203;56617](https://redirect.github.com/nodejs/node/pull/56617)
-   \[[`d3c0a2831d`](https://redirect.github.com/nodejs/node/commit/d3c0a2831d)] - **doc**: tweak info on reposts in ambassador program (Michael Dawson) [#&#8203;56589](https://redirect.github.com/nodejs/node/pull/56589)
-   \[[`3299505b49`](https://redirect.github.com/nodejs/node/commit/3299505b49)] - **doc**: add type stripping to ambassadors program (Marco Ippolito) [#&#8203;56598](https://redirect.github.com/nodejs/node/pull/56598)
-   \[[`b1a6ffa4e4`](https://redirect.github.com/nodejs/node/commit/b1a6ffa4e4)] - **doc**: improve internal documentation on built-in snapshot (Joyee Cheung) [#&#8203;56505](https://redirect.github.com/nodejs/node/pull/56505)
-   \[[`1641a28930`](https://redirect.github.com/nodejs/node/commit/1641a28930)] - **doc**: document CLI way to open the nodejs/bluesky PR (Antoine du Hamel) [#&#8203;56506](https://redirect.github.com/nodejs/node/pull/56506)
-   \[[`2042628fda`](https://redirect.github.com/nodejs/node/commit/2042628fda)] - **doc**: add section about using npx with permission model (Rafael Gonzaga) [#&#8203;56539](https://redirect.github.com/nodejs/node/pull/56539)
-   \[[`ace19a0263`](https://redirect.github.com/nodejs/node/commit/ace19a0263)] - **doc**: update gcc-version for ubuntu-lts (Kunal Kumar) [#&#8203;56553](https://redirect.github.com/nodejs/node/pull/56553)
-   \[[`4aa57b50f8`](https://redirect.github.com/nodejs/node/commit/4aa57b50f8)] - **doc**: fix parentheses in options (Tobias Nießen) [#&#8203;56563](https://redirect.github.com/nodejs/node/pull/56563)
-   \[[`b40b01b4d3`](https://redirect.github.com/nodejs/node/commit/b40b01b4d3)] - **doc**: include CVE to EOL lines as sec release process (Rafael Gonzaga) [#&#8203;56520](https://redirect.github.com/nodejs/node/pull/56520)
-   \[[`6701360113`](https://redirect.github.com/nodejs/node/commit/6701360113)] - **doc**: add esm examples to node:trace_events (Alfredo González) [#&#8203;56514](https://redirect.github.com/nodejs/node/pull/56514)
-   \[[`d3207cca3e`](https://redirect.github.com/nodejs/node/commit/d3207cca3e)] - **doc**: add message for Ambassadors to promote (Michael Dawson) [#&#8203;56235](https://redirect.github.com/nodejs/node/pull/56235)
-   \[[`97ece4ae06`](https://redirect.github.com/nodejs/node/commit/97ece4ae06)] - **doc**: allow request for TSC reviews via the GitHub UI (Antoine du Hamel) [#&#8203;56493](https://redirect.github.com/nodejs/node/pull/56493)
-   \[[`03f25055ab`](https://redirect.github.com/nodejs/node/commit/03f25055ab)] - **doc**: add example for piping ReadableStream (Gabriel Schulhof) [#&#8203;56415](https://redirect.github.com/nodejs/node/pull/56415)
-   \[[`516d07482c`](https://redirect.github.com/nodejs/node/commit/516d07482c)] - **doc**: expand description of `parseArg`'s `default` (Kevin Gibbons) [#&#8203;54431](https://redirect.github.com/nodejs/node/pull/54431)
-   \[[`a6491effcb`](https://redirect.github.com/nodejs/node/commit/a6491effcb)] - **doc**: use `<ul>` instead of `<ol>` in `SECURITY.md` (Antoine du Hamel) [#&#8203;56346](https://redirect.github.com/nodejs/node/pull/56346)
-   \[[`e4ec134b21`](https://redirect.github.com/nodejs/node/commit/e4ec134b21)] - **doc**: clarify that WASM is trusted (Matteo Collina) [#&#8203;56345](https://redirect.github.com/nodejs/node/pull/56345)
-   \[[`0f7aed8a59`](https://redirect.github.com/nodejs/node/commit/0f7aed8a59)] - **doc**: fix the `crc32` documentation (Kevin Toshihiro Uehara) [#&#8203;55898](https://redirect.github.com/nodejs/node/pull/55898)
-   \[[`721104a296`](https://redirect.github.com/nodejs/node/commit/721104a296)] - **doc**: fix links in `module.md` (Antoine du Hamel) [#&#8203;56283](https://redirect.github.com/nodejs/node/pull/56283)
-   \[[`928540d792`](https://redirect.github.com/nodejs/node/commit/928540d792)] - **doc**: fix typos (Nathan Baulch) [#&#8203;55066](https://redirect.github.com/nodejs/node/pull/55066)
-   \[[`e69d35f03b`](https://redirect.github.com/nodejs/node/commit/e69d35f03b)] - **doc**: add history info for Permission Model (Antoine du Hamel) [#&#8203;56707](https://redirect.github.com/nodejs/node/pull/56707)
-   \[[`c6fd867ab5`](https://redirect.github.com/nodejs/node/commit/c6fd867ab5)] - **esm**: fix jsdoc type refs to `ModuleJobBase` in esm/loader (Jacob Smith) [#&#8203;56499](https://redirect.github.com/nodejs/node/pull/56499)
-   \[[`9cf9046bd7`](https://redirect.github.com/nodejs/node/commit/9cf9046bd7)] - ***Revert*** "**events**: add hasEventListener util for validate" (origranot) [#&#8203;56282](https://redirect.github.com/nodejs/node/pull/56282)
-   \[[`b7fe54fc88`](https://redirect.github.com/nodejs/node/commit/b7fe54fc88)] - **(SEMVER-MINOR)** **fs**: allow `exclude` option in globs to accept glob patterns (Daeyeon Jeong) [#&#8203;56489](https://redirect.github.com/nodejs/node/pull/56489)
-   \[[`6ca27c2a59`](https://redirect.github.com/nodejs/node/commit/6ca27c2a59)] - **http2**: omit server name when HTTP2 host is IP address (islandryu) [#&#8203;56530](https://redirect.github.com/nodejs/node/pull/56530)
-   \[[`9f1fa199bf`](https://redirect.github.com/nodejs/node/commit/9f1fa199bf)] - **inspector**: roll inspector_protocol (Chengzhong Wu) [#&#8203;56649](https://redirect.github.com/nodejs/node/pull/56649)
-   \[[`0dae4bb3ab`](https://redirect.github.com/nodejs/node/commit/0dae4bb3ab)] - **inspector**: add undici http tracking support (Chengzhong Wu) [#&#8203;56488](https://redirect.github.com/nodejs/node/pull/56488)
-   \[[`2c6124cec4`](https://redirect.github.com/nodejs/node/commit/2c6124cec4)] - **inspector**: report loadingFinished until the response data is consumed (Chengzhong Wu) [#&#8203;56372](https://redirect.github.com/nodejs/node/pull/56372)
-   \[[`96ec862ce2`](https://redirect.github.com/nodejs/node/commit/96ec862ce2)] - **lib**: refactor execution.js (Marco Ippolito) [#&#8203;56358](https://redirect.github.com/nodejs/node/pull/56358)
-   \[[`3ac92ef607`](https://redirect.github.com/nodejs/node/commit/3ac92ef607)] - **(SEMVER-MINOR)** **lib**: add typescript support to STDIN eval (Marco Ippolito) [#&#8203;56359](https://redirect.github.com/nodejs/node/pull/56359)
-   \[[`d5bf3db0cf`](https://redirect.github.com/nodejs/node/commit/d5bf3db0cf)] - **lib**: allow skipping source maps in node_modules (Chengzhong Wu) [#&#8203;56639](https://redirect.github.com/nodejs/node/pull/56639)
-   \[[`d33eaf2bcb`](https://redirect.github.com/nodejs/node/commit/d33eaf2bcb)] - **lib**: ensure FORCE_COLOR forces color output in non-TTY environments (Pietro Marchini) [#&#8203;55404](https://redirect.github.com/nodejs/node/pull/55404)
-   \[[`dc003218a8`](https://redirect.github.com/nodejs/node/commit/dc003218a8)] - **lib**: optimize `prepareStackTrace` on builtin frames (Chengzhong Wu) [#&#8203;56299](https://redirect.github.com/nodejs/node/pull/56299)
-   \[[`df06524863`](https://redirect.github.com/nodejs/node/commit/df06524863)] - **lib**: suppress source map lookup exceptions (Chengzhong Wu) [#&#8203;56299](https://redirect.github.com/nodejs/node/pull/56299)
-   \[[`35335a5a66`](https://redirect.github.com/nodejs/node/commit/35335a5a66)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#&#8203;56580](https://redirect.github.com/nodejs/node/pull/56580)
-   \[[`1faabdb150`](https://redirect.github.com/nodejs/node/commit/1faabdb150)] - **meta**: add codeowners of security release document (Rafael Gonzaga) [#&#8203;56521](https://redirect.github.com/nodejs/node/pull/56521)
-   \[[`b4ece22ef5`](https://redirect.github.com/nodejs/node/commit/b4ece22ef5)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#&#8203;56342](https://redirect.github.com/nodejs/node/pull/56342)
-   \[[`9ec67e7ce0`](https://redirect.github.com/nodejs/node/commit/9ec67e7ce0)] - **meta**: move MoLow to TSC regular member (Moshe Atlow) [#&#8203;56276](https://redirect.github.com/nodejs/node/pull/56276)
-   \[[`bae4b2e20a`](https://redirect.github.com/nodejs/node/commit/bae4b2e20a)] - **module**: use more defensive code when handling SWC errors (Antoine du Hamel) [#&#8203;56646](https://redirect.github.com/nodejs/node/pull/56646)
-   \[[`1614e8e7bc`](https://redirect.github.com/nodejs/node/commit/1614e8e7bc)] - **(SEMVER-MINOR)** **module**: add ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX (Marco Ippolito) [#&#8203;56610](https://redirect.github.com/nodejs/node/pull/56610)
-   \[[`174d88eab1`](https://redirect.github.com/nodejs/node/commit/174d88eab1)] - **module**: support eval with ts syntax detection (Marco Ippolito) [#&#8203;56285](https://redirect.github.com/nodejs/node/pull/56285)
-   \[[`299d6fa829`](https://redirect.github.com/nodejs/node/commit/299d6fa829)] - **module**: fix jsdoc for `format` parameter in cjs/loader (pacexy) [#&#8203;56501](https://redirect.github.com/nodejs/node/pull/56501)
-   \[[`0307e4dd59`](https://redirect.github.com/nodejs/node/commit/0307e4dd59)] - **module**: unify TypeScript and .mjs handling in CommonJS (Joyee Cheung) [#&#8203;55590](https://redirect.github.com/nodejs/node/pull/55590)
-   \[[`1f4f9be93d`](https://redirect.github.com/nodejs/node/commit/1f4f9be93d)] - **module**: fix async resolution error within the sync `findPackageJSON` (Jacob Smith) [#&#8203;56382](https://redirect.github.com/nodejs/node/pull/56382)
-   \[[`bbedffa0f0`](https://redirect.github.com/nodejs/node/commit/bbedffa0f0)] - **module**: simplify `findPackageJSON` implementation (Antoine du Hamel) [#&#8203;55543](https://redirect.github.com/nodejs/node/pull/55543)
-   \[[`6d6cffa9cc`](https://redirect.github.com/nodejs/node/commit/6d6cffa9cc)] - **(SEMVER-MINOR)** **module**: add `findPackageJSON` util (Jacob Smith) [#&#8203;55412](https://redirect.github.com/nodejs/node/pull/55412)
-   \[[`cd7ce18233`](https://redirect.github.com/nodejs/node/commit/cd7ce18233)] - **module**: fix bad `require.resolve` with option paths for `.` and `..` (Dario Piotrowicz) [#&#8203;56735](https://redirect.github.com/nodejs/node/pull/56735)
-   \[[`152df4da21`](https://redirect.github.com/nodejs/node/commit/152df4da21)] - **module**: rethrow amaro error message (Marco Ippolito) [#&#8203;56568](https://redirect.github.com/nodejs/node/pull/56568)
-   \[[`acba5dc87e`](https://redirect.github.com/nodejs/node/commit/acba5dc87e)] - **module**: use buffer.toString base64 (Chengzhong Wu) [#&#8203;56315](https://redirect.github.com/nodejs/node/pull/56315)
-   \[[`01e69be8ff`](https://redirect.github.com/nodejs/node/commit/01e69be8ff)] - **node-api**: define version 10 (Gabriel Schulhof) [#&#8203;55676](https://redirect.github.com/nodejs/node/pull/55676)
-   \[[`724524528e`](https://redirect.github.com/nodejs/node/commit/724524528e)] - **node-api**: remove deprecated attribute from napi_module_register (Vladimir Morozov) [#&#8203;56162](https://redirect.github.com/nodejs/node/pull/56162)
-   \[[`c78e11064f`](https://redirect.github.com/nodejs/node/commit/c78e11064f)] - **process**: remove support for undocumented symbol (Antoine du Hamel) [#&#8203;56552](https://redirect.github.com/nodejs/node/pull/56552)
-   \[[`3f69b18a23`](https://redirect.github.com/nodejs/node/commit/3f69b18a23)] - **process**: fix symbol key and mark experimental new `node:process` methods (Antoine du Hamel) [#&#8203;56517](https://redirect.github.com/nodejs/node/pull/56517)
-   \[[`d35333ae18`](https://redirect.github.com/nodejs/node/commit/d35333ae18)] - **(SEMVER-MINOR)** **process**: add process.ref() and process.unref() methods (James M Snell) [#&#8203;56400](https://redirect.github.com/nodejs/node/pull/56400)
-   \[[`fa49f0f7d5`](https://redirect.github.com/nodejs/node/commit/fa49f0f7d5)] - **punycode**: limit deprecation warning (Colin Ihrig) [#&#8203;56632](https://redirect.github.com/nodejs/node/pull/56632)
-   \[[`d77c7073b7`](https://redirect.github.com/nodejs/node/commit/d77c7073b7)] - **sqlite**: disable memstatus APIs at build time (Colin Ihrig) [#&#8203;56541](https://redirect.github.com/nodejs/node/pull/56541)
-   \[[`07ff3ddcb5`](https://redirect.github.com/nodejs/node/commit/07ff3ddcb5)] - **(SEMVER-MINOR)** **sqlite**: support TypedArray and DataView in `StatementSync` (Alex Yang) [#&#8203;56385](https://redirect.github.com/nodejs/node/pull/56385)
-   \[[`b6c2e91365`](https://redirect.github.com/nodejs/node/commit/b6c2e91365)] - **sqlite**: enable SQL math functions (Colin Ihrig) [#&#8203;56447](https://redirect.github.com/nodejs/node/pull/56447)
-   \[[`3462263e8b`](https://redirect.github.com/nodejs/node/commit/3462263e8b)] - **sqlite**: pass conflict type to conflict resolution handler (Bart Louwers) [#&#8203;56352](https://redirect.github.com/nodejs/node/pull/56352)
-   \[[`89ba3af743`](https://redirect.github.com/nodejs/node/commit/89ba3af743)] - **src**: add nullptr handling from X509\_STORE_new() (Burkov Egor) [#&#8203;56700](https://redirect.github.com/nodejs/node/pull/56700)
-   \[[`89a7c82e0c`](https://redirect.github.com/nodejs/node/commit/89a7c82e0c)] - **src**: add default value for RSACipherConfig mode field (Burkov Egor) [#&#8203;56701](https://redirect.github.com/nodejs/node/pull/56701)
-   \[[`7bae51e62e`](https://redirect.github.com/nodejs/node/commit/7bae51e62e)] - **src**: fix build with GCC 15 (tjuhaszrh) [#&#8203;56740](https://redirect.github.com/nodejs/node/pull/56740)
-   \[[`432a4b8bd6`](https://redirect.github.com/nodejs/node/commit/432a4b8bd6)] - **src**: fix to generate path from wchar_t via wstring (yamachu) [#&#8203;56696](https://redirect.github.com/nodejs/node/pull/56696)
-   \[[`8c9eaf82f0`](https://redirect.github.com/nodejs/node/commit/8c9eaf82f0)] - **src**: initialize FSReqWrapSync in path that uses it (Michaël Zasso) [#&#8203;56613](https://redirect.github.com/nodejs/node/pull/56613)
-   \[[`bcdb42d40b`](https://redirect.github.com/nodejs/node/commit/bcdb42d40b)] - **src**: handle duplicate paths granted (Rafael Gonzaga) [#&#8203;56591](https://redirect.github.com/nodejs/node/pull/56591)
-   \[[`d6a7acc207`](https://redirect.github.com/nodejs/node/commit/d6a7acc207)] - **src**: update ECKeyPointer in ncrypto (James M Snell) [#&#8203;56526](https://redirect.github.com/nodejs/node/pull/56526)
-   \[[`01922f8b1f`](https://redirect.github.com/nodejs/node/commit/01922f8b1f)] - **src**: update ECPointPointer in ncrypto (James M Snell) [#&#8203;56526](https://redirect.github.com/nodejs/node/pull/56526)
-   \[[`2a3a36eceb`](https://redirect.github.com/nodejs/node/commit/2a3a36eceb)] - **src**: update ECGroupPointer in ncrypto (James M Snell) [#&#8203;56526](https://redirect.github.com/nodejs/node/pull/56526)
-   \[[`67c10cdacb`](https://redirect.github.com/nodejs/node/commit/67c10cdacb)] - **src**: update ECDASSigPointer implementation in ncrypto (James M Snell) [#&#8203;56526](https://redirect.github.com/nodejs/node/pull/56526)
-   \[[`17f931c68b`](https://redirect.github.com/nodejs/node/commit/17f931c68b)] - **src**: cleaning up more crypto internals for ncrypto (James M Snell) [#&#8203;56526](https://redirect.github.com/nodejs/node/pull/56526)
-   \[[`94d3fe1b62`](https://redirect.github.com/nodejs/node/commit/94d3fe1b62)] - **(SEMVER-MINOR)** **src**: add --disable-sigusr1 to prevent signal i/o thread (Rafael Gonzaga) [#&#8203;56441](https://redirect.github.com/nodejs/node/pull/56441)
-   \[[`6594ee8dff`](https://redirect.github.com/nodejs/node/commit/6594ee8dff)] - **src**: fix undefined script name in error source (Chengzhong Wu) [#&#8203;56502](https://redirect.github.com/nodejs/node/pull/56502)
-   \[[`b46bad3e91`](https://redirect.github.com/nodejs/node/commit/b46bad3e91)] - **src**: refactor --trace-env to reuse option selection and handling (Joyee Cheung) [#&#8203;56293](https://redirect.github.com/nodejs/node/pull/56293)
-   \[[`76921b822b`](https://redirect.github.com/nodejs/node/commit/76921b822b)] - **src**: minor cleanups on OneByteString usage (James M Snell) [#&#8203;56482](https://redirect.github.com/nodejs/node/pull/56482)
-   \[[`3f0d1dd4fe`](https://redirect.github.com/nodejs/node/commit/3f0d1dd4fe)] - **src**: move more crypto impl detail to ncrypto dep (James M Snell) [#&#8203;56421](https://redirect.github.com/nodejs/node/pull/56421)
-   \[[`04f623b283`](https://redirect.github.com/nodejs/node/commit/04f623b283)] - **src**: fixup more ToLocalChecked uses in node_file (James M Snell) [#&#8203;56484](https://redirect.github.com/nodejs/node/pull/56484)
-   \[[`5aa436f5a1`](https://redirect.github.com/nodejs/node/commit/5aa436f5a1)] - **src**: make some minor ToLocalChecked cleanups (James M Snell) [#&#8203;56483](https://redirect.github.com/nodejs/node/pull/56483)
-   \[[`6eec5e7ec2`](https://redirect.github.com/nodejs/node/commit/6eec5e7ec2)] - **src**: lock the thread properly in snapshot builder (Joyee Cheung) [#&#8203;56327](https://redirect.github.com/nodejs/node/pull/56327)
-   \[[`5614993968`](https://redirect.github.com/nodejs/node/commit/5614993968)] - **src**: drain platform tasks before creating startup snapshot (Chengzhong Wu) [#&#8203;56403](https://redirect.github.com/nodejs/node/pull/56403)
-   \[[`48493e9fd5`](https://redirect.github.com/nodejs/node/commit/48493e9fd5)] - **src**: use LocalVector in more places (James M Snell) [#&#8203;56457](https://redirect.github.com/nodejs/node/pull/56457)
-   \[[`7e5ea0681e`](https://redirect.github.com/nodejs/node/commit/7e5ea0681e)] - **src**: use v8::LocalVector consistently with other minor cleanups (James M Snell) [#&#8203;56417](https://redirect.github.com/nodejs/node/pull/56417)
-   \[[`ad3d857f2b`](https://redirect.github.com/nodejs/node/commit/ad3d857f2b)] - **src**: use starts_with in fs_permission.cc (ishabi) [#&#8203;55811](https://redirect.github.com/nodejs/node/pull/55811)
-   \[[`5afffb4415`](https://redirect.github.com/nodejs/node/commit/5afffb4415)] - **(SEMVER-MINOR)** **src,worker**: add isInternalWorker (Carlos Espa) [#&#8203;56469](https://redirect.github.com/nodejs/node/pull/56469)
-   \[[`7d1676e72e`](https://redirect.github.com/nodejs/node/commit/7d1676e72e)] - **stream**: fix typo in ReadableStreamBYOBReader.readIntoRequests (Mattias Buelens) [#&#8203;56560](https://redirect.github.com/nodejs/node/pull/56560)
-   \[[`e658ea6b26`](https://redirect.github.com/nodejs/node/commit/e658ea6b26)] - **stream**: validate undefined sizeAlgorithm in WritableStream (Jason Zhang) [#&#8203;56067](https://redirect.github.com/nodejs/node/pull/56067)
-   \[[`e4f133c20c`](https://redirect.github.com/nodejs/node/commit/e4f133c20c)] - **test**: add ts eval snapshots (Marco Ippolito) [#&#8203;56358](https://redirect.github.com/nodejs/node/pull/56358)
-   \[[`f041742400`](https://redirect.github.com/nodejs/node/commit/f041742400)] - **test**: remove empty lines from snapshots (Marco Ippolito) [#&#8203;56358](https://redirect.github.com/nodejs/node/pull/56358)
-   \[[`801cde91f6`](https://redirect.github.com/nodejs/node/commit/801cde91f6)] - **test**: reduce number of written chunks (Luigi Pinca) [#&#8203;56757](https://redirect.github.com/nodejs/node/pull/56757)
-   \[[`6fdf1879ab`](https://redirect.github.com/nodejs/node/commit/6fdf1879ab)] - **test**: fix invalid common.mustSucceed() usage (Luigi Pinca) [#&#8203;56756](https://redirect.github.com/nodejs/node/pull/56756)
-   \[[`d2bfbfa364`](https://redirect.github.com/nodejs/node/commit/d2bfbfa364)] - **test**: use strict mode in global setters test (Rich Trott) [#&#8203;56742](https://redirect.github.com/nodejs/node/pull/56742)
-   \[[`5c030da42f`](https://redirect.github.com/nodejs/node/commit/5c030da42f)] - **test**: cleanup and simplify test-crypto-aes-wrap (James M Snell) [#&#8203;56748](https://redirect.github.com/nodejs/node/pull/56748)
-   \[[`f1442d6eaf`](https://redirect.github.com/nodejs/node/commit/f1442d6eaf)] - **test**: do not use common.isMainThread (Luigi Pinca) [#&#8203;56768](https://redirect.github.com/nodejs/node/pull/56768)
-   \[[`49405bd9e7`](https://redirect.github.com/nodejs/node/commit/49405bd9e7)] - **test**: make some requires lazy in common/index (James M Snell) [#&#8203;56715](https://redirect.github.com/nodejs/node/pull/56715)
-   \[[`52ef376788`](https://redirect.github.com/nodejs/node/commit/52ef376788)] - **test**: add test that uses multibyte for path and resolves modules (yamachu) [#&#8203;56696](https://redirect.github.com/nodejs/node/pull/56696)
-   \[[`b811dea85a`](https://redirect.github.com/nodejs/node/commit/b811dea85a)] - **test**: replace more uses of `global` with `globalThis` (James M Snell) [#&#8203;56712](https://redirect.github.com/nodejs/node/pull/56712)
-   \[[`eb97076199`](https://redirect.github.com/nodejs/node/commit/eb97076199)] - **test**: make common/index slightly less node.js specific (James M Snell) [#&#8203;56712](https://redirect.github.com/nodejs/node/pull/56712)
-   \[[`1795202d19`](https://redirect.github.com/nodejs/node/commit/1795202d19)] - **test**: rely less on duplicative common test harness utilities (James M Snell) [#&#8203;56712](https://redirect.github.com/nodejs/node/pull/56712)
-   \[[`5be29a274e`](https://redirect.github.com/nodejs/node/commit/5be29a274e)] - **test**: simplify common/index.js (James M Snell) [#&#8203;56712](https://redirect.github.com/nodejs/node/pull/56712)
-   \[[`92e99780f0`](https://redirect.github.com/nodejs/node/commit/92e99780f0)] - **test**: move hasMultiLocalhost to common/net (James M Snell) [#&#8203;56716](https://redirect.github.com/nodejs/node/pull/56716)
-   \[[`1c3204a4cc`](https://redirect.github.com/nodejs/node/commit/1c3204a4cc)] - **test**: move crypto related common utilities in common/crypto (James M Snell) [#&#8203;56714](https://redirect.github.com/nodejs/node/pull/56714)
-   \[[`fe79d63be0`](https://redirect.github.com/nodejs/node/commit/fe79d63be0)] - **test**: add missing test for env file (Jonas) [#&#8203;56642](https://redirect.github.com/nodejs/node/pull/56642)
-   \[[`e08af61537`](https://redirect.github.com/nodejs/node/commit/e08af61537)] - **test**: enforce strict mode in test-zlib-const (Rich Trott) [#&#8203;56689](https://redirect.github.com/nodejs/node/pull/56689)
-   \[[`c96792d7f8`](https://redirect.github.com/nodejs/node/commit/c96792d7f8)] - **test**: fix localization data for ICU 74.2 (Antoine du Hamel) [#&#8203;56661](https://redirect.github.com/nodejs/node/pull/56661)
-   \[[`48b72f1195`](https://redirect.github.com/nodejs/node/commit/48b72f1195)] - **test**: use --permission instead of --experimental-permission (Rafael Gonzaga) [#&#8203;56685](https://redirect.github.com/nodejs/node/pull/56685)
-   \[[`de81d90fce`](https://redirect.github.com/nodejs/node/commit/de81d90fce)] - **test**: test-stream-compose.js doesn't need internals (Meghan Denny) [#&#8203;56619](https://redirect.github.com/nodejs/node/pull/56619)
-   \[[`f5b8499ad0`](https://redirect.github.com/nodejs/node/commit/f5b8499ad0)] - **test**: add maxCount and gcOptions to gcUntil() (Joyee Cheung) [#&#8203;56522](https://redirect.github.com/nodejs/node/pull/56522)
-   \[[`d9e5a81041`](https://redirect.github.com/nodejs/node/commit/d9e5a81041)] - **test**: add line break at end of file (Rafael Gonzaga) [#&#8203;56588](https://redirect.github.com/nodejs/node/pull/56588)
-   \[[`59be346fbf`](https://redirect.github.com/nodejs/node/commit/59be346fbf)] - **test**: mark test-worker-prof as flaky on smartos (Joyee Cheung) [#&#8203;56583](https://redirect.github.com/nodejs/node/pull/56583)
-   \[[`12a2cae9e5`](https://redirect.github.com/nodejs/node/commit/12a2cae9e5)] - **test**: update test-child-process-bad-stdio to use node:test (Colin Ihrig) [#&#8203;56562](https://redirect.github.com/nodejs/node/pull/56562)
-   \[[`2dc4a30e19`](https://redirect.github.com/nodejs/node/commit/2dc4a30e19)] - **test**: disable openssl 3.4.0 incompatible tests (Jelle van der Waa) [#&#8203;56160](https://redirect.github.com/nodejs/node/pull/56160)
-   \[[`1950fbf51d`](https://redirect.github.com/nodejs/node/commit/1950fbf51d)] - **test**: make test-crypto-hash compatible with OpenSSL > 3.4.0 (Jelle van der Waa) [#&#8203;56160](https://redirect.github.com/nodejs/node/pull/56160)
-   \[[`a533420a91`](https://redirect.github.com/nodejs/node/commit/a533420a91)] - **test**: clarify fork inherit permission flags (Rafael Gonzaga) [#&#8203;56523](https://redirect.github.com/nodejs/node/pull/56523)
-   \[[`697e799dc1`](https://redirect.github.com/nodejs/node/commit/697e799dc1)] - **test**: add error only reporter for node:test (Carlos Espa) [#&#8203;56438](https://redirect.github.com/nodejs/node/pull/56438)
-   \[[`4844fa212d`](https://redirect.github.com/nodejs/node/commit/4844fa212d)] - **test**: mark test-http-server-request-timeouts-mixed as flaky (Joyee Cheung) [#&#8203;56503](https://redirect.github.com/nodejs/node/pull/56503)
-   \[[`843c2389b9`](https://redirect.github.com/nodejs/node/commit/843c2389b9)] - **test**: update error code in tls-psk-circuit for for OpenSSL 3.4 (sebastianas) [#&#8203;56420](https://redirect.github.com/nodejs/node/pull/56420)
-   \[[`ccb2ddbd83`](https://redirect.github.com/nodejs/node/commit/ccb2ddbd83)] - **test**: update compiled sqlite tests to match other tests (Colin Ihrig) [#&#8203;56446](https://redirect.github.com/nodejs/node/pull/56446)
-   \[[`b40f50324d`](https://redirect.github.com/nodejs/node/commit/b40f50324d)] - **test**: add initial test426 coverage (Chengzhong Wu) [#&#8203;56436](https://redirect.github.com/nodejs/node/pull/56436)
-   \[[`059f81e4fd`](https://redirect.github.com/nodejs/node/commit/059f81e4fd)] - **test**: update test-set-http-max-http-headers to use node:test (Colin Ihrig) [#&#8203;56439](https://redirect.github.com/nodejs/node/pull/56439)
-   \[[`ec2940b418`](https://redirect.github.com/nodejs/node/commit/ec2940b418)] - **test**: update test-child-process-windows-hide to use node:test (Colin Ihrig) [#&#8203;56437](https://redirect.github.com/nodejs/node/pull/56437)
-   \[[`0362924880`](https://redirect.github.com/nodejs/node/commit/0362924880)] - **test**: use unusual chars in the path to ensure our tests are robust (Antoine du Hamel) [#&#8203;48409](https://redirect.github.com/nodejs/node/pull/48409)
-   \[[`b6c3869910`](https://redirect.github.com/nodejs/node/commit/b6c3869910)] - **test**: improve abort signal dropping test (Edy Silva) [#&#8203;56339](https://redirect.github.com/nodejs/node/pull/56339)
-   \[[`cc648ef923`](https://redirect.github.com/nodejs/node/commit/cc648ef923)] - **test**: enable ts test on win arm64 (Marco Ippolito) [#&#8203;56349](https://redirect.github.com/nodejs/node/pull/56349)
-   \[[`68819b4997`](https://redirect.github.com/nodejs/node/commit/68819b4997)] - **test**: deflake test-watch-file-shared-dependency (Luigi Pinca) [#&#8203;56344](https://redirect.github.com/nodejs/node/pull/56344)
-   \[[`ca6ed2190c`](https://redirect.github.com/nodejs/node/commit/ca6ed2190c)] - **test**: skip `test-sqlite-extensions` when SQLite is not built by us (Antoine du Hamel) [#&#8203;56341](https://redirect.github.com/nodejs/node/pull/56341)
-   \[[`8ffeb8b58c`](https://redirect.github.com/nodejs/node/commit/8ffeb8b58c)] - **test**: increase spin for eventloop test on s390 (Michael Dawson) [#&#8203;56228](https://redirect.github.com/nodejs/node/pull/56228)
-   \[[`6ae9950f08`](https://redirect.github.com/nodejs/node/commit/6ae9950f08)] - **test**: migrate message eval tests from Python to JS (Yiyun Lei) [#&#8203;50482](https://redirect.github.com/nodejs/node/pull/50482)
-   \[[`4352bf69e9`](https://redirect.github.com/nodejs/node/commit/4352bf69e9)] - **test**: check typescript loader (Marco Ippolito) [#&#8203;54657](https://redirect.github.com/nodejs/node/pull/54657)
-   \[[`406e7db9c3`](https://redirect.github.com/nodejs/node/commit/406e7db9c3)] - **test**: remove async-hooks/test-writewrap flaky designation (Luigi Pinca) [#&#8203;56048](https://redirect.github.com/nodejs/node/pull/56048)
-   \[[`fa56ab2bba`](https://redirect.github.com/nodejs/node/commit/fa56ab2bba)] - **test**: deflake test-esm-loader-hooks-inspect-brk (Luigi Pinca) [#&#8203;56050](https://redirect.github.com/nodejs/node/pull/56050)
-   \[[`8e149aac99`](https://redirect.github.com/nodejs/node/commit/8e149aac99)] - **test**: add test case for listeners (origranot) [#&#8203;56282](https://redirect.github.com/nodejs/node/pull/56282)
-   \[[`a3f5ef22cd`](https://redirect.github.com/nodejs/node/commit/a3f5ef22cd)] - **test**: make `test-permission-sqlite-load-extension` more robust (Antoine du Hamel) [#&#8203;56295](https://redirect.github.com/nodejs/node/pull/56295)
-   \[[`8cbb7cc838`](https://redirect.github.com/nodejs/node/commit/8cbb7cc838)] - **test_runner**: print failing assertion only once with spec reporter (Pietro Marchini) [#&#8203;56662](https://redirect.github.com/nodejs/node/pull/56662)
-   \[[`1f426bad9a`](https://redirect.github.com/nodejs/node/commit/1f426bad9a)] - **test_runner**: remove unused errors (Pietro Marchini) [#&#8203;56607](https://redirect.github.com/nodejs/node/pull/56607)
-   \[[`697a851fb3`](https://redirect.github.com/nodejs/node/commit/697a851fb3)] - **(SEMVER-MINOR)** **test_runner**: add TestContext.prototype.waitFor() (Colin Ihrig) [#&#8203;56595](https://redirect.github.com/nodejs/node/pull/56595)
-   \[[`047537b48c`](https://redirect.github.com/nodejs/node/commit/047537b48c)] - **(SEMVER-MINOR)** **test_runner**: add t.assert.fileSnapshot() (Colin Ihrig) [#&#8203;56459](https://redirect.github.com/nodejs/node/pull/56459)
-   \[[`19b4aa4b14`](https://redirect.github.com/nodejs/node/commit/19b4aa4b14)] - **test_runner**: run single test file benchmark (Pietro Marchini) [#&#8203;56479](https://redirect.github.com/nodejs/node/pull/56479)
-   \[[`926cf84e95`](https://redirect.github.com/nodejs/node/commit/926cf84e95)] - **(SEMVER-MINOR)** **test_runner**: add assert.register() API (Colin Ihrig) [#&#8203;56434](https://redirect.github.com/nodejs/node/pull/56434)
-   \[[`fb4661a4cf`](https://redirect.github.com/nodejs/node/commit/fb4661a4cf)] - **test_runner**: finish marking snapshot testing as stable (Colin Ihrig) [#&#8203;56425](https://redirect.github.com/nodejs/node/pull/56425)
-   \[[`900c6c3940`](https://redirect.github.com/nodejs/node/commit/900c6c3940)] - **tls**: fix error stack conversion in cryptoErrorListToException() (Joyee Cheung) [#&#8203;56554](https://redirect.github.com/nodejs/node/pull/56554)
-   \[[`e9f185b658`](https://redirect.github.com/nodejs/node/commit/e9f185b658)] - **tools**: update doc to new version (Node.js GitHub Bot) [#&#8203;56259](https://redirect.github.com/nodejs/node/pull/56259)
-   \[[`7644c7e619`](https://redirect.github.com/nodejs/node/commit/7644c7e619)] - **tools**: update inspector_protocol roller (Chengzhong Wu) [#&#8203;56649](https://redirect.github.com/nodejs/node/pull/56649)
-   \[[`362272b0a4`](https://redirect.github.com/nodejs/node/commit/362272b0a4)] - **tools**: do not throw on missing `create-release-proposal.sh` (Antoine du Hamel) [#&#8203;56704](https://redirect.github.com/nodejs/node/pull/56704)
-   \[[`df8b835953`](https://redirect.github.com/nodejs/node/commit/df8b835953)] - **tools**: fix tools-deps-update (Daniel Lemire) [#&#8203;56684](https://redirect.github.com/nodejs/node/pull/56684)
-   \[[`feba5d3274`](https://redirect.github.com/nodejs/node/commit/feba5d3274)] - **tools**: do not throw on missing `create-release-proposal.sh` (Antoine du Hamel) [#&#8203;56695](https://redirect.github.com/nodejs/node/pull/56695)
-   \[[`9827f7d395`](https://redirect.github.com/nodejs/node/commit/9827f7d395)] - **tools**: fix permissions in `lint-release-proposal` workflow (Antoine du Hamel) [#&#8203;56614](https://redirect.github.com/nodejs/node/pull/56614)
-   \[[`14c562c0dc`](https://redirect.github.com/nodejs/node/commit/14c562c0dc)] - **tools**: remove github reporter (Carlos Espa) [#&#8203;56468](https://redirect.github.com/nodejs/node/pull/56468)
-   \[[`ed1785d0ae`](https://redirect.github.com/nodejs/node/commit/ed1785d0ae)] - **tools**: edit `create-release-proposal` workflow (Antoine du Hamel) [#&#8203;56540](https://redirect.github.com/nodejs/node/pull/56540)
-   \[[`294e4c42f5`](https://redirect.github.com/nodejs/node/commit/294e4c42f5)] - **tools**: validate commit list as part of `lint-release-commit` (Antoine du Hamel) [#&#8203;56291](https://redirect.github.com/nodejs/node/pull/56291)
-   \[[`98d3474267`](https://redirect.github.com/nodejs/node/commit/98d3474267)] - **tools**: fix loong64 build failed (Xiao-Tao) [#&#8203;56466](https://redirect.github.com/nodejs/node/pull/56466)
-   \[[`3e729ceec8`](https://redirect.github.com/nodejs/node/commit/3e729ceec8)] - **tools**: disable unneeded rule ignoring in Python linting (Rich Trott) [#&#8203;56429](https://redirect.github.com/nodejs/node/pull/56429)
-   \[[`d5c05328e2`](https://redirect.github.com/nodejs/node/commit/d5c05328e2)] - **tools**: use a configurable value for number of open dependabot PRs (Antoine du Hamel) [#&#8203;56427](https://redirect.github.com/nodejs/node/pull/56427)
-   \[[`1705cbe002`](https://redirect.github.com/nodejs/node/commit/1705cbe002)] - **tools**: bump the eslint group in /tools/eslint with 4 updates (dependabot\[bot]) [#&#8203;56426](https://redirect.github.com/nodejs/node/pull/56426)
-   \[[`53b29b0469`](https://redirect.github.com/nodejs/node/commit/53b29b0469)] - **tools**: fix `require-common-first` lint rule from subfolder (Antoine du Hamel) [#&#8203;56325](https://redirect.github.com/nodejs/node/pull/56325)
-   \[[`105c4ed4fb`](https://redirect.github.com/nodejs/node/commit/105c4ed4fb)] - **tools**: add release line label when opening release proposal (Antoine du Hamel) [#&#8203;56317](https://redirect.github.com/nodejs/node/pull/56317)
-   \[[`30f61f4aa5`](https://redirect.github.com/nodejs/node/commit/30f61f4aa5)] - **url**: use resolved path to convert UNC paths to URL (Antoine du Hamel) [#&#8203;56302](https://redirect.github.com/nodejs/node/pull/56302)
-   \[[`a0aef4dfb6`](https://redirect.github.com/nodejs/node/commit/a0aef4dfb6)] - **util**: inspect: do not crash on an Error stack that contains a Symbol (Jordan Harband) [#&#8203;56573](https://redirect.github.com/nodejs/node/pull/56573)
-   \[[`a8a060341f`](https://redirect.github.com/nodejs/node/commit/a8a060341f)] - **util**: inspect: do not crash on an Error with a regex `name` (Jordan Harband) [#&#8203;56574](https://redirect.github.com/nodejs/node/pull/56574)
-   \[[`ea66bf3553`](https://redirect.github.com/nodejs/node/commit/ea66bf3553)] - **util**: rename CallSite.column to columnNumber (Chengzhong Wu) [#&#8203;56584](https://redirect.github.com/nodejs/node/pull/56584)
-   \[[`9cdc3b373c`](https://redirect.github.com/nodejs/node/commit/9cdc3b373c)] - **util**: do not crash on inspecting function with `Symbol` name (Jordan Harband) [#&#8203;56572](https://redirect.github.com/nodejs/node/pull/56572)
-   \[[`0bfbb68569`](https://redirect.github.com/nodejs/node/commit/0bfbb68569)] - **util**: expose CallSite.scriptId (Chengzhong Wu) [#&#8203;56551](https://redirect.github.com/nodejs/node/pull/56551)
-   \[[`5dd7116e09`](https://redirect.github.com/nodejs/node/commit/5dd7116e09)] - **watch**: reload env file for --env-file-if-exists (Jonas) [#&#8203;56643](https://redirect.github.com/nodejs/node/pull/56643)
-   \[[`c658a8afdf`](https://redirect.github.com/nodejs/node/commit/c658a8afdf)] - **(SEMVER-MINOR)** **worker**: add eval ts input (Marco Ippolito) [#&#8203;56394](https://redirect.github.com/nodejs/node/pull/56394)
-   \[[`2e5d038f48`](https://redirect.github.com/nodejs/node/commit/2e5d038f48)] - **worker**: refactor stdio to improve performance (Matteo Collina) [#&#8203;56630](https://redirect.github.com/nodejs/node/pull/56630)
-   \[[`f959805d01`](https://redirect.github.com/nodejs/node/commit/f959805d01)] - **worker**: flush stdout and stderr on exit (Matteo Collina) [#&#8203;56428](https://redirect.github.com/nodejs/node/pull/56428)

### [`v22.13.1`](https://redirect.github.com/nodejs/node/releases/tag/v22.13.1): 2025-01-21, Version 22.13.1 &#x27;Jod&#x27; (LTS), @&#8203;RafaelGSS

[Compare Source](https://redirect.github.com/nodejs/node/compare/v22.13.0...v22.13.1)

This is a security release.

##### Notable Changes

-   CVE-2025-23083 - src,loader,permission: throw on InternalWorker use when permission model is enabled (High)
-   CVE-2025-23085 - src: fix HTTP2 mem leak on premature close and ERR_PROTO (Medium)
-   CVE-2025-23084 - path: fix path traversal in normalize() on Windows (Medium)

Dependency update:

-   CVE-2025-22150 - Use of Insufficiently Random Values in undici fetch() (Medium)

##### Commits

-   \[[`520da342e0`](https://redirect.github.com/nodejs/node/commit/520da342e0)] - **(CVE-2025-22150)** **deps**: update undici to v6.21.1 (Matteo Collina) [nodejs-private/node-private#662](https://redirect.github.com/nodejs-private/node-private/pull/662)
-   \[[`99f217369f`](https://redirect.github.com/nodejs/node/commit/99f217369f)] - **(CVE-2025-23084)** **path**: fix path traversal in normalize() on Windows (Tobias Nießen) [nodejs-private/node-private#555](https://redirect.github.com/nodejs-private/node-private/pull/555)
-   \[[`984f735e35`](https://redirect.github.com/nodejs/node/commit/984f735e35)] - **(CVE-2025-23085)** **src**: fix HTTP2 mem leak on premature close and ERR_PROTO (RafaelGSS) [nodejs-private/node-private#650](https://redirect.github.com/nodejs-private/node-private/pull/650)
-   \[[`2446870618`](https://redirect.github.com/nodejs/node/commit/2446870618)] - **(CVE-2025-23083)** **src,loader,permission**: throw on InternalWorker use (RafaelGSS) [nodejs-private/node-private#651](https://redirect.github.com/nodejs-private/node-private/pull/651)

### [`v22.13.0`](https://redirect.github.com/nodejs/node/releases/tag/v22.13.0): 2025-01-07, Version 22.13.0 &#x27;Jod&#x27; (LTS), @&#8203;ruyadorno

[Compare Source](https://redirect.github.com/nodejs/node/compare/v22.12.0...v22.13.0)

##### Notable Changes

##### Stabilize Permission Model

Upgrades the Permission Model status from Active Development to Stable.

Contributed by Rafael Gonzaga [#&#8203;56201](https://redirect.github.com/nodejs/node/pull/56201)

##### Graduate WebCryptoAPI [`Ed25519`](https://redirect.github.com/nodejs/node/commit/Ed25519) and X25519 algorithms as stable

Following the merge of Curve25519 into the [Web Cryptography API Editor's Draft](https://w3c.github.io/webcrypto/) the `Ed25519` and `X25519` algorithm identifiers are now stable and will no longer emit an ExperimentalWarning upon use.

Contributed by (Filip Skokan) [#&#8203;56142](https://redirect.github.com/nodejs/node/pull/56142)

##### Other Notable Changes

-   \[[`05d6227a88`](https://redirect.github.com/nodejs/node/commit/05d6227a88)] - **(SEMVER-MINOR)** **assert**: add partialDeepStrictEqual (Giovanni Bucci) [#&#8203;54630](https://redirect.github.com/nodejs/node/pull/54630)
-   \[[`a933103499`](https://redirect.github.com/nodejs/node/commit/a933103499)] - **(SEMVER-MINOR)** **cli**: implement --trace-env and --trace-env-\[js|native]-stack (Joyee Cheung) [#&#8203;55604](https://redirect.github.com/nodejs/node/pull/55604)
-   \[[`ba9d5397de`](https://redirect.github.com/nodejs/node/commit/ba9d5397de)] - **(SEMVER-MINOR)** **dgram**: support blocklist in udp (theanarkh) [#&#8203;56087](https://redirect.github.com/nodejs/node/pull/56087)
-   \[[`f6d0c01303`](https://redirect.github.com/nodejs/node/commit/f6d0c01303)] - **doc**: stabilize util.styleText (Rafael Gonzaga) [#&#8203;56265](https://redirect.github.com/nodejs/node/pull/56265)
-   \[[`34c68827af`](https://redirect.github.com/nodejs/node/commit/34c68827af)] - **doc**: move typescript support to active development (Marco Ippolito) [#&#8203;55536](https://redirect.github.com/nodejs/node/pull/55536)
-   \[[`dd14b80350`](https://redirect.github.com/nodejs/node/commit/dd14b80350)] - **doc**: add LJHarb to collaborators (Jordan Harband) [#&#8203;56132](https://redirect.github.com/nodejs/node/pull/56132)
-   \[[`5263086169`](https://redirect.github.com/nodejs/node/commit/5263086169)] - **(SEMVER-MINOR)** **doc**: add report version and history section (Chengzhong Wu) [#&#8203;56130](https://redirect.github.com/nodejs/node/pull/56130)
-   \[[`8cb3c2018d`](https://redirect.github.com/nodejs/node/commit/8cb3c2018d)] - **(SEMVER-MINOR)** **doc**: sort --report-exclude alphabetically (Rafael Gonzaga) [#&#8203;55788](https://redirect.github.com/nodejs/node/pull/55788)
-   \[[`55239a48b6`](https://redirect.github.com/nodejs/node/commit/55239a48b6)] - **(SEMVER-MINOR)** **doc,lib,src,test**: unflag sqlite module (Colin Ihrig) [#&#8203;55890](https://redirect.github.com/nodejs/node/pull/55890)
-   \[[`7cbe3de1d8`](https://redirect.github.com/nodejs/node/commit/7cbe3de1d8)] - **(SEMVER-MINOR)** **module**: only emit require(esm) warning under --trace-require-module (Joyee Cheung) [#&#8203;56194](https://redirect.github.com/nodejs/node/pull/56194)
-   \[[`6575b76042`](https://redirect.github.com/nodejs/node/commit/6575b76042)] - **(SEMVER-MINOR)** **module**: add module.stripTypeScriptTypes (Marco Ippolito) [#&#8203;55282](https://redirect.github.com/nodejs/node/pull/55282)
-   \[[`bacfe6d5c9`](https://redirect.github.com/nodejs/node/commit/bacfe6d5c9)] - **(SEMVER-MINOR)** **net**: support blocklist in net.connect (theanarkh) [#&#8203;56075](https://redirect.github.com/nodejs/node/pull/56075)
-   \[[`b47888d390`](https://redirect.github.com/nodejs/node/commit/b47888d390)] - **(SEMVER-MINOR)** **net**: support blocklist for net.Server (theanarkh) [#&#8203;56079](https://redirect.github.com/nodejs/node/pull/56079)
-   \[[`566f0a1d25`](https://redirect.github.com/nodejs/node/commit/566f0a1d25)] - **(SEMVER-MINOR)** **net**: add SocketAddress.parse (James M Snell) [#&#8203;56076](https://redirect.github.com/nodejs/node/pull/56076)
-   \[[`ed7eab1421`](https://redirect.github.com/nodejs/node/commit/ed7eab1421)] - **(SEMVER-MINOR)** **net**: add net.BlockList.isBlockList(value) (James M Snell) [#&#8203;56078](https://redirect.github.com/nodejs/node/pull/56078)
-   \[[`ea4891856d`](https://redirect.github.com/nodejs/node/commit/ea4891856d)] - **(SEMVER-MINOR)** **process**: deprecate `features.{ipv6,uv}` and `features.tls_*` (René) [#&#8203;55545](https://redirect.github.com/nodejs/node/pull/55545)
-   \[[`01eb308f26`](https://redirect.github.com/nodejs/node/commit/01eb308f26)] - **(SEMVER-MINOR)** **report**: fix typos in report keys and bump the version (Yuan-Ming Hsu) [#&#8203;56068](https://redirect.github.com/nodejs/node/pull/56068)
-   \[[`97c38352d0`](https://redirect.github.com/nodejs/node/commit/97c38352d0)] - **(SEMVER-MINOR)** **sqlite**: aggregate constants in a single property (Edigleysson Silva (Edy)) [#&#8203;56213](https://redirect.github.com/nodejs/node/pull/56213)
-   \[[`b4041e554a`](https://redirect.github.com/nodejs/node/commit/b4041e554a)] - **(SEMVER-MINOR)** **sqlite**: add `StatementSync.prototype.iterate` method (tpoisseau) [#&#8203;54213](https://redirect.github.com/nodejs/node/pull/54213)
-   \[[`2e3ca1bbdd`](https://redirect.github.com/nodejs/node/commit/2e3ca1bbdd)] - **(SEMVER-MINOR)** **src**: add cli option to preserve env vars on diagnostic reports (Rafael Gonzaga) [#&#8203;55697](https://redirect.github.com/nodejs/node/pull/55697)
-   \[[`bcfe9c80fc`](https://redirect.github.com/nodejs/node/commit/bcfe9c80fc)] - **(SEMVER-MINOR)** **util**: add sourcemap support to getCallSites (Marco Ippolito) [#&#8203;55589](https://redirect.github.com/nodejs/node/pull/55589)

##### Commits

-   \[[`e9024779c0`](https://redirect.github.com/nodejs/node/commit/e9024779c0)] - **assert**: make Maps be partially compared in partialDeepStrictEqual (Giovanni Bucci) [#&#8203;56195](https://redirect.github.com/nodejs/node/pull/56195)
-   \[[`4c13d8e587`](https://redirect.github.com/nodejs/node/commit/4c13d8e587)] - **assert**: make partialDeepStrictEqual work with ArrayBuffers (Giovanni Bucci) [#&#8203;56098](https://redirect.github.com/nodejs/node/pull/56098)
-   \[[`a4fa31a86e`](https://redirect.github.com/nodejs/node/commit/a4fa31a86e)] - **assert**: optimize partial comparison of two `Set`s (Antoine du Hamel) [#&#8203;55970](https://redirect.github.com/nodejs/node/pull/55970)
-   \[[`05d6227a88`](https://redirect.github.com/nodejs/node/commit/05d6227a88)] - **(SEMVER-MINOR)** **assert**: add partialDeepStrictEqual (Giovanni Bucci) [#&#8203;54630](https://redirect.github.com/nodejs/node/pull/54630)
-   \[[`5e1321abd7`](https://redirect.github.com/nodejs/node/commit/5e1321abd7)] - **buffer**: document concat zero-fill (Duncan) [#&#8203;55562](https://redirect.github.com/nodejs/node/pull/55562)
-   \[[`be5ba7c648`](https://redirect.github.com/nodejs/node/commit/be5ba7c648)] - **build**: set DESTCPU correctly for 'make binary' on loongarch64 (吴小白) [#&#8203;56271](https://redirect.github.com/nodejs/node/pull/56271)
-   \[[`38cf37ee2d`](https://redirect.github.com/nodejs/node/commit/38cf37ee2d)] - **build**: fix missing fp16 dependency in d8 builds (Joyee Cheung) [#&#8203;56266](https://redirect.github.com/nodejs/node/pull/56266)
-   \[[`dbb7557455`](https://redirect.github.com/nodejs/node/commit/dbb7557455)] - **build**: add major release action (Rafael Gonzaga) [#&#8203;56199](https://redirect.github.com/nodejs/node/pull/56199)
-   \[[`27cc90f3be`](https://redirect.github.com/nodejs/node/commit/27cc90f3be)] - **build**: fix C string encoding for `PRODUCT_DIR_ABS` (Anna Henningsen) [#&#8203;56111](https://redirect.github.com/nodejs/node/pull/56111)
-   \[[`376561c2b4`](https://redirect.github.com/nodejs/node/commit/376561c2b4)] - **build**: use variable for simdutf path (Shelley Vohr) [#&#8203;56196](https://redirect.github.com/nodejs/node/pull/56196)
-   \[[`126ae15000`](https://redirect.github.com/nodejs/node/commit/126ae15000)] - **build**: allow overriding clang usage (Shelley Vohr) [#&#8203;56016](https://redirect.github.com/nodejs/node/pull/56016)
-   \[[`97bb8f7c76`](https://redirect.github.com/nodejs/node/commit/97bb8f7c76)] - **build**: remove defaults for create-release-proposal (Rafael Gonzaga) [#&#8203;56042](https://redirect.github.com/nodejs/node/pull/56042)
-   \[[`a8fb1a06f3`](https://redirect.github.com/nodejs/node/commit/a8fb1a06f3)] - **build**: set node_arch to target_cpu in GN (Shelley Vohr) [#&#8203;55967](https://redirect.github.com/nodejs/node/pull/55967)
-   \[[`9f48ca27f1`](https://redirect.github.com/nodejs/node/commit/9f48ca27f1)] - **build**: use variable for crypto dep path (Shelley Vohr) [#&#8203;

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-01 10:45:10 +00:00
zzj3720
08327b14d6 fix(editor): database block columns popover closes unexpectedly (#11352)
fix: BS-2906
2025-04-01 10:32:23 +00:00
fundon
7af5e53838 refactor(editor): image toolbar config extension (#11329)
Closes: [BS-2378](https://linear.app/affine-design/issue/BS-2378/image-toolbar-迁移)
2025-04-01 10:04:28 +00:00
Lakr
032244ae61 feat(ios): translate & continue to chat & clear history (#11347) 2025-04-01 18:03:48 +08:00
akumatus
b74d40d45f refactor(core): ai chat chips (#11341)
Support [BS-2583](https://linear.app/affine-design/issue/BS-2583).

### What changed?
- Move chat panel chip components to `/components` folder.
- Separate `chips` and `embeddingProgress` from ChatContextValue.
2025-04-01 09:15:16 +00:00
pengx17
9cb80205f8 chore(electron): add telemetry events for enabling meetings (#11327)
fix AF-2436
2025-04-01 09:01:31 +00:00
EYHN
275098abe2 fix(core): improve tag list performance (#11353) 2025-04-01 08:48:09 +00:00
zzj3720
ab60203849 fix(editor): database block view layout menu style (#11312)
fix: BS-2950
2025-04-01 08:31:02 +00:00
renovate
cfd709bbbc chore: bump up oxlint version to v0.16.4 (#11349)
This PR contains the following updates:

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

---

### Release Notes

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

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

#### \[0.16.4] - 2025-04-01

-   [`cd1f035`](https://redirect.github.com/oxc-project/oxc/commit/cd1f035) semantic: \[**BREAKING**] Store symbol information as the first entry in `symbol_declarations` when it is redeclared ([#&#8203;10062](https://redirect.github.com/oxc-project/oxc/issues/10062)) (Dunqing)

-   [`da6336c`](https://redirect.github.com/oxc-project/oxc/commit/da6336c) language_server: \[**BREAKING**] Remove `enable` configuration, the client should shutdown the server instead ([#&#8203;9990](https://redirect.github.com/oxc-project/oxc/issues/9990)) (Sysix)

##### Features

-   [`06e3db9`](https://redirect.github.com/oxc-project/oxc/commit/06e3db9) linter: Support `multipleFileExtensions` option for `unicorn/filename-case` ([#&#8203;10118](https://redirect.github.com/oxc-project/oxc/issues/10118)) (shulaoda)
-   [`dbe0e46`](https://redirect.github.com/oxc-project/oxc/commit/dbe0e46) linter: Support `ignore` option for `unicorn/filename-case` ([#&#8203;10107](https://redirect.github.com/oxc-project/oxc/issues/10107)) (shulaoda)
-   [`84a3490`](https://redirect.github.com/oxc-project/oxc/commit/84a3490) semantic: Add `symbol_id` for declare function binding ([#&#8203;10078](https://redirect.github.com/oxc-project/oxc/issues/10078)) (Dunqing)
-   [`370266c`](https://redirect.github.com/oxc-project/oxc/commit/370266c) semantic: Check redeclaration of variable declaration and function declaration in the block scope ([#&#8203;10074](https://redirect.github.com/oxc-project/oxc/issues/10074)) (Dunqing)
-   [`b804f7c`](https://redirect.github.com/oxc-project/oxc/commit/b804f7c) semantic: Introduce `Redeclaraion` for `Scoping::symbol_declarations` ([#&#8203;10059](https://redirect.github.com/oxc-project/oxc/issues/10059)) (Dunqing)

##### Bug Fixes

-   [`0a33e27`](https://redirect.github.com/oxc-project/oxc/commit/0a33e27) editor: Update `initializationOptions` for a possible restart ([#&#8203;10121](https://redirect.github.com/oxc-project/oxc/issues/10121)) (Sysix)
-   [`ac780a2`](https://redirect.github.com/oxc-project/oxc/commit/ac780a2) editor: Repair filewatchers when no custom config provided ([#&#8203;10104](https://redirect.github.com/oxc-project/oxc/issues/10104)) (Sysix)
-   [`4303ace`](https://redirect.github.com/oxc-project/oxc/commit/4303ace) editor: Dont send `didChangeConfiguration` request to the server when it is shutdown ([#&#8203;10084](https://redirect.github.com/oxc-project/oxc/issues/10084)) (Sysix)
-   [`07f2a25`](https://redirect.github.com/oxc-project/oxc/commit/07f2a25) editor: Enable regex parsing in language server ([#&#8203;10035](https://redirect.github.com/oxc-project/oxc/issues/10035)) (camchenry)
-   [`fcf7702`](https://redirect.github.com/oxc-project/oxc/commit/fcf7702) language_server: Start from a default oxlint configuration + SafeFix for nested configuration ([#&#8203;10043](https://redirect.github.com/oxc-project/oxc/issues/10043)) (Sysix)
-   [`aba3654`](https://redirect.github.com/oxc-project/oxc/commit/aba3654) linter: Span disable directive correctly on next line ([#&#8203;10141](https://redirect.github.com/oxc-project/oxc/issues/10141)) (Ulrich Stark 🦀)
-   [`2c80858`](https://redirect.github.com/oxc-project/oxc/commit/2c80858) linter: Enable multi-file analysis for nested configs ([#&#8203;10089](https://redirect.github.com/oxc-project/oxc/issues/10089)) (camchenry)

##### Performance

-   [`566be59`](https://redirect.github.com/oxc-project/oxc/commit/566be59) linter: Replace `phf_set` with `array` in `eslint/func-names` ([#&#8203;10119](https://redirect.github.com/oxc-project/oxc/issues/10119)) (shulaoda)
-   [`5e14fe9`](https://redirect.github.com/oxc-project/oxc/commit/5e14fe9) linter: Inline `PRE_DEFINE_VAR` and use `array` format ([#&#8203;10079](https://redirect.github.com/oxc-project/oxc/issues/10079)) (shulaoda)

##### Refactor

-   [`327be53`](https://redirect.github.com/oxc-project/oxc/commit/327be53) editor: `LanguageClient` can be undefined ([#&#8203;10112](https://redirect.github.com/oxc-project/oxc/issues/10112)) (Sysix)
-   [`5ec477c`](https://redirect.github.com/oxc-project/oxc/commit/5ec477c) editor: Make `onConfigChange` async ([#&#8203;10110](https://redirect.github.com/oxc-project/oxc/issues/10110)) (Sysix)
-   [`a278d73`](https://redirect.github.com/oxc-project/oxc/commit/a278d73) editor: Use warning background when the plugin is deactived ([#&#8203;10085](https://redirect.github.com/oxc-project/oxc/issues/10085)) (Sysix)
-   [`c0e5251`](https://redirect.github.com/oxc-project/oxc/commit/c0e5251) language_server: Set `null` as a default value for `configPath` ([#&#8203;10047](https://redirect.github.com/oxc-project/oxc/issues/10047)) (Sysix)
-   [`09c0ac6`](https://redirect.github.com/oxc-project/oxc/commit/09c0ac6) linter: Improve `unicorn/filename-case` ([#&#8203;10117](https://redirect.github.com/oxc-project/oxc/issues/10117)) (shulaoda)
-   [`d8e49a1`](https://redirect.github.com/oxc-project/oxc/commit/d8e49a1) linter: Compute lintable extensions at compile time ([#&#8203;10090](https://redirect.github.com/oxc-project/oxc/issues/10090)) (camchenry)
-   [`b3ec235`](https://redirect.github.com/oxc-project/oxc/commit/b3ec235) linter: Use items of `oxc_ast::ast` module directly ([#&#8203;10100](https://redirect.github.com/oxc-project/oxc/issues/10100)) (Ulrich Stark 🦀)
-   [`93e6c0b`](https://redirect.github.com/oxc-project/oxc/commit/93e6c0b) linter: Use `FormalParameter::has_modifier` to detect parameter properties ([#&#8203;10097](https://redirect.github.com/oxc-project/oxc/issues/10097)) (Ulrich Stark 🦀)
-   [`5d829c2`](https://redirect.github.com/oxc-project/oxc/commit/5d829c2) semantic: Align handling of declaring symbol for function with TypeScript ([#&#8203;10086](https://redirect.github.com/oxc-project/oxc/issues/10086)) (Dunqing)

##### Testing

-   [`410b8d6`](https://redirect.github.com/oxc-project/oxc/commit/410b8d6) editor: Use debug build of the language server ([#&#8203;10083](https://redirect.github.com/oxc-project/oxc/issues/10083)) (Sysix)
-   [`500add0`](https://redirect.github.com/oxc-project/oxc/commit/500add0) editor: Add test for `oxc.fixAll` command ([#&#8203;10045](https://redirect.github.com/oxc-project/oxc/issues/10045)) (Sysix)

</details>

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-01 08:17:07 +00:00
doouding
56db0d3b0e refactor: remove unused surface service (#11339) 2025-04-01 08:03:00 +00:00
Brooooooklyn
c94f782da2 ci: increase Node.js rss memory limits during desktop clients building (#11345) 2025-04-01 07:13:38 +00:00
pengx17
d96f00925c fix(core): should not close peek view when clicking at menu items (#11344)
fix AF-2329
2025-04-01 07:00:04 +00:00
renovate
b785b7e8e5 chore: bump up @types/node version to v22.13.15 (#11346)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.13.14` -> `22.13.15`](https://renovatebot.com/diffs/npm/@types%2fnode/22.13.14/22.13.15) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/22.13.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/22.13.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/22.13.14/22.13.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/22.13.14/22.13.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-01 06:35:36 +00:00
renovate
b1d4a3c001 chore: bump up app-builder-lib version to v26 (#11343)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [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)) | [`^25.1.8` -> `^26.0.0`](https://renovatebot.com/diffs/npm/app-builder-lib/25.1.8/26.0.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/app-builder-lib/26.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/app-builder-lib/26.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/app-builder-lib/25.1.8/26.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/app-builder-lib/25.1.8/26.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>electron-userland/electron-builder (app-builder-lib)</summary>

### [`v26.0.12`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#26012)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.11...v26.0.12)

##### Patch Changes

-   [#&#8203;8968](https://redirect.github.com/electron-userland/electron-builder/pull/8968) [`2d25ec8c`](2d25ec8ca9) Thanks [@&#8203;t3chguy](https://redirect.github.com/t3chguy)! - chore(docs): Fix typo in `SquirrelWindowsOptions`

-   [#&#8203;8947](https://redirect.github.com/electron-userland/electron-builder/pull/8947) [`7ba4fea9`](7ba4fea958) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: support `mas` packages for flipping fuses

-   [#&#8203;8958](https://redirect.github.com/electron-userland/electron-builder/pull/8958) [`81e0c472`](81e0c472fe) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - optimize workspace package resolution in dependency tree

-   [#&#8203;8979](https://redirect.github.com/electron-userland/electron-builder/pull/8979) [`f24a2ce0`](f24a2ce05c) Thanks [@&#8203;teamchong](https://redirect.github.com/teamchong)! - Fix: Azure trust signing fails with spaces in parameters

-   [#&#8203;8957](https://redirect.github.com/electron-userland/electron-builder/pull/8957) [`ad151b9d`](ad151b9dbe) Thanks [@&#8203;indutny-signal](https://redirect.github.com/indutny-signal)! - fix: pnpm collection of optional dependencies

-   Updated dependencies \[]:
    -   dmg-builder@26.0.12
    -   electron-builder-squirrel-windows@26.0.12

### [`v26.0.11`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#26011)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.10...v26.0.11)

##### Patch Changes

-   [#&#8203;8941](https://redirect.github.com/electron-userland/electron-builder/pull/8941) [`14b96dfc`](14b96dfcbb) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: find cwd using getProjectRootPath for detecting package manager

-   [#&#8203;8928](https://redirect.github.com/electron-userland/electron-builder/pull/8928) [`70d7c855`](70d7c85536) Thanks [@&#8203;rotu](https://redirect.github.com/rotu)! - chore(docs): Document that detectUpdateChannel doesn't work when publishing to github

-   [#&#8203;8932](https://redirect.github.com/electron-userland/electron-builder/pull/8932) [`e1ea62b0`](e1ea62b002) Thanks [@&#8203;gaaf](https://redirect.github.com/gaaf)! - fix: `after-install.tpl`: Detect if apparmor is enabled instead of just file-exists check

-   Updated dependencies \[[`53a81939`](53a81939b8)]:
    -   builder-util@26.0.11
    -   dmg-builder@26.0.11
    -   electron-builder-squirrel-windows@26.0.11
    -   electron-publish@26.0.11

### [`v26.0.10`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#26010)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.9...v26.0.10)

##### Patch Changes

-   [#&#8203;8890](https://redirect.github.com/electron-userland/electron-builder/pull/8890) [`3ce33edb`](3ce33edbe0) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - chore: replace the plist functionality in app-builder-bin with plist

-   [#&#8203;8926](https://redirect.github.com/electron-userland/electron-builder/pull/8926) [`3caab3c4`](3caab3c422) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: fix custom publisher check and throw error if not found

-   [#&#8203;8915](https://redirect.github.com/electron-userland/electron-builder/pull/8915) [`8903c5df`](8903c5df04) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - fix: improve atomicRMDir function in NSIS uninstaller

-   Updated dependencies \[]:
    -   dmg-builder@26.0.10
    -   electron-builder-squirrel-windows@26.0.10

### [`v26.0.9`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#2609)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.8...v26.0.9)

##### Patch Changes

-   [#&#8203;8895](https://redirect.github.com/electron-userland/electron-builder/pull/8895) [`22da6442`](22da644251) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: remove Promise ability from AsyncEventEmitter as it's impossible to filter listeners by without being async

-   [#&#8203;8885](https://redirect.github.com/electron-userland/electron-builder/pull/8885) [`4cc475ed`](4cc475ed21) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: `node-linker=hoisted` fallback to utilize Npm module collector

-   [#&#8203;8908](https://redirect.github.com/electron-userland/electron-builder/pull/8908) [`62029b08`](62029b08c1) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: when using osx-sign, specifically pass in identity name instead of hash

-   [#&#8203;8896](https://redirect.github.com/electron-userland/electron-builder/pull/8896) [`67b6f71f`](67b6f71f85) Thanks [@&#8203;BrandonXLF](https://redirect.github.com/BrandonXLF)! - fix: allow publishing to Snap Store to be disabled with snap specific publish options

-   [#&#8203;8899](https://redirect.github.com/electron-userland/electron-builder/pull/8899) [`69184315`](6918431560) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - test: adding fixtures for lockfiles to support `--frozen-lockfile` (yarn, pnpm) and `ci` (npm)

-   Updated dependencies \[]:
    -   dmg-builder@26.0.9
    -   electron-builder-squirrel-windows@26.0.9

### [`v26.0.8`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#2608)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.7...v26.0.8)

##### Patch Changes

-   [#&#8203;8872](https://redirect.github.com/electron-userland/electron-builder/pull/8872) [`7f6c3fea`](7f6c3fea6f) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - chore: refactor node module collector, extract explicit `DependencyTree`, update types to be generic and respective to `npm list` vs `pnpm list` dependency trees

-   [#&#8203;8868](https://redirect.github.com/electron-userland/electron-builder/pull/8868) [`48c9f88b`](48c9f88b18) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: allow usage of .cjs, .mjs, and type=module custom/generic publishers

-   [#&#8203;8872](https://redirect.github.com/electron-userland/electron-builder/pull/8872) [`7f6c3fea`](7f6c3fea6f) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - chore: refactor node module collector to reduce recursion, extract explicit DependencyTree, update types

-   Updated dependencies \[]:
    -   dmg-builder@26.0.8
    -   electron-builder-squirrel-windows@26.0.8

### [`v26.0.7`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#2607)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.6...v26.0.7)

##### Patch Changes

-   [#&#8203;8864](https://redirect.github.com/electron-userland/electron-builder/pull/8864) [`3fe27d77`](3fe27d7758) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - Detected circular dependencies and add debug logs for nodeModulesCollector, and refactored YarnNodeModulesCollector to extend NpmNodeModulesCollector.

-   Updated dependencies \[[`bee179b3`](bee179b3cf), [`c12f86f2`](c12f86f2e2)]:
    -   electron-builder-squirrel-windows@26.0.7
    -   builder-util@26.0.7
    -   dmg-builder@26.0.7
    -   electron-publish@26.0.7

### [`v26.0.6`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#2606)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.5...v26.0.6)

##### Patch Changes

-   [#&#8203;8843](https://redirect.github.com/electron-userland/electron-builder/pull/8843) [`7fc78460`](7fc784603d) Thanks [@&#8203;fiesh](https://redirect.github.com/fiesh)! - fix: Only update AppArmor profile if not chroot'ed

-   [#&#8203;8851](https://redirect.github.com/electron-userland/electron-builder/pull/8851) [`0f2c9637`](0f2c963791) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - Fix the issue of the missing ms package

-   Updated dependencies \[]:
    -   dmg-builder@26.0.6
    -   electron-builder-squirrel-windows@26.0.6

### [`v26.0.5`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#2605)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.4...v26.0.5)

##### Patch Changes

-   [#&#8203;8845](https://redirect.github.com/electron-userland/electron-builder/pull/8845) [`53ee6c6c`](53ee6c6c49) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - delete peerDepenencies when collecting node modules

-   Updated dependencies \[]:
    -   dmg-builder@26.0.5
    -   electron-builder-squirrel-windows@26.0.5

### [`v26.0.4`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#2604)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.3...v26.0.4)

##### Patch Changes

-   [#&#8203;8839](https://redirect.github.com/electron-userland/electron-builder/pull/8839) [`8b059ad3`](8b059ad3ba) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - feat: switch app-builder-bin to node-module-collector to get all production node modules

-   Updated dependencies \[[`8b059ad3`](8b059ad3ba)]:
    -   builder-util@26.0.4
    -   dmg-builder@26.0.4
    -   electron-builder-squirrel-windows@26.0.4
    -   electron-publish@26.0.4

### [`v26.0.3`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#2603)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.2...v26.0.3)

##### Patch Changes

-   [#&#8203;8344](https://redirect.github.com/electron-userland/electron-builder/pull/8344) [`27b2ba81`](27b2ba8129) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - use electron-winstaller instead of self module

-   [#&#8203;8834](https://redirect.github.com/electron-userland/electron-builder/pull/8834) [`6261c9a0`](6261c9a038) Thanks [@&#8203;dominhhai](https://redirect.github.com/dominhhai)! - feat(pkg): support notarizing pkg for macos archives

-   Updated dependencies \[[`27b2ba81`](27b2ba8129)]:
    -   electron-builder-squirrel-windows@26.0.3
    -   dmg-builder@26.0.3

### [`v26.0.2`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#2602)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.1...v26.0.2)

##### Patch Changes

-   [#&#8203;8785](https://redirect.github.com/electron-userland/electron-builder/pull/8785) [`b3adf480`](b3adf4800b) Thanks [@&#8203;lamawithonel](https://redirect.github.com/lamawithonel)! - feat: Allow users to pass a custom electrons headers URL via env var

-   [#&#8203;8767](https://redirect.github.com/electron-userland/electron-builder/pull/8767) [`f45a09ee`](f45a09eeeb) Thanks [@&#8203;dominhhai](https://redirect.github.com/dominhhai)! - feat(pkg): support extra component packages (`.pkg`) for macos archives

-   [#&#8203;8833](https://redirect.github.com/electron-userland/electron-builder/pull/8833) [`f5af99ac`](f5af99ac87) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: upgrading TrustedSigning module and setting it as minimum version instead of required

-   [#&#8203;8830](https://redirect.github.com/electron-userland/electron-builder/pull/8830) [`44603f2f`](44603f2f3c) Thanks [@&#8203;Julusian](https://redirect.github.com/Julusian)! - fix: handle yarn berry patch format in electron-updater version check

-   Updated dependencies \[]:
    -   dmg-builder@26.0.2
    -   electron-builder-squirrel-windows@26.0.2

### [`v26.0.1`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#26012)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.0...v26.0.1)

##### Patch Changes

-   [#&#8203;8968](https://redirect.github.com/electron-userland/electron-builder/pull/8968) [`2d25ec8c`](2d25ec8ca9) Thanks [@&#8203;t3chguy](https://redirect.github.com/t3chguy)! - chore(docs): Fix typo in `SquirrelWindowsOptions`

-   [#&#8203;8947](https://redirect.github.com/electron-userland/electron-builder/pull/8947) [`7ba4fea9`](7ba4fea958) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: support `mas` packages for flipping fuses

-   [#&#8203;8958](https://redirect.github.com/electron-userland/electron-builder/pull/8958) [`81e0c472`](81e0c472fe) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - optimize workspace package resolution in dependency tree

-   [#&#8203;8979](https://redirect.github.com/electron-userland/electron-builder/pull/8979) [`f24a2ce0`](f24a2ce05c) Thanks [@&#8203;teamchong](https://redirect.github.com/teamchong)! - Fix: Azure trust signing fails with spaces in parameters

-   [#&#8203;8957](https://redirect.github.com/electron-userland/electron-builder/pull/8957) [`ad151b9d`](ad151b9dbe) Thanks [@&#8203;indutny-signal](https://redirect.github.com/indutny-signal)! - fix: pnpm collection of optional dependencies

-   Updated dependencies \[]:
    -   dmg-builder@26.0.12
    -   electron-builder-squirrel-windows@26.0.12

### [`v26.0.0`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#2600)

##### Major Changes

-   [#&#8203;8582](https://redirect.github.com/electron-userland/electron-builder/pull/8582) [`6a9597b4`](6a9597b4d7) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - chore: remove deprecated fields from `winOptions` and `macOptions`

    For `winOptions` signing configuration, it has been moved to `win.signtoolOptions` in order to support `azureOptions` as a separate field and avoid bloating `win` configuration object
    For `macOptions`, notarize options has been deprecated in favor of env vars for quite some time. Env vars are much more secure

-   [#&#8203;8572](https://redirect.github.com/electron-userland/electron-builder/pull/8572) [`0dbe357a`](0dbe357ac5) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - feat: allowing additional entries in .desktop file, such as `[Desktop Actions <actionName>]`. Requires changing configuration `desktop` property to object to be more extensible in the future

-   [#&#8203;8562](https://redirect.github.com/electron-userland/electron-builder/pull/8562) [`b8185d48`](b8185d48a7) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - support including node_modules in other subdirectories

##### Minor Changes

-   [#&#8203;8609](https://redirect.github.com/electron-userland/electron-builder/pull/8609) [`d672b04b`](d672b04b47) Thanks [@&#8203;iongion](https://redirect.github.com/iongion)! - feat: support completely custom AppxManifest.xml

-   [#&#8203;8607](https://redirect.github.com/electron-userland/electron-builder/pull/8607) [`f123628c`](f123628ce4) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - feat: allow disabling of building a universal windows installer

-   [#&#8203;8711](https://redirect.github.com/electron-userland/electron-builder/pull/8711) [`6f0fb8e4`](6f0fb8e44f) Thanks [@&#8203;hrueger](https://redirect.github.com/hrueger)! - Add `host` property to support self-hosted Keygen instances

-   [#&#8203;8636](https://redirect.github.com/electron-userland/electron-builder/pull/8636) [`88cc0b06`](88cc0b06db) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - feat: add support for AppArmor with template profile and configuration property

-   [#&#8203;8570](https://redirect.github.com/electron-userland/electron-builder/pull/8570) [`c8484305`](c84843053a) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - feat: migrate to official `electron/asar` packaging

-   [#&#8203;8525](https://redirect.github.com/electron-userland/electron-builder/pull/8525) [`13f55a3e`](13f55a3ef0) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - feat: migrate `electronDist` to be an electron-builder `Hook`

-   [#&#8203;8588](https://redirect.github.com/electron-userland/electron-builder/pull/8588) [`8434e10d`](8434e10dad) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - feat: adding integration with [@&#8203;electron/fuses](https://redirect.github.com/electron/fuses)

-   [#&#8203;8787](https://redirect.github.com/electron-userland/electron-builder/pull/8787) [`cdf18d9a`](cdf18d9a0f) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - feat: add `pwsh` detection to enable azure trusted signing within docker image

-   [#&#8203;8394](https://redirect.github.com/electron-userland/electron-builder/pull/8394) [`ae9221d9`](ae9221d947) Thanks [@&#8203;xyloflake](https://redirect.github.com/xyloflake)! - feat: Implement autoupdates for pacman

##### Patch Changes

-   [#&#8203;8645](https://redirect.github.com/electron-userland/electron-builder/pull/8645) [`f4d40f91`](f4d40f91f1) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - fix: smart unpack for local module with dll

-   [#&#8203;8762](https://redirect.github.com/electron-userland/electron-builder/pull/8762) [`c4f54977`](c4f5497704) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: update [@&#8203;electron/asar](https://redirect.github.com/electron/asar) to 3.2.18 to resolve signing issue with framework symlinks

-   [#&#8203;8650](https://redirect.github.com/electron-userland/electron-builder/pull/8650) [`f84a0831`](f84a0831d1) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix(win): add required `publisherName` field to Azure Trusted Signing

-   [#&#8203;8573](https://redirect.github.com/electron-userland/electron-builder/pull/8573) [`1fee87a2`](1fee87a20e) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - chore(deps): update ejs to v3.1.10

-   [#&#8203;8799](https://redirect.github.com/electron-userland/electron-builder/pull/8799) [`45a402b9`](45a402b978) Thanks [@&#8203;t3chguy](https://redirect.github.com/t3chguy)! - fix(mac): only fuse macOS universal builds on the combined universal package

-   [#&#8203;8671](https://redirect.github.com/electron-userland/electron-builder/pull/8671) [`a4505a37`](a4505a3785) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - chore(deps): update electron/asar to 3.2.17

-   [#&#8203;8596](https://redirect.github.com/electron-userland/electron-builder/pull/8596) [`e0b0e351`](e0b0e351ba) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - chore: refactor files for publishing to electron-publish

-   [#&#8203;8653](https://redirect.github.com/electron-userland/electron-builder/pull/8653) [`796e1a07`](796e1a072a) Thanks [@&#8203;IsaacAderogba](https://redirect.github.com/IsaacAderogba)! - fix: cscIKeyPassword must support empty string arguments

-   [#&#8203;8627](https://redirect.github.com/electron-userland/electron-builder/pull/8627) [`2a3195d9`](2a3195d99f) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: add rfc3161 timestamp entry as default for azure signing to resolve Windows Defender alert

-   [#&#8203;8725](https://redirect.github.com/electron-userland/electron-builder/pull/8725) [`ccbf0a5b`](ccbf0a5be3) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - fix: electron-builder fails when list of node_modules files is too big to pass in a glob

-   [#&#8203;8661](https://redirect.github.com/electron-userland/electron-builder/pull/8661) [`6a294c97`](6a294c9725) Thanks [@&#8203;t3chguy](https://redirect.github.com/t3chguy)! - chore: remove stale handler for `extend-info` in electronMac plist creation

-   [#&#8203;8577](https://redirect.github.com/electron-userland/electron-builder/pull/8577) [`e9eef0c1`](e9eef0c1c7) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: add additional default exclusions to copy logic

-   [#&#8203;8566](https://redirect.github.com/electron-userland/electron-builder/pull/8566) [`e45fecf0`](e45fecf04d) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - chore: change signing warning message to debug

-   [#&#8203;8576](https://redirect.github.com/electron-userland/electron-builder/pull/8576) [`3eab7143`](3eab7143d7) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - fix: packages in the workspace not being under node_modules

-   [#&#8203;8691](https://redirect.github.com/electron-userland/electron-builder/pull/8691) [`5a9141f6`](5a9141f60a) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - chore(mac): add back logging of identity name and hash as opposed to just hash

-   [#&#8203;8805](https://redirect.github.com/electron-userland/electron-builder/pull/8805) [`c6d6b6e5`](c6d6b6e57b) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: ASAR files in extraResources are not included in integrity calculations

-   [#&#8203;8575](https://redirect.github.com/electron-userland/electron-builder/pull/8575) [`dfa35c32`](dfa35c321f) Thanks [@&#8203;doctolivier](https://redirect.github.com/doctolivier)! - chore(deps): update [@&#8203;electron/rebuild](https://redirect.github.com/electron/rebuild) to v3.7.0

-   [#&#8203;8637](https://redirect.github.com/electron-userland/electron-builder/pull/8637) [`667ab2f8`](667ab2f8d5) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - chore: migrate default recommends and default depends for fpm from app-builder-bin to JS code

-   [#&#8203;8727](https://redirect.github.com/electron-userland/electron-builder/pull/8727) [`7268c2ee`](7268c2eea3) Thanks [@&#8203;NoahAndrews](https://redirect.github.com/NoahAndrews)! - chore: Rename `vmRequired` variable to `useVmIfNotOnWin`

-   [#&#8203;8714](https://redirect.github.com/electron-userland/electron-builder/pull/8714) [`66334502`](66334502a5) Thanks [@&#8203;kttmv](https://redirect.github.com/kttmv)! - chore: Remove informal Russian messages in the NSIS installer

-   [#&#8203;8606](https://redirect.github.com/electron-userland/electron-builder/pull/8606) [`a0e635c1`](a0e635c183) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: add quotes to surround file path during azure signing to handle files with spaces

-   [#&#8203;8603](https://redirect.github.com/electron-userland/electron-builder/pull/8603) [`712a8bce`](712a8bce56) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: checking relative path without separator as that doesn't work on Windows

-   [#&#8203;8639](https://redirect.github.com/electron-userland/electron-builder/pull/8639) [`28006623`](28006623a1) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - chore: refactor electron dist logic to avoid unnecessary console logs

-   [#&#8203;8715](https://redirect.github.com/electron-userland/electron-builder/pull/8715) [`4c394d54`](4c394d5468) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - fix: does not work with NPM workspaces

-   [#&#8203;8654](https://redirect.github.com/electron-userland/electron-builder/pull/8654) [`9e11358f`](9e11358fc2) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: check ResolvedFileSet src when verifying symlinks to be within project directory

-   [#&#8203;8632](https://redirect.github.com/electron-userland/electron-builder/pull/8632) [`645e2abd`](645e2abd5e) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: only sign concurrently when using local signtool. azure can't be in parallel due to resources being locked during usage

-   [#&#8203;8601](https://redirect.github.com/electron-userland/electron-builder/pull/8601) [`215fc36b`](215fc36b5e) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - Revert "fix(win): use appInfo description as primary entry for FileDescription" to resolve [https://github.com/electron-userland/electron-builder/issues/8599](https://redirect.github.com/electron-userland/electron-builder/issues/8599)

-   [`a1ee0419`](a1ee04191f) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: use FileCopier for copying files and queue creation of symlinks

-   [#&#8203;8689](https://redirect.github.com/electron-userland/electron-builder/pull/8689) [`1d7f87c1`](1d7f87c102) Thanks [@&#8203;Lemonexe](https://redirect.github.com/Lemonexe)! - fix(win): corrupt asar integrity file path on crossplatform build

-   [#&#8203;8749](https://redirect.github.com/electron-userland/electron-builder/pull/8749) [`ee2c6dc1`](ee2c6dc133) Thanks [@&#8203;kethinov](https://redirect.github.com/kethinov)! - fix: typo in urls in tsdoc

-   Updated dependencies \[[`f4d40f91`](f4d40f91f1), [`633490cb`](633490cb39), [`e0b0e351`](e0b0e351ba), [`eacbbf59`](eacbbf593f), [`6f0fb8e4`](6f0fb8e44f), [`6a6bed46`](6a6bed46c4), [`3eab7143`](3eab7143d7), [`a5558e33`](a5558e3380), [`d4ea0d99`](d4ea0d998d), [`b8185d48`](b8185d48a7), [`dcd91a1f`](dcd91a1f79)]:
    -   builder-util@26.0.0
    -   dmg-builder@26.0.0
    -   electron-builder-squirrel-windows@26.0.0
    -   electron-publish@26.0.0
    -   builder-util-runtime@9.3.0

</details>

---

### Configuration

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

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

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

🔕 **Ignore**: Close this PR and you won't be reminded about 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-01 06:20:34 +00:00
renovate
1d6698572a chore: bump up Lakr233/MSDisplayLink version to v2 (#9541)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [Lakr233/MSDisplayLink](https://redirect.github.com/Lakr233/MSDisplayLink) | major | `from: "1.1.1"` -> `from: "2.0.8"` |

---

### Release Notes

<details>
<summary>Lakr233/MSDisplayLink (Lakr233/MSDisplayLink)</summary>

### [`v2.0.8`](https://redirect.github.com/Lakr233/MSDisplayLink/compare/2.0.7...2.0.8)

[Compare Source](https://redirect.github.com/Lakr233/MSDisplayLink/compare/2.0.7...2.0.8)

### [`v2.0.7`](https://redirect.github.com/Lakr233/MSDisplayLink/compare/2.0.6...2.0.7)

[Compare Source](https://redirect.github.com/Lakr233/MSDisplayLink/compare/2.0.6...2.0.7)

### [`v2.0.6`](https://redirect.github.com/Lakr233/MSDisplayLink/compare/2.0.5...2.0.6)

[Compare Source](https://redirect.github.com/Lakr233/MSDisplayLink/compare/2.0.5...2.0.6)

### [`v2.0.5`](https://redirect.github.com/Lakr233/MSDisplayLink/compare/2.0.4...2.0.5)

[Compare Source](https://redirect.github.com/Lakr233/MSDisplayLink/compare/2.0.4...2.0.5)

### [`v2.0.4`](https://redirect.github.com/Lakr233/MSDisplayLink/compare/2.0.3...2.0.4)

[Compare Source](https://redirect.github.com/Lakr233/MSDisplayLink/compare/2.0.3...2.0.4)

### [`v2.0.3`](https://redirect.github.com/Lakr233/MSDisplayLink/compare/1.1.1...2.0.3)

[Compare Source](https://redirect.github.com/Lakr233/MSDisplayLink/compare/1.1.1...2.0.3)

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS44NS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMjA3LjEiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
2025-04-01 06:06:19 +00:00
L-Sun
10d86fee9f chore(editor): update slash menu ui (#11305)
Close [BS-2954](https://linear.app/affine-design/issue/BS-2954/menu长宽为280390)
Close [BS-2955](https://linear.app/affine-design/issue/BS-2955/frame-与mind-map的tooltips)
Close [BS-2956](https://linear.app/affine-design/issue/BS-2956/to-do-list-tooltip缺失)

### What Changes
- update size of slash menu
- updare tooltips in slash menu
  - frame
  - mindmap
2025-04-01 05:51:59 +00:00
darkskygit
dc67614d6d feat(server): improve context error handle (#11342) 2025-04-01 05:38:33 +00:00
Flrande
6ed9c33c33 fix(editor): inline editor should not change event source editable (#11331)
Close [BS-2988: database block会把顶层content editable设成false](https://linear.app/affine-design/issue/BS-2988/database-block会把顶层content-editable设成false)
2025-04-01 05:24:27 +00:00
LongYinan
cbe372c6ec Revert "chore: bump up app-builder-lib version to v26 (#11218)"
This reverts commit 7478df56ee.
2025-04-01 13:23:27 +08:00
renovate
b6faf70e4d chore: bump up tinybench version to v4 (#11340)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [tinybench](https://redirect.github.com/tinylibs/tinybench) | [`^3.0.7` -> `^4.0.0`](https://renovatebot.com/diffs/npm/tinybench/3.1.1/4.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tinybench/4.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tinybench/4.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tinybench/3.1.1/4.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tinybench/3.1.1/4.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>tinylibs/tinybench (tinybench)</summary>

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

[Compare Source](https://redirect.github.com/tinylibs/tinybench/compare/v4.0.0...v4.0.1)

#####    🐞 Bug Fixes

-   Export newly added FnHook type definition  -  by [@&#8203;jerome-benoit](https://redirect.github.com/jerome-benoit) [<samp>(802ff)</samp>](https://redirect.github.com/tinylibs/tinybench/commit/802ffac)

#####     [View changes on GitHub](https://redirect.github.com/tinylibs/tinybench/compare/v4.0.0...v4.0.1)

### [`v4.0.0`](https://redirect.github.com/tinylibs/tinybench/releases/tag/v4.0.0)

[Compare Source](https://redirect.github.com/tinylibs/tinybench/compare/v3.1.1...v4.0.0)

#####    🚨 Breaking Changes

-   Esm-only  -  by [@&#8203;43081j](https://redirect.github.com/43081j) and [@&#8203;jerome-benoit](https://redirect.github.com/jerome-benoit) in [https://github.com/tinylibs/tinybench/issues/253](https://redirect.github.com/tinylibs/tinybench/issues/253) [<samp>(63e90)</samp>](https://redirect.github.com/tinylibs/tinybench/commit/63e90d8)
-   Change setup/teardown hook signature by making `task` and `mode` arguments optional

#####    🚀 Features

-   Add mode to fn hooks  -  by [@&#8203;crimx](https://redirect.github.com/crimx) in [https://github.com/tinylibs/tinybench/issues/259](https://redirect.github.com/tinylibs/tinybench/issues/259) [<samp>(e13f0)</samp>](https://redirect.github.com/tinylibs/tinybench/commit/e13f07a)

#####     [View changes on GitHub](https://redirect.github.com/tinylibs/tinybench/compare/v3.1.1...v4.0.0)

</details>

---

### Configuration

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

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

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

🔕 **Ignore**: Close this PR and you won't be reminded about 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-01 05:09:20 +00:00
L-Sun
e7f5601303 fix(editor): undo should remove the new frame created by dragging (#11303)
Close [BS-2848](https://linear.app/affine-design/issue/BS-2848/但我发现frame创建后,要撤销两次才能删掉)
2025-04-01 04:41:44 +00:00
renovate
c3a5301d5b chore: bump up sinon version to v20 (#11338)
This PR contains the following updates:

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

---

### Release Notes

<details>
<summary>sinonjs/sinon (sinon)</summary>

### [`v20.0.0`](https://redirect.github.com/sinonjs/sinon/blob/HEAD/CHANGES.md#2000)

[Compare Source](https://redirect.github.com/sinonjs/sinon/compare/v19.0.5...v20.0.0)

-   [`b6daed26`](b6daed26cd)
    chore!: remove usingPromise (Morgan Roderick)
    > Everyone should be using native promises by now, or should know how to stub natives
-   [`95d4b8fc`](95d4b8fc89)
    chore!: remove fakeXMLHttpRequest and fakeServer (Morgan Roderick)
    > BREAKING CHANGE: remove fakeXMLHttpRequest and fakeServer from the API

*Released by Morgan Roderick on 2025-03-24.*

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-01 04:28:31 +00:00
Flrande
b0b7534599 fix(editor): improve error message in mention (#11309)
Close [BS-2972](https://linear.app/affine-design/issue/BS-2972/邀请了无权限阅读的用户时,报错信息展示不正确)
Close [BS-2973](https://linear.app/affine-design/issue/BS-2973/也没有区分邀请人是否有邀请权限,并如设计稿给出邀请提示)
2025-04-01 04:15:01 +00:00
renovate
9f8cf4e2ca chore: bump up react-email version to v4 (#11335)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [react-email](https://redirect.github.com/resend/react-email) ([source](https://redirect.github.com/resend/react-email/tree/HEAD/packages/react-email)) | [`3.0.7` -> `4.0.2`](https://renovatebot.com/diffs/npm/react-email/3.0.7/4.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-email/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-email/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-email/3.0.7/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-email/3.0.7/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>resend/react-email (react-email)</summary>

### [`v4.0.2`](https://redirect.github.com/resend/react-email/blob/HEAD/packages/react-email/CHANGELOG.md#402)

[Compare Source](https://redirect.github.com/resend/react-email/compare/react-email@4.0.1...react-email@4.0.2)

##### Patch Changes

-   [`ddf9652`](https://redirect.github.com/resend/react-email/commit/ddf9652): Fix crashing when the link or image does not exist

### [`v4.0.1`](https://redirect.github.com/resend/react-email/blob/HEAD/packages/react-email/CHANGELOG.md#401)

[Compare Source](https://redirect.github.com/resend/react-email/compare/react-email@4.0.0...react-email@4.0.1)

##### Patch Changes

-   [`8fd7409`](https://redirect.github.com/resend/react-email/commit/8fd7409): Fix static files regression
-   [`8448a0b`](https://redirect.github.com/resend/react-email/commit/8448a0b): Improved classes, better borders on table, improved scollbar colors

### [`v4.0.0`](https://redirect.github.com/resend/react-email/blob/HEAD/packages/react-email/CHANGELOG.md#400)

[Compare Source](https://redirect.github.com/resend/react-email/compare/react-email@3.0.7...react-email@4.0.0)

##### Major Changes

-   [`56ab5ab`](https://redirect.github.com/resend/react-email/commit/56ab5ab): Add toolbar with image/link validation, compatibility checking and a spam scoring system

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-01 03:33:06 +00:00
JimmFly
93d4b6dc4d fix(core): can't open history modal in self-hosting client (#11336)
handle #11282
2025-04-01 03:18:22 +00:00
renovate
7478df56ee chore: bump up app-builder-lib version to v26 (#11218)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [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)) | [`^25.1.8` -> `^26.0.0`](https://renovatebot.com/diffs/npm/app-builder-lib/25.1.8/26.0.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/app-builder-lib/26.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/app-builder-lib/26.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/app-builder-lib/25.1.8/26.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/app-builder-lib/25.1.8/26.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>electron-userland/electron-builder (app-builder-lib)</summary>

### [`v26.0.12`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#26012)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.11...v26.0.12)

##### Patch Changes

-   [#&#8203;8968](https://redirect.github.com/electron-userland/electron-builder/pull/8968) [`2d25ec8c`](2d25ec8ca9) Thanks [@&#8203;t3chguy](https://redirect.github.com/t3chguy)! - chore(docs): Fix typo in `SquirrelWindowsOptions`

-   [#&#8203;8947](https://redirect.github.com/electron-userland/electron-builder/pull/8947) [`7ba4fea9`](7ba4fea958) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: support `mas` packages for flipping fuses

-   [#&#8203;8958](https://redirect.github.com/electron-userland/electron-builder/pull/8958) [`81e0c472`](81e0c472fe) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - optimize workspace package resolution in dependency tree

-   [#&#8203;8979](https://redirect.github.com/electron-userland/electron-builder/pull/8979) [`f24a2ce0`](f24a2ce05c) Thanks [@&#8203;teamchong](https://redirect.github.com/teamchong)! - Fix: Azure trust signing fails with spaces in parameters

-   [#&#8203;8957](https://redirect.github.com/electron-userland/electron-builder/pull/8957) [`ad151b9d`](ad151b9dbe) Thanks [@&#8203;indutny-signal](https://redirect.github.com/indutny-signal)! - fix: pnpm collection of optional dependencies

-   Updated dependencies \[]:
    -   dmg-builder@26.0.12
    -   electron-builder-squirrel-windows@26.0.12

### [`v26.0.11`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#26011)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.10...v26.0.11)

##### Patch Changes

-   [#&#8203;8941](https://redirect.github.com/electron-userland/electron-builder/pull/8941) [`14b96dfc`](14b96dfcbb) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: find cwd using getProjectRootPath for detecting package manager

-   [#&#8203;8928](https://redirect.github.com/electron-userland/electron-builder/pull/8928) [`70d7c855`](70d7c85536) Thanks [@&#8203;rotu](https://redirect.github.com/rotu)! - chore(docs): Document that detectUpdateChannel doesn't work when publishing to github

-   [#&#8203;8932](https://redirect.github.com/electron-userland/electron-builder/pull/8932) [`e1ea62b0`](e1ea62b002) Thanks [@&#8203;gaaf](https://redirect.github.com/gaaf)! - fix: `after-install.tpl`: Detect if apparmor is enabled instead of just file-exists check

-   Updated dependencies \[[`53a81939`](53a81939b8)]:
    -   builder-util@26.0.11
    -   dmg-builder@26.0.11
    -   electron-builder-squirrel-windows@26.0.11
    -   electron-publish@26.0.11

### [`v26.0.10`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#26010)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.9...v26.0.10)

##### Patch Changes

-   [#&#8203;8890](https://redirect.github.com/electron-userland/electron-builder/pull/8890) [`3ce33edb`](3ce33edbe0) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - chore: replace the plist functionality in app-builder-bin with plist

-   [#&#8203;8926](https://redirect.github.com/electron-userland/electron-builder/pull/8926) [`3caab3c4`](3caab3c422) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: fix custom publisher check and throw error if not found

-   [#&#8203;8915](https://redirect.github.com/electron-userland/electron-builder/pull/8915) [`8903c5df`](8903c5df04) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - fix: improve atomicRMDir function in NSIS uninstaller

-   Updated dependencies \[]:
    -   dmg-builder@26.0.10
    -   electron-builder-squirrel-windows@26.0.10

### [`v26.0.9`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#2609)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.8...v26.0.9)

##### Patch Changes

-   [#&#8203;8895](https://redirect.github.com/electron-userland/electron-builder/pull/8895) [`22da6442`](22da644251) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: remove Promise ability from AsyncEventEmitter as it's impossible to filter listeners by without being async

-   [#&#8203;8885](https://redirect.github.com/electron-userland/electron-builder/pull/8885) [`4cc475ed`](4cc475ed21) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: `node-linker=hoisted` fallback to utilize Npm module collector

-   [#&#8203;8908](https://redirect.github.com/electron-userland/electron-builder/pull/8908) [`62029b08`](62029b08c1) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: when using osx-sign, specifically pass in identity name instead of hash

-   [#&#8203;8896](https://redirect.github.com/electron-userland/electron-builder/pull/8896) [`67b6f71f`](67b6f71f85) Thanks [@&#8203;BrandonXLF](https://redirect.github.com/BrandonXLF)! - fix: allow publishing to Snap Store to be disabled with snap specific publish options

-   [#&#8203;8899](https://redirect.github.com/electron-userland/electron-builder/pull/8899) [`69184315`](6918431560) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - test: adding fixtures for lockfiles to support `--frozen-lockfile` (yarn, pnpm) and `ci` (npm)

-   Updated dependencies \[]:
    -   dmg-builder@26.0.9
    -   electron-builder-squirrel-windows@26.0.9

### [`v26.0.8`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#2608)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.7...v26.0.8)

##### Patch Changes

-   [#&#8203;8872](https://redirect.github.com/electron-userland/electron-builder/pull/8872) [`7f6c3fea`](7f6c3fea6f) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - chore: refactor node module collector, extract explicit `DependencyTree`, update types to be generic and respective to `npm list` vs `pnpm list` dependency trees

-   [#&#8203;8868](https://redirect.github.com/electron-userland/electron-builder/pull/8868) [`48c9f88b`](48c9f88b18) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: allow usage of .cjs, .mjs, and type=module custom/generic publishers

-   [#&#8203;8872](https://redirect.github.com/electron-userland/electron-builder/pull/8872) [`7f6c3fea`](7f6c3fea6f) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - chore: refactor node module collector to reduce recursion, extract explicit DependencyTree, update types

-   Updated dependencies \[]:
    -   dmg-builder@26.0.8
    -   electron-builder-squirrel-windows@26.0.8

### [`v26.0.7`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#2607)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.6...v26.0.7)

##### Patch Changes

-   [#&#8203;8864](https://redirect.github.com/electron-userland/electron-builder/pull/8864) [`3fe27d77`](3fe27d7758) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - Detected circular dependencies and add debug logs for nodeModulesCollector, and refactored YarnNodeModulesCollector to extend NpmNodeModulesCollector.

-   Updated dependencies \[[`bee179b3`](bee179b3cf), [`c12f86f2`](c12f86f2e2)]:
    -   electron-builder-squirrel-windows@26.0.7
    -   builder-util@26.0.7
    -   dmg-builder@26.0.7
    -   electron-publish@26.0.7

### [`v26.0.6`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#2606)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.5...v26.0.6)

##### Patch Changes

-   [#&#8203;8843](https://redirect.github.com/electron-userland/electron-builder/pull/8843) [`7fc78460`](7fc784603d) Thanks [@&#8203;fiesh](https://redirect.github.com/fiesh)! - fix: Only update AppArmor profile if not chroot'ed

-   [#&#8203;8851](https://redirect.github.com/electron-userland/electron-builder/pull/8851) [`0f2c9637`](0f2c963791) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - Fix the issue of the missing ms package

-   Updated dependencies \[]:
    -   dmg-builder@26.0.6
    -   electron-builder-squirrel-windows@26.0.6

### [`v26.0.5`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#2605)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.4...v26.0.5)

##### Patch Changes

-   [#&#8203;8845](https://redirect.github.com/electron-userland/electron-builder/pull/8845) [`53ee6c6c`](53ee6c6c49) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - delete peerDepenencies when collecting node modules

-   Updated dependencies \[]:
    -   dmg-builder@26.0.5
    -   electron-builder-squirrel-windows@26.0.5

### [`v26.0.4`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#2604)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.3...v26.0.4)

##### Patch Changes

-   [#&#8203;8839](https://redirect.github.com/electron-userland/electron-builder/pull/8839) [`8b059ad3`](8b059ad3ba) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - feat: switch app-builder-bin to node-module-collector to get all production node modules

-   Updated dependencies \[[`8b059ad3`](8b059ad3ba)]:
    -   builder-util@26.0.4
    -   dmg-builder@26.0.4
    -   electron-builder-squirrel-windows@26.0.4
    -   electron-publish@26.0.4

### [`v26.0.3`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#2603)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.2...v26.0.3)

##### Patch Changes

-   [#&#8203;8344](https://redirect.github.com/electron-userland/electron-builder/pull/8344) [`27b2ba81`](27b2ba8129) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - use electron-winstaller instead of self module

-   [#&#8203;8834](https://redirect.github.com/electron-userland/electron-builder/pull/8834) [`6261c9a0`](6261c9a038) Thanks [@&#8203;dominhhai](https://redirect.github.com/dominhhai)! - feat(pkg): support notarizing pkg for macos archives

-   Updated dependencies \[[`27b2ba81`](27b2ba8129)]:
    -   electron-builder-squirrel-windows@26.0.3
    -   dmg-builder@26.0.3

### [`v26.0.2`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#2602)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.1...v26.0.2)

##### Patch Changes

-   [#&#8203;8785](https://redirect.github.com/electron-userland/electron-builder/pull/8785) [`b3adf480`](b3adf4800b) Thanks [@&#8203;lamawithonel](https://redirect.github.com/lamawithonel)! - feat: Allow users to pass a custom electrons headers URL via env var

-   [#&#8203;8767](https://redirect.github.com/electron-userland/electron-builder/pull/8767) [`f45a09ee`](f45a09eeeb) Thanks [@&#8203;dominhhai](https://redirect.github.com/dominhhai)! - feat(pkg): support extra component packages (`.pkg`) for macos archives

-   [#&#8203;8833](https://redirect.github.com/electron-userland/electron-builder/pull/8833) [`f5af99ac`](f5af99ac87) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: upgrading TrustedSigning module and setting it as minimum version instead of required

-   [#&#8203;8830](https://redirect.github.com/electron-userland/electron-builder/pull/8830) [`44603f2f`](44603f2f3c) Thanks [@&#8203;Julusian](https://redirect.github.com/Julusian)! - fix: handle yarn berry patch format in electron-updater version check

-   Updated dependencies \[]:
    -   dmg-builder@26.0.2
    -   electron-builder-squirrel-windows@26.0.2

### [`v26.0.1`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#26012)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.0...v26.0.1)

##### Patch Changes

-   [#&#8203;8968](https://redirect.github.com/electron-userland/electron-builder/pull/8968) [`2d25ec8c`](2d25ec8ca9) Thanks [@&#8203;t3chguy](https://redirect.github.com/t3chguy)! - chore(docs): Fix typo in `SquirrelWindowsOptions`

-   [#&#8203;8947](https://redirect.github.com/electron-userland/electron-builder/pull/8947) [`7ba4fea9`](7ba4fea958) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: support `mas` packages for flipping fuses

-   [#&#8203;8958](https://redirect.github.com/electron-userland/electron-builder/pull/8958) [`81e0c472`](81e0c472fe) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - optimize workspace package resolution in dependency tree

-   [#&#8203;8979](https://redirect.github.com/electron-userland/electron-builder/pull/8979) [`f24a2ce0`](f24a2ce05c) Thanks [@&#8203;teamchong](https://redirect.github.com/teamchong)! - Fix: Azure trust signing fails with spaces in parameters

-   [#&#8203;8957](https://redirect.github.com/electron-userland/electron-builder/pull/8957) [`ad151b9d`](ad151b9dbe) Thanks [@&#8203;indutny-signal](https://redirect.github.com/indutny-signal)! - fix: pnpm collection of optional dependencies

-   Updated dependencies \[]:
    -   dmg-builder@26.0.12
    -   electron-builder-squirrel-windows@26.0.12

### [`v26.0.0`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#2600)

##### Major Changes

-   [#&#8203;8582](https://redirect.github.com/electron-userland/electron-builder/pull/8582) [`6a9597b4`](6a9597b4d7) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - chore: remove deprecated fields from `winOptions` and `macOptions`

    For `winOptions` signing configuration, it has been moved to `win.signtoolOptions` in order to support `azureOptions` as a separate field and avoid bloating `win` configuration object
    For `macOptions`, notarize options has been deprecated in favor of env vars for quite some time. Env vars are much more secure

-   [#&#8203;8572](https://redirect.github.com/electron-userland/electron-builder/pull/8572) [`0dbe357a`](0dbe357ac5) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - feat: allowing additional entries in .desktop file, such as `[Desktop Actions <actionName>]`. Requires changing configuration `desktop` property to object to be more extensible in the future

-   [#&#8203;8562](https://redirect.github.com/electron-userland/electron-builder/pull/8562) [`b8185d48`](b8185d48a7) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - support including node_modules in other subdirectories

##### Minor Changes

-   [#&#8203;8609](https://redirect.github.com/electron-userland/electron-builder/pull/8609) [`d672b04b`](d672b04b47) Thanks [@&#8203;iongion](https://redirect.github.com/iongion)! - feat: support completely custom AppxManifest.xml

-   [#&#8203;8607](https://redirect.github.com/electron-userland/electron-builder/pull/8607) [`f123628c`](f123628ce4) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - feat: allow disabling of building a universal windows installer

-   [#&#8203;8711](https://redirect.github.com/electron-userland/electron-builder/pull/8711) [`6f0fb8e4`](6f0fb8e44f) Thanks [@&#8203;hrueger](https://redirect.github.com/hrueger)! - Add `host` property to support self-hosted Keygen instances

-   [#&#8203;8636](https://redirect.github.com/electron-userland/electron-builder/pull/8636) [`88cc0b06`](88cc0b06db) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - feat: add support for AppArmor with template profile and configuration property

-   [#&#8203;8570](https://redirect.github.com/electron-userland/electron-builder/pull/8570) [`c8484305`](c84843053a) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - feat: migrate to official `electron/asar` packaging

-   [#&#8203;8525](https://redirect.github.com/electron-userland/electron-builder/pull/8525) [`13f55a3e`](13f55a3ef0) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - feat: migrate `electronDist` to be an electron-builder `Hook`

-   [#&#8203;8588](https://redirect.github.com/electron-userland/electron-builder/pull/8588) [`8434e10d`](8434e10dad) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - feat: adding integration with [@&#8203;electron/fuses](https://redirect.github.com/electron/fuses)

-   [#&#8203;8787](https://redirect.github.com/electron-userland/electron-builder/pull/8787) [`cdf18d9a`](cdf18d9a0f) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - feat: add `pwsh` detection to enable azure trusted signing within docker image

-   [#&#8203;8394](https://redirect.github.com/electron-userland/electron-builder/pull/8394) [`ae9221d9`](ae9221d947) Thanks [@&#8203;xyloflake](https://redirect.github.com/xyloflake)! - feat: Implement autoupdates for pacman

##### Patch Changes

-   [#&#8203;8645](https://redirect.github.com/electron-userland/electron-builder/pull/8645) [`f4d40f91`](f4d40f91f1) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - fix: smart unpack for local module with dll

-   [#&#8203;8762](https://redirect.github.com/electron-userland/electron-builder/pull/8762) [`c4f54977`](c4f5497704) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: update [@&#8203;electron/asar](https://redirect.github.com/electron/asar) to 3.2.18 to resolve signing issue with framework symlinks

-   [#&#8203;8650](https://redirect.github.com/electron-userland/electron-builder/pull/8650) [`f84a0831`](f84a0831d1) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix(win): add required `publisherName` field to Azure Trusted Signing

-   [#&#8203;8573](https://redirect.github.com/electron-userland/electron-builder/pull/8573) [`1fee87a2`](1fee87a20e) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - chore(deps): update ejs to v3.1.10

-   [#&#8203;8799](https://redirect.github.com/electron-userland/electron-builder/pull/8799) [`45a402b9`](45a402b978) Thanks [@&#8203;t3chguy](https://redirect.github.com/t3chguy)! - fix(mac): only fuse macOS universal builds on the combined universal package

-   [#&#8203;8671](https://redirect.github.com/electron-userland/electron-builder/pull/8671) [`a4505a37`](a4505a3785) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - chore(deps): update electron/asar to 3.2.17

-   [#&#8203;8596](https://redirect.github.com/electron-userland/electron-builder/pull/8596) [`e0b0e351`](e0b0e351ba) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - chore: refactor files for publishing to electron-publish

-   [#&#8203;8653](https://redirect.github.com/electron-userland/electron-builder/pull/8653) [`796e1a07`](796e1a072a) Thanks [@&#8203;IsaacAderogba](https://redirect.github.com/IsaacAderogba)! - fix: cscIKeyPassword must support empty string arguments

-   [#&#8203;8627](https://redirect.github.com/electron-userland/electron-builder/pull/8627) [`2a3195d9`](2a3195d99f) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: add rfc3161 timestamp entry as default for azure signing to resolve Windows Defender alert

-   [#&#8203;8725](https://redirect.github.com/electron-userland/electron-builder/pull/8725) [`ccbf0a5b`](ccbf0a5be3) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - fix: electron-builder fails when list of node_modules files is too big to pass in a glob

-   [#&#8203;8661](https://redirect.github.com/electron-userland/electron-builder/pull/8661) [`6a294c97`](6a294c9725) Thanks [@&#8203;t3chguy](https://redirect.github.com/t3chguy)! - chore: remove stale handler for `extend-info` in electronMac plist creation

-   [#&#8203;8577](https://redirect.github.com/electron-userland/electron-builder/pull/8577) [`e9eef0c1`](e9eef0c1c7) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: add additional default exclusions to copy logic

-   [#&#8203;8566](https://redirect.github.com/electron-userland/electron-builder/pull/8566) [`e45fecf0`](e45fecf04d) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - chore: change signing warning message to debug

-   [#&#8203;8576](https://redirect.github.com/electron-userland/electron-builder/pull/8576) [`3eab7143`](3eab7143d7) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - fix: packages in the workspace not being under node_modules

-   [#&#8203;8691](https://redirect.github.com/electron-userland/electron-builder/pull/8691) [`5a9141f6`](5a9141f60a) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - chore(mac): add back logging of identity name and hash as opposed to just hash

-   [#&#8203;8805](https://redirect.github.com/electron-userland/electron-builder/pull/8805) [`c6d6b6e5`](c6d6b6e57b) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: ASAR files in extraResources are not included in integrity calculations

-   [#&#8203;8575](https://redirect.github.com/electron-userland/electron-builder/pull/8575) [`dfa35c32`](dfa35c321f) Thanks [@&#8203;doctolivier](https://redirect.github.com/doctolivier)! - chore(deps): update [@&#8203;electron/rebuild](https://redirect.github.com/electron/rebuild) to v3.7.0

-   [#&#8203;8637](https://redirect.github.com/electron-userland/electron-builder/pull/8637) [`667ab2f8`](667ab2f8d5) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - chore: migrate default recommends and default depends for fpm from app-builder-bin to JS code

-   [#&#8203;8727](https://redirect.github.com/electron-userland/electron-builder/pull/8727) [`7268c2ee`](7268c2eea3) Thanks [@&#8203;NoahAndrews](https://redirect.github.com/NoahAndrews)! - chore: Rename `vmRequired` variable to `useVmIfNotOnWin`

-   [#&#8203;8714](https://redirect.github.com/electron-userland/electron-builder/pull/8714) [`66334502`](66334502a5) Thanks [@&#8203;kttmv](https://redirect.github.com/kttmv)! - chore: Remove informal Russian messages in the NSIS installer

-   [#&#8203;8606](https://redirect.github.com/electron-userland/electron-builder/pull/8606) [`a0e635c1`](a0e635c183) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: add quotes to surround file path during azure signing to handle files with spaces

-   [#&#8203;8603](https://redirect.github.com/electron-userland/electron-builder/pull/8603) [`712a8bce`](712a8bce56) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: checking relative path without separator as that doesn't work on Windows

-   [#&#8203;8639](https://redirect.github.com/electron-userland/electron-builder/pull/8639) [`28006623`](28006623a1) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - chore: refactor electron dist logic to avoid unnecessary console logs

-   [#&#8203;8715](https://redirect.github.com/electron-userland/electron-builder/pull/8715) [`4c394d54`](4c394d5468) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - fix: does not work with NPM workspaces

-   [#&#8203;8654](https://redirect.github.com/electron-userland/electron-builder/pull/8654) [`9e11358f`](9e11358fc2) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: check ResolvedFileSet src when verifying symlinks to be within project directory

-   [#&#8203;8632](https://redirect.github.com/electron-userland/electron-builder/pull/8632) [`645e2abd`](645e2abd5e) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: only sign concurrently when using local signtool. azure can't be in parallel due to resources being locked during usage

-   [#&#8203;8601](https://redirect.github.com/electron-userland/electron-builder/pull/8601) [`215fc36b`](215fc36b5e) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - Revert "fix(win): use appInfo description as primary entry for FileDescription" to resolve [https://github.com/electron-userland/electron-builder/issues/8599](https://redirect.github.com/electron-userland/electron-builder/issues/8599)

-   [`a1ee0419`](a1ee04191f) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: use FileCopier for copying files and queue creation of symlinks

-   [#&#8203;8689](https://redirect.github.com/electron-userland/electron-builder/pull/8689) [`1d7f87c1`](1d7f87c102) Thanks [@&#8203;Lemonexe](https://redirect.github.com/Lemonexe)! - fix(win): corrupt asar integrity file path on crossplatform build

-   [#&#8203;8749](https://redirect.github.com/electron-userland/electron-builder/pull/8749) [`ee2c6dc1`](ee2c6dc133) Thanks [@&#8203;kethinov](https://redirect.github.com/kethinov)! - fix: typo in urls in tsdoc

-   Updated dependencies \[[`f4d40f91`](f4d40f91f1), [`633490cb`](633490cb39), [`e0b0e351`](e0b0e351ba), [`eacbbf59`](eacbbf593f), [`6f0fb8e4`](6f0fb8e44f), [`6a6bed46`](6a6bed46c4), [`3eab7143`](3eab7143d7), [`a5558e33`](a5558e3380), [`d4ea0d99`](d4ea0d998d), [`b8185d48`](b8185d48a7), [`dcd91a1f`](dcd91a1f79)]:
    -   builder-util@26.0.0
    -   dmg-builder@26.0.0
    -   electron-builder-squirrel-windows@26.0.0
    -   electron-publish@26.0.0
    -   builder-util-runtime@9.3.0

</details>

---

### Configuration

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

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

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

🔕 **Ignore**: Close this PR and you won't be reminded about 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-01 03:04:34 +00:00
donteatfriedrice
1dbd34177e feat(editor): embed iframe block event tracking (#11313)
Close [BS-2958](https://linear.app/affine-design/issue/BS-2958/埋点相关)
2025-04-01 02:50:23 +00:00
CatsJuice
3467515ae9 fix(core): should show divider between readwise content and note (#11113) 2025-04-01 02:37:27 +00:00
renovate
1be83dc330 chore: bump up express version to v5 (#11333)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [express](https://expressjs.com/) ([source](https://redirect.github.com/expressjs/express)) | [`^4.21.2` -> `^5.0.0`](https://renovatebot.com/diffs/npm/express/4.21.2/5.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/express/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/express/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/express/4.21.2/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/express/4.21.2/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@types/express](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/express) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/express)) | [`^4` -> `^5.0.0`](https://renovatebot.com/diffs/npm/@types%2fexpress/4.17.21/5.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fexpress/5.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fexpress/5.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fexpress/4.17.21/5.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fexpress/4.17.21/5.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>expressjs/express (express)</summary>

### [`v5.1.0`](https://redirect.github.com/expressjs/express/blob/HEAD/History.md#510--2025-03-31)

[Compare Source](https://redirect.github.com/expressjs/express/compare/5.0.1...v5.1.0)

\========================

-   Add support for `Uint8Array` in `res.send()`
-   Add support for ETag option in `res.sendFile()`
-   Add support for multiple links with the same rel in `res.links()`
-   Add funding field to package.json
-   perf: use loop for acceptParams
-   refactor: prefix built-in node module imports
-   deps: remove `setprototypeof`
-   deps: remove `safe-buffer`
-   deps: remove `utils-merge`
-   deps: remove `methods`
-   deps: remove `depd`
-   deps: `debug@^4.4.0`
-   deps: `body-parser@^2.2.0`
-   deps: `router@^2.2.0`
-   deps: `content-type@^1.0.5`
-   deps: `finalhandler@^2.1.0`
-   deps: `qs@^6.14.0`
-   deps: `server-static@2.2.0`
-   deps: `type-is@2.0.1`

### [`v5.0.1`](https://redirect.github.com/expressjs/express/blob/HEAD/History.md#501--2024-10-08)

[Compare Source](https://redirect.github.com/expressjs/express/compare/v5.0.0...5.0.1)

\==========

-   Update `cookie` semver lock to address [CVE-2024-47764](https://nvd.nist.gov/vuln/detail/CVE-2024-47764)

### [`v5.0.0`](https://redirect.github.com/expressjs/express/blob/HEAD/History.md#500--2024-09-10)

[Compare Source](https://redirect.github.com/expressjs/express/compare/4.21.2...v5.0.0)

\=========================

-   remove:
    -   `path-is-absolute` dependency - use `path.isAbsolute` instead
-   breaking:
    -   `res.status()` accepts only integers, and input must be greater than 99 and less than 1000
        -   will throw a `RangeError: Invalid status code: ${code}. Status code must be greater than 99 and less than 1000.` for inputs outside this range
        -   will throw a `TypeError: Invalid status code: ${code}. Status code must be an integer.` for non integer inputs
    -   deps: send@1.0.0
    -   `res.redirect('back')` and `res.location('back')` is no longer a supported magic string, explicitly use `req.get('Referrer') || '/'`.
-   change:
    -   `res.clearCookie` will ignore user provided `maxAge` and `expires` options
-   deps: cookie-signature@^1.2.1
-   deps: debug@4.3.6
-   deps: merge-descriptors@^2.0.0
-   deps: serve-static@^2.1.0
-   deps: qs@6.13.0
-   deps: accepts@^2.0.0
-   deps: mime-types@^3.0.0
    -   `application/javascript` => `text/javascript`
-   deps: type-is@^2.0.0
-   deps: content-disposition@^1.0.0
-   deps: finalhandler@^2.0.0
-   deps: fresh@^2.0.0
-   deps: body-parser@^2.0.1
-   deps: send@^1.1.0

</details>

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-01 02:24:11 +00:00
pengx17
0a37ca91fb feat(electron): add allow list for recording apps (#11321) 2025-04-01 01:48:07 +00:00
fundon
eac8f32f4c refactor(editor): basic styles of font and panel (#11290)
* Updated `border-radius` of panel to `8px`.  [BS-2901](https://linear.app/affine-design/issue/BS-2901/meta-info-ui-issue) [BS-2810](https://linear.app/affine-design/issue/BS-2810/toolbarpicker-圆角更新为-8px)
* Refactored basic styles of font and panel.

<img width="549" alt="Screenshot 2025-03-31 at 12 56 36" src="https://github.com/user-attachments/assets/4a827e1e-f802-4251-a563-4a34b891a5e3" />
2025-04-01 01:35:59 +00:00
darkskygit
b099deb6df feat(server): bump gemini version (#11317) 2025-04-01 01:11:36 +00:00
renovate
782f31ad26 chore: bump up all non-major dependencies (#11273)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@ai-sdk/google](https://sdk.vercel.ai/docs) ([source](https://redirect.github.com/vercel/ai)) | [`1.2.3` -> `1.2.5`](https://renovatebot.com/diffs/npm/@ai-sdk%2fgoogle/1.2.3/1.2.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@ai-sdk%2fgoogle/1.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@ai-sdk%2fgoogle/1.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@ai-sdk%2fgoogle/1.2.3/1.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@ai-sdk%2fgoogle/1.2.3/1.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@aws-sdk/client-s3](https://redirect.github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://redirect.github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.777.0` -> `3.779.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.777.0/3.779.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.779.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.779.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.777.0/3.779.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.777.0/3.779.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@capacitor/android](https://capacitorjs.com) ([source](https://redirect.github.com/ionic-team/capacitor)) | [`7.1.0` -> `7.2.0`](https://renovatebot.com/diffs/npm/@capacitor%2fandroid/7.1.0/7.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@capacitor%2fandroid/7.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@capacitor%2fandroid/7.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@capacitor%2fandroid/7.1.0/7.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capacitor%2fandroid/7.1.0/7.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@capacitor/cli](https://capacitorjs.com) ([source](https://redirect.github.com/ionic-team/capacitor)) | [`7.1.0` -> `7.2.0`](https://renovatebot.com/diffs/npm/@capacitor%2fcli/7.1.0/7.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@capacitor%2fcli/7.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@capacitor%2fcli/7.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@capacitor%2fcli/7.1.0/7.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capacitor%2fcli/7.1.0/7.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@capacitor/core](https://capacitorjs.com) ([source](https://redirect.github.com/ionic-team/capacitor)) | [`7.1.0` -> `7.2.0`](https://renovatebot.com/diffs/npm/@capacitor%2fcore/7.1.0/7.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@capacitor%2fcore/7.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@capacitor%2fcore/7.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@capacitor%2fcore/7.1.0/7.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capacitor%2fcore/7.1.0/7.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@capacitor/ios](https://capacitorjs.com) ([source](https://redirect.github.com/ionic-team/capacitor)) | [`7.1.0` -> `7.2.0`](https://renovatebot.com/diffs/npm/@capacitor%2fios/7.1.0/7.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@capacitor%2fios/7.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@capacitor%2fios/7.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@capacitor%2fios/7.1.0/7.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capacitor%2fios/7.1.0/7.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@capgo/inappbrowser](https://redirect.github.com/Cap-go/capacitor-inappbrowser) | [`7.6.8` -> `7.7.2`](https://renovatebot.com/diffs/npm/@capgo%2finappbrowser/7.6.8/7.7.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@capgo%2finappbrowser/7.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@capgo%2finappbrowser/7.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@capgo%2finappbrowser/7.6.8/7.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capgo%2finappbrowser/7.6.8/7.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@lottiefiles/dotlottie-wc](https://redirect.github.com/LottieFiles/dotlottie-web) ([source](https://redirect.github.com/LottieFiles/dotlottie-web/tree/HEAD/packages/wc)) | [`0.5.0` -> `0.5.1`](https://renovatebot.com/diffs/npm/@lottiefiles%2fdotlottie-wc/0.5.0/0.5.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@lottiefiles%2fdotlottie-wc/0.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@lottiefiles%2fdotlottie-wc/0.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@lottiefiles%2fdotlottie-wc/0.5.0/0.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@lottiefiles%2fdotlottie-wc/0.5.0/0.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@perfsee/webpack](https://redirect.github.com/perfsee/perfsee) | [`1.13.0` -> `1.14.2`](https://renovatebot.com/diffs/npm/@perfsee%2fwebpack/1.13.0/1.14.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@perfsee%2fwebpack/1.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@perfsee%2fwebpack/1.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@perfsee%2fwebpack/1.13.0/1.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@perfsee%2fwebpack/1.13.0/1.14.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://redirect.github.com/getsentry/sentry-javascript)) | [`9.10.0` -> `9.10.1`](https://renovatebot.com/diffs/npm/@sentry%2freact/9.10.0/9.10.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/9.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/9.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/9.10.0/9.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/9.10.0/9.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://redirect.github.com/getsentry/sentry-javascript)) | [`9.10.0` -> `9.10.1`](https://renovatebot.com/diffs/npm/@sentry%2freact/9.10.0/9.10.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/9.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/9.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/9.10.0/9.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/9.10.0/9.10.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@vitest/browser](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/browser#readme) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/browser)) | [`3.0.9` -> `3.1.1`](https://renovatebot.com/diffs/npm/@vitest%2fbrowser/3.0.9/3.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fbrowser/3.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fbrowser/3.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fbrowser/3.0.9/3.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fbrowser/3.0.9/3.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@vitest/coverage-istanbul](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/coverage-istanbul#readme) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul)) | [`3.0.9` -> `3.1.1`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/3.0.9/3.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fcoverage-istanbul/3.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fcoverage-istanbul/3.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fcoverage-istanbul/3.0.9/3.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fcoverage-istanbul/3.0.9/3.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@vitest/ui](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/ui#readme) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/ui)) | [`3.0.9` -> `3.1.1`](https://renovatebot.com/diffs/npm/@vitest%2fui/3.0.9/3.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fui/3.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fui/3.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fui/3.0.9/3.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fui/3.0.9/3.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [ai](https://sdk.vercel.ai/docs) ([source](https://redirect.github.com/vercel/ai)) | [`4.2.8` -> `4.2.10`](https://renovatebot.com/diffs/npm/ai/4.2.8/4.2.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/ai/4.2.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ai/4.2.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ai/4.2.8/4.2.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ai/4.2.8/4.2.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [bullmq](https://bullmq.io/) ([source](https://redirect.github.com/taskforcesh/bullmq)) | [`5.45.0` -> `5.45.2`](https://renovatebot.com/diffs/npm/bullmq/5.45.0/5.45.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/bullmq/5.45.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/bullmq/5.45.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/bullmq/5.45.0/5.45.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/bullmq/5.45.0/5.45.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [esbuild](https://redirect.github.com/evanw/esbuild) | [`0.25.1` -> `0.25.2`](https://renovatebot.com/diffs/npm/esbuild/0.25.1/0.25.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/esbuild/0.25.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/esbuild/0.25.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/esbuild/0.25.1/0.25.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/esbuild/0.25.1/0.25.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [express](https://expressjs.com/) ([source](https://redirect.github.com/expressjs/express)) | [`5.0.1` -> `5.1.0`](https://renovatebot.com/diffs/npm/express/5.0.1/5.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/express/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/express/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/express/5.0.1/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/express/5.0.1/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [lucide-react](https://lucide.dev) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.484.0` -> `^0.486.0`](https://renovatebot.com/diffs/npm/lucide-react/0.484.0/0.486.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.486.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-react/0.486.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-react/0.484.0/0.486.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.484.0/0.486.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [once_cell](https://redirect.github.com/matklad/once_cell) | `1.21.2` -> `1.21.3` | [![age](https://developer.mend.io/api/mc/badges/age/crate/once_cell/1.21.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/once_cell/1.21.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/once_cell/1.21.2/1.21.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/once_cell/1.21.2/1.21.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [openai](https://redirect.github.com/openai/openai-node) | [`4.90.0` -> `4.91.0`](https://renovatebot.com/diffs/npm/openai/4.90.0/4.91.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/openai/4.91.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/openai/4.91.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/openai/4.90.0/4.91.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/openai/4.90.0/4.91.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [react](https://react.dev/) ([source](https://redirect.github.com/facebook/react/tree/HEAD/packages/react)) | [`19.0.0` -> `19.1.0`](https://renovatebot.com/diffs/npm/react/19.0.0/19.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react/19.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react/19.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react/19.0.0/19.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react/19.0.0/19.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [react-day-picker](https://daypicker.dev) ([source](https://redirect.github.com/gpbl/react-day-picker)) | [`9.6.3` -> `9.6.4`](https://renovatebot.com/diffs/npm/react-day-picker/9.6.3/9.6.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-day-picker/9.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-day-picker/9.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-day-picker/9.6.3/9.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-day-picker/9.6.3/9.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [react-dom](https://react.dev/) ([source](https://redirect.github.com/facebook/react/tree/HEAD/packages/react-dom)) | [`19.0.0` -> `19.1.0`](https://renovatebot.com/diffs/npm/react-dom/19.0.0/19.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-dom/19.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-dom/19.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-dom/19.0.0/19.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-dom/19.0.0/19.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [react-hook-form](https://www.react-hook-form.com) ([source](https://redirect.github.com/react-hook-form/react-hook-form)) | [`7.54.2` -> `7.55.0`](https://renovatebot.com/diffs/npm/react-hook-form/7.54.2/7.55.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-hook-form/7.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-hook-form/7.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-hook-form/7.54.2/7.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-hook-form/7.54.2/7.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [react-refresh](https://react.dev/) ([source](https://redirect.github.com/facebook/react/tree/HEAD/packages/react)) | [`^0.16.0` -> `^0.17.0`](https://renovatebot.com/diffs/npm/react-refresh/0.16.0/0.17.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-refresh/0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-refresh/0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-refresh/0.16.0/0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-refresh/0.16.0/0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [react-virtuoso](https://virtuoso.dev/) ([source](https://redirect.github.com/petyosi/react-virtuoso)) | [`4.12.5` -> `4.12.6`](https://renovatebot.com/diffs/npm/react-virtuoso/4.12.5/4.12.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-virtuoso/4.12.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-virtuoso/4.12.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-virtuoso/4.12.5/4.12.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-virtuoso/4.12.5/4.12.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [rubato](https://redirect.github.com/HEnquist/rubato) | `0.16.1` -> `0.16.2` | [![age](https://developer.mend.io/api/mc/badges/age/crate/rubato/0.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/rubato/0.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/rubato/0.16.1/0.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/rubato/0.16.1/0.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [tailwind-merge](https://redirect.github.com/dcastil/tailwind-merge) | [`3.0.2` -> `3.1.0`](https://renovatebot.com/diffs/npm/tailwind-merge/3.0.2/3.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tailwind-merge/3.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tailwind-merge/3.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tailwind-merge/3.0.2/3.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwind-merge/3.0.2/3.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)) | [`8.28.0` -> `8.29.0`](https://renovatebot.com/diffs/npm/typescript-eslint/8.28.0/8.29.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typescript-eslint/8.29.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript-eslint/8.29.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript-eslint/8.28.0/8.29.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript-eslint/8.28.0/8.29.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [vitest](https://redirect.github.com/vitest-dev/vitest) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`3.0.9` -> `3.1.1`](https://renovatebot.com/diffs/npm/vitest/3.0.9/3.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/3.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest/3.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest/3.0.9/3.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/3.0.9/3.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [yarn](https://redirect.github.com/yarnpkg/berry) ([source](https://redirect.github.com/yarnpkg/berry/tree/HEAD/packages/yarnpkg-cli)) | [`4.8.0` -> `4.8.1`](https://renovatebot.com/diffs/npm/yarn/4.8.0/4.8.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@yarnpkg%2fcli/4.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@yarnpkg%2fcli/4.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@yarnpkg%2fcli/4.8.0/4.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@yarnpkg%2fcli/4.8.0/4.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | packageManager | patch |

---

### Release Notes

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

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

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

##### Patch Changes

-   [`2e1101a`](https://redirect.github.com/vercel/ai/commit/2e1101a): feat (provider/openai): pdf input support
-   Updated dependencies \[[`2e1101a`](https://redirect.github.com/vercel/ai/commit/2e1101a)]
    -   [@&#8203;ai-sdk/provider](https://redirect.github.com/ai-sdk/provider)[@&#8203;1](https://redirect.github.com/1).0.11
    -   [@&#8203;ai-sdk/provider-utils](https://redirect.github.com/ai-sdk/provider-utils)[@&#8203;2](https://redirect.github.com/2).1.13

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

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

##### Patch Changes

-   [`523f128`](https://redirect.github.com/vercel/ai/commit/523f128): feat (provider/openai): add strictSchemas option to responses model

</details>

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

### [`v3.779.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#37790-2025-03-31)

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

##### Features

-   **client-s3:** Amazon S3 adds support for S3 Access Points for directory buckets in AWS Dedicated Local Zones ([7f2cfea](7f2cfea14e))

</details>

<details>
<summary>ionic-team/capacitor (@&#8203;capacitor/android)</summary>

### [`v7.2.0`](https://redirect.github.com/ionic-team/capacitor/blob/HEAD/CHANGELOG.md#720-2025-03-31)

[Compare Source](https://redirect.github.com/ionic-team/capacitor/compare/7.1.0...7.2.0)

##### Bug Fixes

-   **android:** rename bridge layout to avoid collision ([#&#8203;7919](https://redirect.github.com/ionic-team/capacitor/issues/7919)) ([a629f16](a629f167b3))
-   **cli:** Don't migrate Podfile on SPM projects ([#&#8203;7939](https://redirect.github.com/ionic-team/capacitor/issues/7939)) ([ab4e700](ab4e700035))
-   **ios:** respect shouldEncodeUrlParams value ([#&#8203;7931](https://redirect.github.com/ionic-team/capacitor/issues/7931)) ([4fb12a0](4fb12a03a9))

##### Features

-   **http:** Apply overrideUserAgent to requests ([#&#8203;7906](https://redirect.github.com/ionic-team/capacitor/issues/7906)) ([52482c9](52482c9d3c))
-   **ios:** Enable Fullscreen API on WebView ([#&#8203;7909](https://redirect.github.com/ionic-team/capacitor/issues/7909)) ([172638e](172638ec7b))

</details>

<details>
<summary>Cap-go/capacitor-inappbrowser (@&#8203;capgo/inappbrowser)</summary>

### [`v7.7.2`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#772-2025-03-31)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.7.1...7.7.2)

### [`v7.7.1`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#771-2025-03-30)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.6.12...7.7.1)

### [`v7.6.12`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#7612-2025-03-30)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.6.9...7.6.12)

### [`v7.6.9`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#769-2025-03-29)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.6.8...7.6.9)

</details>

<details>
<summary>LottieFiles/dotlottie-web (@&#8203;lottiefiles/dotlottie-wc)</summary>

### [`v0.5.1`](https://redirect.github.com/LottieFiles/dotlottie-web/blob/HEAD/packages/wc/CHANGELOG.md#051)

##### Patch Changes

-   Updated dependencies \[[`faaf25e`](https://redirect.github.com/LottieFiles/dotlottie-web/commit/faaf25e)]
-   Updated dependencies \[[`4ffcae2`](https://redirect.github.com/LottieFiles/dotlottie-web/commit/4ffcae2)]
-   Updated dependencies \[[`faaf25e`](https://redirect.github.com/LottieFiles/dotlottie-web/commit/faaf25e)]
    -   [@&#8203;lottiefiles/dotlottie-web](https://redirect.github.com/lottiefiles/dotlottie-web)[@&#8203;0](https://redirect.github.com/0).42.0

</details>

<details>
<summary>perfsee/perfsee (@&#8203;perfsee/webpack)</summary>

### [`v1.14.2`](https://redirect.github.com/perfsee/perfsee/compare/v1.13.0...v1.14.2)

[Compare Source](https://redirect.github.com/perfsee/perfsee/compare/v1.13.0...v1.14.2)

</details>

<details>
<summary>getsentry/sentry-javascript (@&#8203;sentry/react)</summary>

### [`v9.10.1`](https://redirect.github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#9101)

[Compare Source](https://redirect.github.com/getsentry/sentry-javascript/compare/9.10.0...9.10.1)

-   fix: Correct [@&#8203;sentry-internal/feedback](https://redirect.github.com/sentry-internal/feedback) docs to match the code ([#&#8203;15874](https://redirect.github.com/getsentry/sentry-javascript/pull/15874))
-   deps: Bump bundler plugins to version `3.2.4` ([#&#8203;15909](https://redirect.github.com/getsentry/sentry-javascript/pull/15909))

</details>

<details>
<summary>vitest-dev/vitest (@&#8203;vitest/browser)</summary>

### [`v3.1.1`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v3.1.1)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v3.1.0...v3.1.1)

#####    🐞 Bug Fixes

-   **reporter**:
    -   Report tests in correct order  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7752](https://redirect.github.com/vitest-dev/vitest/issues/7752) [<samp>(b166e)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/b166efa2)
    -   Print test only once in the verbose mode  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7738](https://redirect.github.com/vitest-dev/vitest/issues/7738) [<samp>(69ca4)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/69ca425c)

#####     [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v3.1.0...v3.1.1)

### [`v3.1.0`](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.9...v3.1.0)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.9...v3.1.0)

</details>

<details>
<summary>taskforcesh/bullmq (bullmq)</summary>

### [`v5.45.2`](https://redirect.github.com/taskforcesh/bullmq/releases/tag/v5.45.2)

[Compare Source](https://redirect.github.com/taskforcesh/bullmq/compare/v5.45.1...v5.45.2)

##### Bug Fixes

-   **flow:** validate pending dependencies before removing lock ([#&#8203;3182](https://redirect.github.com/taskforcesh/bullmq/issues/3182)) ([8d59e3b](8d59e3b808))

### [`v5.45.1`](https://redirect.github.com/taskforcesh/bullmq/releases/tag/v5.45.1)

[Compare Source](https://redirect.github.com/taskforcesh/bullmq/compare/v5.45.0...v5.45.1)

##### Bug Fixes

-   **job-scheduler:** emit duplicated event when next delayed job exists ([#&#8203;3172](https://redirect.github.com/taskforcesh/bullmq/issues/3172)) ([d57698f](d57698f9af))

</details>

<details>
<summary>evanw/esbuild (esbuild)</summary>

### [`v0.25.2`](https://redirect.github.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0252)

[Compare Source](https://redirect.github.com/evanw/esbuild/compare/v0.25.1...v0.25.2)

-   Support flags in regular expressions for the API ([#&#8203;4121](https://redirect.github.com/evanw/esbuild/issues/4121))

    The JavaScript plugin API for esbuild takes JavaScript regular expression objects for the `filter` option. Internally these are translated into Go regular expressions. However, this translation previously ignored the `flags` property of the regular expression. With this release, esbuild will now translate JavaScript regular expression flags into Go regular expression flags. Specifically the JavaScript regular expression `/\.[jt]sx?$/i` is turned into the Go regular expression `` `(?i)\.[jt]sx?$` `` internally inside of esbuild's API. This should make it possible to use JavaScript regular expressions with the `i` flag. Note that JavaScript and Go don't support all of the same regular expression features, so this mapping is only approximate.

-   Fix node-specific annotations for string literal export names ([#&#8203;4100](https://redirect.github.com/evanw/esbuild/issues/4100))

    When node instantiates a CommonJS module, it scans the AST to look for names to expose via ESM named exports. This is a heuristic that looks for certain patterns such as `exports.NAME = ...` or `module.exports = { ... }`. This behavior is used by esbuild to "annotate" CommonJS code that was converted from ESM with the original ESM export names. For example, when converting the file `export let foo, bar` from ESM to CommonJS, esbuild appends this to the end of the file:

    ```js
    // Annotate the CommonJS export names for ESM import in node:
    0 && (module.exports = {
      bar,
      foo
    });
    ```

    However, this feature previously didn't work correctly for export names that are not valid identifiers, which can be constructed using string literal export names. The generated code contained a syntax error. That problem is fixed in this release:

    ```js
    // Original code
    let foo
    export { foo as "foo!" }

    // Old output (with --format=cjs --platform=node)
    ...
    0 && (module.exports = {
      "foo!"
    });

    // New output (with --format=cjs --platform=node)
    ...
    0 && (module.exports = {
      "foo!": null
    });
    ```

-   Basic support for index source maps ([#&#8203;3439](https://redirect.github.com/evanw/esbuild/issues/3439), [#&#8203;4109](https://redirect.github.com/evanw/esbuild/pull/4109))

    The source map specification has an optional mode called [index source maps](https://tc39.es/ecma426/#sec-index-source-map) that makes it easier for tools to create an aggregate JavaScript file by concatenating many smaller JavaScript files with source maps, and then generate an aggregate source map by simply providing the original source maps along with some offset information. My understanding is that this is rarely used in practice. I'm only aware of two uses of it in the wild: [ClojureScript](https://clojurescript.org/) and [Turbopack](https://turbo.build/pack/).

    This release provides basic support for indexed source maps. However, the implementation has not been tested on a real app (just on very simple test input). If you are using index source maps in a real app, please try this out and report back if anything isn't working for you.

    Note that this is also not a complete implementation. For example, index source maps technically allows nesting source maps to an arbitrary depth, while esbuild's implementation in this release only supports a single level of nesting. It's unclear whether supporting more than one level of nesting is important or not given the lack of available test cases.

    This feature was contributed by [@&#8203;clyfish](https://redirect.github.com/clyfish).

</details>

<details>
<summary>expressjs/express (express)</summary>

### [`v5.1.0`](https://redirect.github.com/expressjs/express/blob/HEAD/History.md#510--2025-03-31)

[Compare Source](https://redirect.github.com/expressjs/express/compare/5.0.1...v5.1.0)

\========================

-   Add support for `Uint8Array` in `res.send()`
-   Add support for ETag option in `res.sendFile()`
-   Add support for multiple links with the same rel in `res.links()`
-   Add funding field to package.json
-   perf: use loop for acceptParams
-   refactor: prefix built-in node module imports
-   deps: remove `setprototypeof`
-   deps: remove `safe-buffer`
-   deps: remove `utils-merge`
-   deps: remove `methods`
-   deps: remove `depd`
-   deps: `debug@^4.4.0`
-   deps: `body-parser@^2.2.0`
-   deps: `router@^2.2.0`
-   deps: `content-type@^1.0.5`
-   deps: `finalhandler@^2.1.0`
-   deps: `qs@^6.14.0`
-   deps: `server-static@2.2.0`
-   deps: `type-is@2.0.1`

</details>

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

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

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

##### What's Changed

-   feat([@&#8203;lucide/astro](https://redirect.github.com/lucide/astro)): add lucide package for Astro by [@&#8203;MoustaphaDev](https://redirect.github.com/MoustaphaDev) in [https://github.com/lucide-icons/lucide/pull/2665](https://redirect.github.com/lucide-icons/lucide/pull/2665)

##### New Contributors

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

**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.485.0...0.486.0

### [`v0.485.0`](https://redirect.github.com/lucide-icons/lucide/compare/0.484.0...0.485.0)

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

</details>

<details>
<summary>matklad/once_cell (once_cell)</summary>

### [`v1.21.3`](https://redirect.github.com/matklad/once_cell/blob/HEAD/CHANGELOG.md#1213)

[Compare Source](https://redirect.github.com/matklad/once_cell/compare/v1.21.2...v1.21.3)

-   Outline more initialization in `race`: [#&#8203;284](https://redirect.github.com/matklad/once_cell/pull/284),
    [#&#8203;285](https://redirect.github.com/matklad/once_cell/pull/285).

</details>

<details>
<summary>openai/openai-node (openai)</summary>

### [`v4.91.0`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4910-2025-03-31)

[Compare Source](https://redirect.github.com/openai/openai-node/compare/v4.90.0...v4.91.0)

Full Changelog: [v4.90.0...v4.91.0](https://redirect.github.com/openai/openai-node/compare/v4.90.0...v4.91.0)

##### Features

-   **api:** add `get /responses/{response_id}/input_items` endpoint ([ef0e0ac](ef0e0acd46))

##### Performance Improvements

-   **embedding:** default embedding creation to base64 ([#&#8203;1312](https://redirect.github.com/openai/openai-node/issues/1312)) ([e54530e](e54530e4f6)), closes [#&#8203;1310](https://redirect.github.com/openai/openai-node/issues/1310)

</details>

<details>
<summary>facebook/react (react)</summary>

### [`v19.1.0`](https://redirect.github.com/facebook/react/compare/v19.0.0...1825990c5608f0ab0c1475b4292218a508a171c9)

[Compare Source](https://redirect.github.com/facebook/react/compare/v19.0.0...v19.1.0)

</details>

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

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

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

#### What's Changed

-   fix(animation): fix issues when navigating months during animation by [@&#8203;rodgobbi](https://redirect.github.com/rodgobbi) in [https://github.com/gpbl/react-day-picker/pull/2710](https://redirect.github.com/gpbl/react-day-picker/pull/2710)

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

</details>

<details>
<summary>facebook/react (react-dom)</summary>

### [`v19.1.0`](https://redirect.github.com/facebook/react/compare/v19.0.0...1825990c5608f0ab0c1475b4292218a508a171c9)

[Compare Source](https://redirect.github.com/facebook/react/compare/v19.0.0...v19.1.0)

</details>

<details>
<summary>react-hook-form/react-hook-form (react-hook-form)</summary>

### [`v7.55.0`](https://redirect.github.com/react-hook-form/react-hook-form/compare/v7.54.2...a66b52a4f0d5c0de3c09307c074371e3e881ce73)

[Compare Source](https://redirect.github.com/react-hook-form/react-hook-form/compare/v7.54.2...v7.55.0)

</details>

<details>
<summary>petyosi/react-virtuoso (react-virtuoso)</summary>

### [`v4.12.6`](https://redirect.github.com/petyosi/react-virtuoso/releases/tag/react-virtuoso%404.12.6)

[Compare Source](https://redirect.github.com/petyosi/react-virtuoso/compare/react-virtuoso@4.12.5...react-virtuoso@4.12.6)

##### Patch Changes

-   [`bb0402e`](https://redirect.github.com/petyosi/react-virtuoso/commit/bb0402e): Support window scrolling to iframe react portals

</details>

<details>
<summary>HEnquist/rubato (rubato)</summary>

### [`v0.16.2`](https://redirect.github.com/HEnquist/rubato/releases/tag/v0.16.2)

[Compare Source](https://redirect.github.com/HEnquist/rubato/compare/v0.16.1...v0.16.2)

#### What's Changed

-   Fix tests on 32-bit archs, add test by [@&#8203;HEnquist](https://redirect.github.com/HEnquist) in [https://github.com/HEnquist/rubato/pull/102](https://redirect.github.com/HEnquist/rubato/pull/102)

**Full Changelog**: https://github.com/HEnquist/rubato/compare/v0.16.1...v0.16.2

</details>

<details>
<summary>dcastil/tailwind-merge (tailwind-merge)</summary>

### [`v3.1.0`](https://redirect.github.com/dcastil/tailwind-merge/releases/tag/v3.1.0)

[Compare Source](https://redirect.github.com/dcastil/tailwind-merge/compare/v3.0.2...v3.1.0)

##### New Features

-   Add support for Tailwind CSS v4.0.10 by [@&#8203;dcastil](https://redirect.github.com/dcastil) in [https://github.com/dcastil/tailwind-merge/pull/546](https://redirect.github.com/dcastil/tailwind-merge/pull/546)

##### Bug Fixes

-   Fix length variable in `via-(length:*)` class being merged with `via-<color>` classes accidentally by [@&#8203;dcastil](https://redirect.github.com/dcastil) in [https://github.com/dcastil/tailwind-merge/pull/559](https://redirect.github.com/dcastil/tailwind-merge/pull/559)

##### Documentation

-   Fix typo in comment in types.ts by [@&#8203;roottool](https://redirect.github.com/roottool) in [https://github.com/dcastil/tailwind-merge/pull/549](https://redirect.github.com/dcastil/tailwind-merge/pull/549)
-   Update shadow scale recipe to tailwind merge v3 API by [@&#8203;dcastil](https://redirect.github.com/dcastil) in [https://github.com/dcastil/tailwind-merge/pull/545](https://redirect.github.com/dcastil/tailwind-merge/pull/545)

##### Other

-   Fix metrics report action erroring on PRs from forks by [@&#8203;dcastil](https://redirect.github.com/dcastil) in [https://github.com/dcastil/tailwind-merge/pull/551](https://redirect.github.com/dcastil/tailwind-merge/pull/551)

**Full Changelog**: https://github.com/dcastil/tailwind-merge/compare/v3.0.2...v3.1.0

Thanks to [@&#8203;brandonmcconnell](https://redirect.github.com/brandonmcconnell), [@&#8203;manavm1990](https://redirect.github.com/manavm1990), [@&#8203;langy](https://redirect.github.com/langy), [@&#8203;jamesreaco](https://redirect.github.com/jamesreaco), [@&#8203;roboflow](https://redirect.github.com/roboflow), [@&#8203;syntaxfm](https://redirect.github.com/syntaxfm), [@&#8203;getsentry](https://redirect.github.com/getsentry), [@&#8203;codecov](https://redirect.github.com/codecov), [@&#8203;sourcegraph](https://redirect.github.com/sourcegraph) and a private sponsor for sponsoring tailwind-merge! ❤️

</details>

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

### [`v8.29.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8290-2025-03-31)

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

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

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

</details>

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

### [`v4.8.1`](260cff1745...76596c5d3f)

[Compare Source](260cff1745...76596c5d3f)

</details>

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-01 00:56:18 +00:00
renovate
5930bba97d chore: bump up vite version to v6.2.4 [SECURITY] (#11332)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [vite](https://vite.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`6.2.3` -> `6.2.4`](https://renovatebot.com/diffs/npm/vite/6.2.3/6.2.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/6.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/6.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/6.2.3/6.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/6.2.3/6.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

### GitHub Vulnerability Alerts

#### [CVE-2025-31125](https://redirect.github.com/vitejs/vite/security/advisories/GHSA-4r4m-qw57-chr8)

### Summary

The contents of arbitrary files can be returned to the browser.

### Impact
Only apps explicitly exposing the Vite dev server to the network (using `--host` or [`server.host` config option](https://vitejs.dev/config/server-options.html#server-host)) are affected.

### Details

- base64 encoded content of non-allowed files is exposed using `?inline&import` (originally reported as `?import&?inline=1.wasm?init`)
- content of non-allowed files is exposed using `?raw?import`

`/@&#8203;fs/` isn't needed to reproduce the issue for files inside the project root.

### PoC

Original report (check details above for simplified cases):

The ?import&?inline=1.wasm?init ending allows attackers to read arbitrary files and returns the file content if it exists.  Base64 decoding needs to be performed twice
```
$ npm create vite@latest
$ cd vite-project/
$ npm install
$ npm run dev
```

Example full URL `http://localhost:5173/@&#8203;fs/C:/windows/win.ini?import&?inline=1.wasm?init`

---

### Release Notes

<details>
<summary>vitejs/vite (vite)</summary>

### [`v6.2.4`](https://redirect.github.com/vitejs/vite/releases/tag/v6.2.4)

[Compare Source](https://redirect.github.com/vitejs/vite/compare/v6.2.3...v6.2.4)

Please refer to [CHANGELOG.md](https://redirect.github.com/vitejs/vite/blob/v6.2.4/packages/vite/CHANGELOG.md) for details.

</details>

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-01 00:43:32 +00:00
akumatus
afd1a30b96 feat(core): add chat-panel track (#11323)
Close [AF-2434](https://linear.app/affine-design/issue/AF-2434).
2025-03-31 17:01:10 +00:00
EYHN
bc0f32f20b feat(nbstore): add indexer sync version (#11324) 2025-03-31 16:48:47 +00:00
Brooooooklyn
d31e0c0e71 ci: run some optimize on CI e2e (#11330) 2025-03-31 15:23:21 +00:00
Brooooooklyn
2eecfef393 chore: replace woff to woff2 (#11328) 2025-03-31 15:23:21 +00:00
darkskygit
fe05872ada feat(server): compress transcript response (#11316) 2025-03-31 14:46:10 +00:00
Saul-Mirone
58d6a96e45 fix(editor): firefox invalid selection range (#11320)
Closes: BS-2987
2025-03-31 14:33:24 +00:00
EYHN
5f3cf53819 feat(core): cleanup unused indexeddb when bootstrapping (#11325) 2025-03-31 14:20:41 +00:00
pengx17
ac096f533a feat(electron): should listen to app audio input event for isRunning check (#11315)
fix AF-2435
2025-03-31 14:02:37 +00:00
EYHN
8957d0645f feat(nbstore): add indexer storage (#10953) 2025-03-31 12:59:51 +00:00
L-Sun
c9e14ac0db fix(editor): sync gfx block transform update with RAF to prevent stale transform (#11322)
Close [BS-2866](https://linear.app/affine-design/issue/BS-2866/presentation-mode中的note消失)

## Problem
When using RequestAnimationFrame (RAF) for GFX block updates, there was a timing issue where the transform update would lag behind the RAF callback, causing the block to display with the previous frame's transform state.

## Solution
1. Refactored the block state management to use signals for better reactivity
2. Moved block visibility state management from `viewport-element.ts` to `gfx-block-component.ts`
3. Added `transformState$` signal to track block state
4. Synchronized transform updates with RAF using `effect` to ensure updates happen in the correct frame
5. Added test case to verify note visibility in presentation mode
2025-03-31 12:47:01 +00:00
L-Sun
fec698fd8b chore(editor): improve selection of doc in canvas (#11314)
Close [BS-2705](https://linear.app/affine-design/issue/BS-2705/[improvement]-通过-viability-control-选择-hide-in-edgeless)

This PR disabled selecting operation of notes that are only shown in page mode.
2025-03-31 12:35:02 +00:00
fundon
587fea02b8 feat(editor): add cursor to drawing tools (#11311)
Closes: [BS-2862](https://linear.app/affine-design/issue/BS-2862/pencil与highlighter光标改成)
2025-03-31 12:22:20 +00:00
CatsJuice
731a4c952f feat(core): track for integration (#11128) 2025-03-31 11:45:32 +00:00
fundon
f1882061a2 fix(editor): should exit drawing tools menu when Escape is pressed (#11306)
Closes: [BS-2978](https://linear.app/affine-design/issue/BS-2978/二级菜单的激活状态错误) [BS-2977](https://linear.app/affine-design/issue/BS-2977/pen和highlighter没做esc)
2025-03-31 11:05:01 +00:00
L-Sun
2f1f09e25f fix(editor): extract store spec register from effects (#11268)
Close [BS-2802](https://linear.app/affine-design/issue/BS-2802/移動端缺少bseffects導致文檔創建錯誤)
2025-03-31 10:53:02 +00:00
Brooooooklyn
47a8d15878 ci: start devServer before test running to avoid tests timeout (#11297) 2025-03-31 10:39:34 +00:00
JimmFly
eda680ccdc fix(admin): adjust admin panel settings style (#11291)
Adjusted the style of some runtime configurations to match the new parameters.
Adjusted the style of dialog and right sidebar.

close AF-2411 AF-2412 AF-2413 AF-2422
2025-03-31 10:26:07 +00:00
doouding
51dddc10be fix: template panel tooltip overflow (#11304)
Close #10171
Fixes [BS-2577](https://linear.app/affine-design/issue/BS-2577/​title-overflow-in-edgeless-mode-in-web-interface)
2025-03-31 09:51:33 +00:00
darkskygit
b37182ceb7 feat(server): improve transcript error handle (#11293) 2025-03-31 09:30:32 +00:00
fundon
6a66bf53a8 fix(editor): adjust highlighter color (#11300)
Closes: [BS-2980](https://linear.app/affine-design/issue/BS-2980/highlighter透明度改为30percent) [BS-2979](https://linear.app/affine-design/issue/BS-2979/highlighter默认选择颜色为蓝色)
2025-03-31 09:11:26 +00:00
EYHN
baf1aad412 fix(core): fix flaky e2e test (#11308) 2025-03-31 09:10:54 +00:00
EYHN
231956fd39 feat(core): track for notifications (#11298) 2025-03-31 08:38:29 +00:00
EYHN
73c7815a6d feat(core): adjust notification style (#11296) 2025-03-31 08:38:28 +00:00
Fangdun Tsai
6850871bfb fix(editor): fix callout tests (#11301) 2025-03-31 08:37:20 +00:00
doouding
18cb4199fa fix: note should hide collapse button in presentation mode (#11292)
Fixes [BS-1003](https://linear.app/affine-design/issue/BS-1003/ppt-演示状态下-note-会显示折叠箭头)
2025-03-31 16:17:44 +08:00
EYHN
24c382d3aa feat(core): enable callout in canary (#11302) 2025-03-31 08:10:18 +00:00
pengx17
8bea31698e fix(electron): tray menu icon adapt to dark theme (#11288)
fix AF-2431
2025-03-31 07:23:01 +00:00
forehalo
94d5a42355 chore(core): allow quick export (#11295) 2025-03-31 06:58:17 +00:00
donteatfriedrice
b2aa3084ec feat(editor): support to drag embed iframe from note to surface (#11267)
Close [BS-2807](https://linear.app/affine-design/issue/BS-2807/note-中与-surface-中-embed-iframe-block-互相拖动时的优化)
2025-03-31 06:23:11 +00:00
renovate
00c5f48a7d chore: bump up mime-types version to v3 (#11274)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [mime-types](https://redirect.github.com/jshttp/mime-types) | [`^2.1.35` -> `^3.0.0`](https://renovatebot.com/diffs/npm/mime-types/2.1.35/3.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/mime-types/3.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/mime-types/3.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/mime-types/2.1.35/3.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/mime-types/2.1.35/3.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>jshttp/mime-types (mime-types)</summary>

### [`v3.0.1`](https://redirect.github.com/jshttp/mime-types/blob/HEAD/HISTORY.md#301--2025-03-26)

[Compare Source](https://redirect.github.com/jshttp/mime-types/compare/v3.0.0...v3.0.1)

\===================

-   deps: mime-db@1.54.0

### [`v3.0.0`](https://redirect.github.com/jshttp/mime-types/blob/HEAD/HISTORY.md#300--2024-08-31)

[Compare Source](https://redirect.github.com/jshttp/mime-types/compare/2.1.35...v3.0.0)

\===================

-   Drop support for node <18
-   deps: mime-db@1.53.0
-   resolve extension conflicts with mime-score ([#&#8203;119](https://redirect.github.com/jshttp/mime-types/issues/119))
    -   asc -> application/pgp-signature is now application/pgp-keys
    -   mpp -> application/vnd.ms-project is now application/dash-patch+xml
    -   ac -> application/vnd.nokia.n-gage.ac+xml is now application/pkix-attr-cert
    -   bdoc -> application/x-bdoc is now application/bdoc
    -   wmz -> application/x-msmetafile is now application/x-ms-wmz
    -   xsl -> application/xslt+xml is now application/xml
    -   wav -> audio/wave is now audio/wav
    -   rtf -> text/rtf is now application/rtf
    -   xml -> text/xml is now application/xml
    -   mp4 -> video/mp4 is now application/mp4
    -   mpg4 -> video/mp4 is now application/mp4

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-31 05:49:12 +00:00
pengx17
1306a9733b feat(core): some enhancements to recording (#11287)
- Added a check to verify if AI is enabled before attempting to transcribe meeting recordings
- Improved error handling for empty recordings
- Fixed the recording timeout logic to ensure it only stops the correct recording session
2025-03-31 05:37:17 +00:00
CatsJuice
7c41ddb789 chore(core): update right sidebar border color (#11222) 2025-03-31 05:11:03 +00:00
forehalo
57ec22ec2e fix(core): do not pass flavor in space id (#11285) 2025-03-31 04:47:00 +00:00
CatsJuice
a91193c921 fix(core): hide readwise setting if not connected (#11107) 2025-03-31 04:08:02 +00:00
CatsJuice
7477ba6d37 feat(core): support sending success feedback via MessagePort for web clipper (#11256) 2025-03-31 03:54:44 +00:00
Mirone
9f939d823e fix(editor): slash menu e2e (#11289) 2025-03-31 11:13:34 +08:00
pengx17
61b3f82bfe fix(electron): should not record affine app itself (#11277)
fix AF-2428
2025-03-29 11:56:44 +00:00
pengx17
a94bef6738 fix(core): incorrect animated icon color & sizes (#11276) 2025-03-29 11:56:43 +00:00
doodlewind
dffb89c388 feat(editor): add list block turbo renderer scaffold (#11266)
This PR allows placeholder in turbo renderer to cover list block as a basic scaffold.

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/lEGcysB4lFTEbCwZ8jMv/eda28656-e56e-4845-9fe6-885e70841697.png)
2025-03-29 04:49:25 +00:00
akumatus
ac815142b3 refactor(core): add request time out error for ai (#11244)
### Why make this change?
Seperate front end timeout errors from server side errors.

### What changed?
- Add `RequestTimeoutError` which extends from `BaseAIError`.
- Track as `request timeout` instead of `server error`.
2025-03-29 04:27:40 +00:00
doouding
ee66545ac9 fix: mind map created in page mode has incorrect style (#11265)
Fixes [BS-2878](https://linear.app/affine-design/issue/BS-2878/slashmenu插入mindmap,style没有应用上)
2025-03-29 04:13:29 +00:00
doouding
fcc2ec9d66 feat: use block card to render edgeless dnd preview (#11261)
Related issue [BS-2610](https://linear.app/affine-design/issue/BS-2610/多选的拖拽:如果保护不支持预览的-block,则直接显示-icon-block-名称的方式做-fallback).

Use simpler way to render edgeless dnd preview.

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/57vl0IUaypligEBYUOO0/845d43ac-27e0-45fe-8289-2e6467c59108.png)
2025-03-29 04:13:28 +00:00
yoyoyohamapi
317d3e7ea6 test(core): split and enhance copilot e2e tests (#11007)
### TL;DR

Split and enhance copilot e2e tests.

### What Changed

#### Tests Structure

The e2e tests are organized into the following categories:

1. **Basic Tests (`/basic`)**: Tests for verifying core AI capabilities including feature onboarding, authorization workflows, and basic chat interactions.
2. **Chat Interaction Tests (`/chat-with`)**: Tests for verifying the AI's interaction with various ​object types, such as attachments, images, text content, Edgeless elements, etc.
3. **AI Action Tests (`/ai-action`)**: Tests for verifying the AI's actions, such as text translation, gramma correction, etc.
4. **Insertion Tests (`/insertion`)**: Tests for verifying answer insertion functionality.

#### Tests Writing

Writing a copilot test cases is easier and clear

e.g.
```ts
test('support chat with specified doc', async ({ page, utils }) => {
  // Initialize the doc
  await focusDocTitle(page);
  await page.keyboard.insertText('Test Doc');
  await page.keyboard.press('Enter');
  await page.keyboard.insertText('EEee is a cute cat');

  await utils.chatPanel.chatWithDoc(page, 'Test Doc');

  await utils.chatPanel.makeChat(page, 'What is EEee?');
  await utils.chatPanel.waitForHistory(page, [
    {
      role: 'user',
      content: 'What is EEee?',
    },
    {
      role: 'assistant',
      status: 'success',
    },
  ]);

  const { content } = await utils.chatPanel.getLatestAssistantMessage(page);
  expect(content).toMatch(/EEee/);
});
```

#### Summary

||Cases|
|------|----|
|Before|19||
|After|151||

> Close BS-2769
2025-03-29 03:41:09 +00:00
renovate
a709ed2ef1 chore: bump up linter (major) (#11272)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [eslint-import-resolver-typescript](https://redirect.github.com/import-js/eslint-import-resolver-typescript) | [`^3.7.0` -> `^4.0.0`](https://renovatebot.com/diffs/npm/eslint-import-resolver-typescript/3.8.3/4.2.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-import-resolver-typescript/4.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-import-resolver-typescript/4.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-import-resolver-typescript/3.8.3/4.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-import-resolver-typescript/3.8.3/4.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [eslint-plugin-unicorn](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn) | [`^57.0.0` -> `^58.0.0`](https://renovatebot.com/diffs/npm/eslint-plugin-unicorn/57.0.0/58.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-unicorn/58.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-plugin-unicorn/58.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-plugin-unicorn/57.0.0/58.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-unicorn/57.0.0/58.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>import-js/eslint-import-resolver-typescript (eslint-import-resolver-typescript)</summary>

### [`v4.2.5`](https://redirect.github.com/import-js/eslint-import-resolver-typescript/blob/HEAD/CHANGELOG.md#425)

[Compare Source](https://redirect.github.com/import-js/eslint-import-resolver-typescript/compare/v4.2.4...v4.2.5)

##### Patch Changes

-   [#&#8203;410](https://redirect.github.com/import-js/eslint-import-resolver-typescript/pull/410) [`ec59d22`](ec59d22fdd) Thanks [@&#8203;JounQin](https://redirect.github.com/JounQin)! - fix: absolute path aliasing should not be skipped

### [`v4.2.4`](https://redirect.github.com/import-js/eslint-import-resolver-typescript/blob/HEAD/CHANGELOG.md#424)

[Compare Source](https://redirect.github.com/import-js/eslint-import-resolver-typescript/compare/v4.2.3...v4.2.4)

##### Patch Changes

-   [#&#8203;407](https://redirect.github.com/import-js/eslint-import-resolver-typescript/pull/407) [`6b183ff`](6b183fff1b) Thanks [@&#8203;JounQin](https://redirect.github.com/JounQin)! - chore: migrate to rebranding `unrs-resolver` with new targets supported:

    -   `i686-pc-windows-msvc`
    -   `armv7-unknown-linux-musleabihf`
    -   `powerpc64le-unknown-linux-gnu`
    -   `s390x-unknown-linux-gnu`

### [`v4.2.3`](https://redirect.github.com/import-js/eslint-import-resolver-typescript/blob/HEAD/CHANGELOG.md#423)

[Compare Source](https://redirect.github.com/import-js/eslint-import-resolver-typescript/compare/v4.2.2...v4.2.3)

##### Patch Changes

-   [#&#8203;402](https://redirect.github.com/import-js/eslint-import-resolver-typescript/pull/402) [`f21bf15`](f21bf15231) Thanks [@&#8203;SunsetTechuila](https://redirect.github.com/SunsetTechuila)! - fix: don't resolve not implemented node modules in `bun`

    `is-bun-module` is marked as `dependency`, again, for correctness, see [`isBunImplementedNodeModule`](https://redirect.github.com/SunsetTechuila/is-bun-module#isbunimplementednodemodulemodulename-bunversion) for more details

    For `Bun` users: you don't need to install `is-bun-module` any more but `bun: true` option is still required if you're running without `bun --bun` nor [`run#bun`](https://bun.sh/docs/runtime/bunfig#run-bun-auto-alias-node-to-bun) enabled

### [`v4.2.2`](https://redirect.github.com/import-js/eslint-import-resolver-typescript/blob/HEAD/CHANGELOG.md#422)

[Compare Source](https://redirect.github.com/import-js/eslint-import-resolver-typescript/compare/v4.2.1...v4.2.2)

##### Patch Changes

-   [#&#8203;397](https://redirect.github.com/import-js/eslint-import-resolver-typescript/pull/397) [`14a7688`](14a7688549) Thanks [@&#8203;JounQin](https://redirect.github.com/JounQin)! - chore: bump `rspack-resolver` for better P'n'P support

    Now `rspack-resolver` resolves `pnpapi` natively.

### [`v4.2.1`](https://redirect.github.com/import-js/eslint-import-resolver-typescript/blob/HEAD/CHANGELOG.md#421)

[Compare Source](https://redirect.github.com/import-js/eslint-import-resolver-typescript/compare/v4.2.0...v4.2.1)

##### Patch Changes

-   [#&#8203;394](https://redirect.github.com/import-js/eslint-import-resolver-typescript/pull/394) [`9f11f6b`](9f11f6bb94) Thanks [@&#8203;JounQin](https://redirect.github.com/JounQin)! - fix: don't set empty `configFile` when no `tsconfig` found

-   [#&#8203;394](https://redirect.github.com/import-js/eslint-import-resolver-typescript/pull/394) [`9f11f6b`](9f11f6bb94) Thanks [@&#8203;JounQin](https://redirect.github.com/JounQin)! - chore: bump `rspack-resolver` to v1.2.0

### [`v4.2.0`](https://redirect.github.com/import-js/eslint-import-resolver-typescript/blob/HEAD/CHANGELOG.md#420)

[Compare Source](https://redirect.github.com/import-js/eslint-import-resolver-typescript/compare/v4.1.1...v4.2.0)

##### Minor Changes

-   [#&#8203;391](https://redirect.github.com/import-js/eslint-import-resolver-typescript/pull/391) [`c8121e5`](c8121e5eb4) Thanks [@&#8203;JounQin](https://redirect.github.com/JounQin)! - feat: make `is-bun-module` as optional peer dependency

    Technically this is a BREAKING CHANGE, but considering we just raise out v4 recently and this only affects `bun` users, `bun --bun eslint` even works without this dependency, so I'd consider this as a minor change.

    So for `bun` users, there are three options:

    1.  install `is-bun-module` dependency manually and use `bun: true` option
    2.  run `eslint` with `bun --bun eslint` w/o `bun: true` option
    3.  enable `run#bun` in [`bunfig.toml`](https://bun.sh/docs/runtime/bunfig#run-bun-auto-alias-node-to-bun) w/o `bun: true` option

### [`v4.1.1`](https://redirect.github.com/import-js/eslint-import-resolver-typescript/blob/HEAD/CHANGELOG.md#411)

[Compare Source](https://redirect.github.com/import-js/eslint-import-resolver-typescript/compare/v4.1.0...v4.1.1)

##### Patch Changes

-   [#&#8203;389](https://redirect.github.com/import-js/eslint-import-resolver-typescript/pull/389) [`1b97d8a`](1b97d8a591) Thanks [@&#8203;JounQin](https://redirect.github.com/JounQin)! - fix: should prefer `module.isBuiltin` when `process.versions.bun` available

### [`v4.1.0`](https://redirect.github.com/import-js/eslint-import-resolver-typescript/blob/HEAD/CHANGELOG.md#410)

[Compare Source](https://redirect.github.com/import-js/eslint-import-resolver-typescript/compare/v4.0.0...v4.1.0)

##### Minor Changes

-   [#&#8203;387](https://redirect.github.com/import-js/eslint-import-resolver-typescript/pull/387) [`ef5cd10`](ef5cd10832) Thanks [@&#8203;JounQin](https://redirect.github.com/JounQin)! - feat: add a new `bun?: boolean` option for `bun` users - close [#&#8203;386](https://redirect.github.com/import-js/eslint-import-resolver-typescript/issues/386)

    `process.versions.bun` is unavailable even with `bun eslint` due to its own design,
    but checking `bun` modules for non-bun users is incorrect behavior and just wasting time,
    so a new option is added for such case, you can still run with `bun --bun eslint` without this option enabled

### [`v4.0.0`](https://redirect.github.com/import-js/eslint-import-resolver-typescript/blob/HEAD/CHANGELOG.md#400)

[Compare Source](https://redirect.github.com/import-js/eslint-import-resolver-typescript/compare/v3.10.0...v4.0.0)

##### Major Changes

-   [#&#8203;368](https://redirect.github.com/import-js/eslint-import-resolver-typescript/pull/368) [`2fd7c2e`](2fd7c2ea63) Thanks [@&#8203;JounQin](https://redirect.github.com/JounQin)! - feat!: rewrite, speed up by using [`rspack-resolver`](https://redirect.github.com/unrs/rspack-resolver) which supports `references` natively under the hood

    BREAKING CHANGES:

    -   drop Node 14 support, Node `^16.17.0 || >=18.6` is now required
    -   `alwaysTryTypes` is enabled by default, you can set it as `false` to opt-out
    -   array type of `project` is discouraged but still supported, single `project` with `references` are encouraged for better performance, you can enable `noWarnOnMultipleProjects` option to supress the warning message
    -   root `tsconfig.json` or `jsconfig.json` will be used automatically if no `project` provided

### [`v3.10.0`](https://redirect.github.com/import-js/eslint-import-resolver-typescript/releases/tag/v3.10.0)

[Compare Source](https://redirect.github.com/import-js/eslint-import-resolver-typescript/compare/v3.9.1...v3.10.0)

##### Minor Changes

-   [#&#8203;413](https://redirect.github.com/import-js/eslint-import-resolver-typescript/pull/413) [`89c2795`](89c2795cde) Thanks [@&#8203;JounQin](https://redirect.github.com/JounQin)! - chore: housekeeping, bump all (dev) deps

    Migrate `rspack-resolver` to rebranding [`unrs-resolver`](https://redirect.github.com/unrs/unrs-resolver) for more targets support and other bug fixes

**Full Changelog**: https://github.com/import-js/eslint-import-resolver-typescript/compare/v3.9.1...v3.10.0

### [`v3.9.1`](https://redirect.github.com/import-js/eslint-import-resolver-typescript/blob/HEAD/CHANGELOG.md#391)

[Compare Source](https://redirect.github.com/import-js/eslint-import-resolver-typescript/compare/v3.9.0...v3.9.1)

##### Patch Changes

-   [#&#8203;382](https://redirect.github.com/import-js/eslint-import-resolver-typescript/pull/382) [`4a9176e`](4a9176e6e2) Thanks [@&#8203;JounQin](https://redirect.github.com/JounQin)! - fix: use [`rspack-resolver`](https://redirect.github.com/unrs/rspack-resolver) fork for pnp support

### [`v3.9.0`](https://redirect.github.com/import-js/eslint-import-resolver-typescript/blob/HEAD/CHANGELOG.md#390)

[Compare Source](https://redirect.github.com/import-js/eslint-import-resolver-typescript/compare/v3.8.7...v3.9.0)

##### Minor Changes

-   [#&#8203;379](https://redirect.github.com/import-js/eslint-import-resolver-typescript/pull/379) [`6814443`](681444336f) Thanks [@&#8203;JounQin](https://redirect.github.com/JounQin)! - feat: migrate `enhanced-resolve` to `oxc-resolver`

### [`v3.8.7`](https://redirect.github.com/import-js/eslint-import-resolver-typescript/blob/HEAD/CHANGELOG.md#387)

[Compare Source](https://redirect.github.com/import-js/eslint-import-resolver-typescript/compare/v3.8.6...v3.8.7)

##### Patch Changes

-   [#&#8203;377](https://redirect.github.com/import-js/eslint-import-resolver-typescript/pull/377) [`a14fdd9`](a14fdd9501) Thanks [@&#8203;carlocorradini](https://redirect.github.com/carlocorradini)! - fix: include mapper with no files and force non-dynamic projects to use absolute paths

### [`v3.8.6`](https://redirect.github.com/import-js/eslint-import-resolver-typescript/blob/HEAD/CHANGELOG.md#386)

[Compare Source](https://redirect.github.com/import-js/eslint-import-resolver-typescript/compare/v3.8.5...v3.8.6)

##### Patch Changes

-   [#&#8203;374](https://redirect.github.com/import-js/eslint-import-resolver-typescript/pull/374) [`c9d5ab0`](c9d5ab0fa9) Thanks [@&#8203;JounQin](https://redirect.github.com/JounQin)! - fix: add support for importing with .js extension as tsx importee

### [`v3.8.5`](https://redirect.github.com/import-js/eslint-import-resolver-typescript/blob/HEAD/CHANGELOG.md#385)

[Compare Source](https://redirect.github.com/import-js/eslint-import-resolver-typescript/compare/v3.8.4...v3.8.5)

##### Patch Changes

-   [#&#8203;372](https://redirect.github.com/import-js/eslint-import-resolver-typescript/pull/372) [`366eeaf`](366eeaf8ba) Thanks [@&#8203;carlocorradini](https://redirect.github.com/carlocorradini)! - fix: if file has no corresponding mapper function, apply all of them, starting with the nearest one.

### [`v3.8.4`](https://redirect.github.com/import-js/eslint-import-resolver-typescript/blob/HEAD/CHANGELOG.md#384)

[Compare Source](https://redirect.github.com/import-js/eslint-import-resolver-typescript/compare/v3.8.3...v3.8.4)

##### Patch Changes

-   [#&#8203;370](https://redirect.github.com/import-js/eslint-import-resolver-typescript/pull/370) [`c940785`](c94078504c) Thanks [@&#8203;JounQin](https://redirect.github.com/JounQin)! - fix: support multiple matching ts paths

</details>

<details>
<summary>sindresorhus/eslint-plugin-unicorn (eslint-plugin-unicorn)</summary>

### [`v58.0.0`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v58.0.0)

[Compare Source](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/compare/v57.0.0...v58.0.0)

##### Potentially breaking

-   Update `engines.node` in package.json to match real compatibility ([#&#8203;2581](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/2581))  [`e48a620`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/e48a620)

##### Improvements

-   `escape-case`: Add [case option](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/escape-case.md#options) ([#&#8203;2559](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/2559))  [`0f6048c`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/0f6048c)
-   `number-literal-case`: Add [`hexadecimalValue` option](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/number-literal-case.md#hexadecimalvalue) ([#&#8203;2559](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/2559))  [`0f6048c`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/0f6048c)
-   `prevent-abbreviations`: Preserve `iOS` ([#&#8203;2560](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/2560))  [`e8798da`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/e8798da)

##### Fixes

-   `no-unnecessary-polyfills`: Fix browserslist field name ([#&#8203;2603](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/2603))  [`1a4c76f`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/1a4c76f)
-   `no-unnecessary-polyfills`: Fix crash on checking `es6-error` module ([#&#8203;2582](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/2582))  [`66de41a`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/66de41a)
-   `no-accessor-recursion`: Fix exception when used in CommonJS ([#&#8203;2574](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/2574))  [`ca1e432`](https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/commit/ca1e432)

***

</details>

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-28 14:50:49 +00:00
forehalo
1b93d3d8d2 chore(server): bump nestjs and express (#11259) 2025-03-28 14:00:19 +00:00
renovate
efab5d4270 chore: bump up all non-major dependencies (#11215)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@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.775.0` -> `3.777.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.775.0/3.777.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.777.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.777.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.775.0/3.777.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.775.0/3.777.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@graphql-codegen/typescript](https://redirect.github.com/dotansimha/graphql-code-generator) ([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/plugins/typescript/typescript)) | [`4.1.5` -> `4.1.6`](https://renovatebot.com/diffs/npm/@graphql-codegen%2ftypescript/4.1.5/4.1.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@graphql-codegen%2ftypescript/4.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@graphql-codegen%2ftypescript/4.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@graphql-codegen%2ftypescript/4.1.5/4.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@graphql-codegen%2ftypescript/4.1.5/4.1.6?slim=true)](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.5.1` -> `4.6.0`](https://renovatebot.com/diffs/npm/@graphql-codegen%2ftypescript-operations/4.5.1/4.6.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@graphql-codegen%2ftypescript-operations/4.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@graphql-codegen%2ftypescript-operations/4.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@graphql-codegen%2ftypescript-operations/4.5.1/4.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@graphql-codegen%2ftypescript-operations/4.5.1/4.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@sentry/esbuild-plugin](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/esbuild-plugin) ([source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins)) | [`3.2.2` -> `3.2.4`](https://renovatebot.com/diffs/npm/@sentry%2fesbuild-plugin/3.2.2/3.2.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fesbuild-plugin/3.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fesbuild-plugin/3.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fesbuild-plugin/3.2.2/3.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fesbuild-plugin/3.2.2/3.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://redirect.github.com/getsentry/sentry-javascript)) | [`9.9.0` -> `9.10.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/9.9.0/9.10.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/9.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/9.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/9.9.0/9.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/9.9.0/9.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://redirect.github.com/getsentry/sentry-javascript)) | [`9.9.0` -> `9.10.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/9.9.0/9.10.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/9.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/9.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/9.9.0/9.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/9.9.0/9.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@sentry/webpack-plugin](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/webpack-plugin) ([source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins)) | [`3.2.2` -> `3.2.4`](https://renovatebot.com/diffs/npm/@sentry%2fwebpack-plugin/3.2.2/3.2.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fwebpack-plugin/3.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fwebpack-plugin/3.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fwebpack-plugin/3.2.2/3.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fwebpack-plugin/3.2.2/3.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@slack/web-api](https://tools.slack.dev/node-slack-sdk/web-api) ([source](https://redirect.github.com/slackapi/node-slack-sdk)) | [`7.9.0` -> `7.9.1`](https://renovatebot.com/diffs/npm/@slack%2fweb-api/7.9.0/7.9.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@slack%2fweb-api/7.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@slack%2fweb-api/7.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@slack%2fweb-api/7.9.0/7.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@slack%2fweb-api/7.9.0/7.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@storybook/addon-essentials](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/essentials) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials)) | [`8.6.9` -> `8.6.11`](https://renovatebot.com/diffs/npm/@storybook%2faddon-essentials/8.6.9/8.6.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-essentials/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-essentials/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-essentials/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-essentials/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-interactions](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/interactions) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions)) | [`8.6.9` -> `8.6.11`](https://renovatebot.com/diffs/npm/@storybook%2faddon-interactions/8.6.9/8.6.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-interactions/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-interactions/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-interactions/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-interactions/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-links](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/links) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/links)) | [`8.6.9` -> `8.6.11`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/8.6.9/8.6.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-links/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-links/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-links/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-links/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-mdx-gfm](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/gfm) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/gfm)) | [`8.6.9` -> `8.6.11`](https://renovatebot.com/diffs/npm/@storybook%2faddon-mdx-gfm/8.6.9/8.6.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-mdx-gfm/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-mdx-gfm/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-mdx-gfm/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-mdx-gfm/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/react](https://redirect.github.com/storybookjs/storybook/tree/next/code/renderers/react) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/renderers/react)) | [`8.6.9` -> `8.6.11`](https://renovatebot.com/diffs/npm/@storybook%2freact/8.6.9/8.6.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/react-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/frameworks/react-vite) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite)) | [`8.6.9` -> `8.6.11`](https://renovatebot.com/diffs/npm/@storybook%2freact-vite/8.6.9/8.6.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact-vite/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact-vite/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact-vite/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact-vite/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@types/mixpanel-browser](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/mixpanel-browser) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mixpanel-browser)) | [`2.51.0` -> `2.54.0`](https://renovatebot.com/diffs/npm/@types%2fmixpanel-browser/2.51.0/2.54.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fmixpanel-browser/2.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fmixpanel-browser/2.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fmixpanel-browser/2.51.0/2.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fmixpanel-browser/2.51.0/2.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.13.13` -> `22.13.14`](https://renovatebot.com/diffs/npm/@types%2fnode/22.13.13/22.13.14) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/22.13.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/22.13.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/22.13.13/22.13.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/22.13.13/22.13.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.13.13` -> `22.13.14`](https://renovatebot.com/diffs/npm/@types%2fnode/22.13.13/22.13.14) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/22.13.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/22.13.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/22.13.13/22.13.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/22.13.13/22.13.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@types/semver](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/semver) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/semver)) | [`7.5.8` -> `7.7.0`](https://renovatebot.com/diffs/npm/@types%2fsemver/7.5.8/7.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fsemver/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fsemver/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fsemver/7.5.8/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fsemver/7.5.8/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [ai](https://sdk.vercel.ai/docs) ([source](https://redirect.github.com/vercel/ai)) | [`4.2.5` -> `4.2.8`](https://renovatebot.com/diffs/npm/ai/4.2.5/4.2.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/ai/4.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ai/4.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ai/4.2.5/4.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ai/4.2.5/4.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [apollographql/apollo-ios](https://redirect.github.com/apollographql/apollo-ios) | `from: "1.18.0"` -> `from: "1.19.0"` | [![age](https://developer.mend.io/api/mc/badges/age/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios.git/1.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios.git/1.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios.git/1.18.0/1.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios.git/1.18.0/1.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |  | minor |
| [apollographql/apollo-ios](https://redirect.github.com/apollographql/apollo-ios) | `1.18.0` -> `1.19.0` | [![age](https://developer.mend.io/api/mc/badges/age/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios/1.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios/1.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios/1.18.0/1.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios/1.18.0/1.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |  | minor |
| [bullmq](https://bullmq.io/) ([source](https://redirect.github.com/taskforcesh/bullmq)) | [`5.44.4` -> `5.45.0`](https://renovatebot.com/diffs/npm/bullmq/5.44.4/5.45.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/bullmq/5.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/bullmq/5.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/bullmq/5.44.4/5.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/bullmq/5.44.4/5.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [electron](https://redirect.github.com/electron/electron) | [`35.1.0` -> `35.1.2`](https://renovatebot.com/diffs/npm/electron/35.1.0/35.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/35.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/35.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/35.1.0/35.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/35.1.0/35.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [electron-log](https://redirect.github.com/megahertz/electron-log) | [`5.3.2` -> `5.3.3`](https://renovatebot.com/diffs/npm/electron-log/5.3.2/5.3.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron-log/5.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron-log/5.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron-log/5.3.2/5.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron-log/5.3.2/5.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [eventsource-parser](https://redirect.github.com/rexxars/eventsource-parser) | [`3.0.0` -> `3.0.1`](https://renovatebot.com/diffs/npm/eventsource-parser/3.0.0/3.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/eventsource-parser/3.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eventsource-parser/3.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eventsource-parser/3.0.0/3.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eventsource-parser/3.0.0/3.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [mixpanel-browser](https://redirect.github.com/mixpanel/mixpanel-js) | [`2.61.2` -> `2.62.0`](https://renovatebot.com/diffs/npm/mixpanel-browser/2.61.2/2.62.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/mixpanel-browser/2.62.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/mixpanel-browser/2.62.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/mixpanel-browser/2.61.2/2.62.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/mixpanel-browser/2.61.2/2.62.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [nestjs-cls](https://papooch.github.io/nestjs-cls/) ([source](https://redirect.github.com/Papooch/nestjs-cls)) | [`5.4.1` -> `5.4.2`](https://renovatebot.com/diffs/npm/nestjs-cls/5.4.1/5.4.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nestjs-cls/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nestjs-cls/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nestjs-cls/5.4.1/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nestjs-cls/5.4.1/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [once_cell](https://redirect.github.com/matklad/once_cell) | `1.21.1` -> `1.21.2` | [![age](https://developer.mend.io/api/mc/badges/age/crate/once_cell/1.21.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/once_cell/1.21.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/once_cell/1.21.1/1.21.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/once_cell/1.21.1/1.21.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [openai](https://redirect.github.com/openai/openai-node) | [`4.89.0` -> `4.90.0`](https://renovatebot.com/diffs/npm/openai/4.89.0/4.90.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/openai/4.90.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/openai/4.90.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/openai/4.89.0/4.90.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/openai/4.89.0/4.90.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [sonner](https://sonner.emilkowal.ski/) ([source](https://redirect.github.com/emilkowalski/sonner)) | [`2.0.1` -> `2.0.2`](https://renovatebot.com/diffs/npm/sonner/2.0.1/2.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/sonner/2.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/sonner/2.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/sonner/2.0.1/2.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/sonner/2.0.1/2.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [storybook](https://redirect.github.com/storybookjs/storybook/tree/next/code/lib/cli) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/lib/cli)) | [`8.6.9` -> `8.6.11`](https://renovatebot.com/diffs/npm/storybook/8.6.9/8.6.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/storybook/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/storybook/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/storybook/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/storybook/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [swiftlang/swift-cmark](https://redirect.github.com/swiftlang/swift-cmark) | `from: "0.4.0"` -> `from: "0.5.0"` | [![age](https://developer.mend.io/api/mc/badges/age/git-tags/https:%2f%2fgithub.com%2fswiftlang%2fswift-cmark/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/git-tags/https:%2f%2fgithub.com%2fswiftlang%2fswift-cmark/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/git-tags/https:%2f%2fgithub.com%2fswiftlang%2fswift-cmark/0.4.0/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/git-tags/https:%2f%2fgithub.com%2fswiftlang%2fswift-cmark/0.4.0/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |  | minor |
| [undici](https://undici.nodejs.org) ([source](https://redirect.github.com/nodejs/undici)) | [`7.5.0` -> `7.6.0`](https://renovatebot.com/diffs/npm/undici/7.5.0/7.6.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/undici/7.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/undici/7.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/undici/7.5.0/7.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/undici/7.5.0/7.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [webm-muxer](https://redirect.github.com/Vanilagy/webm-muxer) | [`5.1.0` -> `5.1.1`](https://renovatebot.com/diffs/npm/webm-muxer/5.1.0/5.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/webm-muxer/5.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/webm-muxer/5.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/webm-muxer/5.1.0/5.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/webm-muxer/5.1.0/5.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [webpack-dev-server](https://redirect.github.com/webpack/webpack-dev-server) | [`5.2.0` -> `5.2.1`](https://renovatebot.com/diffs/npm/webpack-dev-server/5.2.0/5.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/webpack-dev-server/5.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/webpack-dev-server/5.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/webpack-dev-server/5.2.0/5.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/webpack-dev-server/5.2.0/5.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [yarn](https://redirect.github.com/yarnpkg/berry) ([source](https://redirect.github.com/yarnpkg/berry/tree/HEAD/packages/yarnpkg-cli)) | [`4.7.0` -> `4.8.0`](https://renovatebot.com/diffs/npm/yarn/4.7.0/4.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@yarnpkg%2fcli/4.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@yarnpkg%2fcli/4.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@yarnpkg%2fcli/4.7.0/4.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@yarnpkg%2fcli/4.7.0/4.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | packageManager | minor |

---

### Release Notes

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

### [`v3.777.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#37770-2025-03-27)

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

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

</details>

<details>
<summary>dotansimha/graphql-code-generator (@&#8203;graphql-codegen/typescript)</summary>

### [`v4.1.6`](https://redirect.github.com/dotansimha/graphql-code-generator/blob/HEAD/packages/plugins/typescript/typescript/CHANGELOG.md#416)

[Compare Source](https://redirect.github.com/dotansimha/graphql-code-generator/compare/@graphql-codegen/typescript@4.1.5...@graphql-codegen/typescript@4.1.6)

##### Patch Changes

-   Updated dependencies \[[`f6909d1`](f6909d1797)]:
    -   [@&#8203;graphql-codegen/visitor-plugin-common](https://redirect.github.com/graphql-codegen/visitor-plugin-common)[@&#8203;5](https://redirect.github.com/5).8.0

</details>

<details>
<summary>dotansimha/graphql-code-generator (@&#8203;graphql-codegen/typescript-operations)</summary>

### [`v4.6.0`](https://redirect.github.com/dotansimha/graphql-code-generator/blob/HEAD/packages/plugins/typescript/operations/CHANGELOG.md#460)

[Compare Source](https://redirect.github.com/dotansimha/graphql-code-generator/compare/@graphql-codegen/typescript-operations@4.5.1...@graphql-codegen/typescript-operations@4.6.0)

##### Minor Changes

-   [#&#8203;10323](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10323) [`f3cf4df`](f3cf4df358) Thanks [@&#8203;eddeee888](https://redirect.github.com/eddeee888)! - Add support for `nullability.errorHandlingClient`. This allows clients to get stronger types with [semantic nullability](https://redirect.github.com/graphql/graphql-wg/blob/main/rfcs/SemanticNullability.md)-enabled schemas.

##### Patch Changes

-   Updated dependencies \[[`f6909d1`](f6909d1797)]:
    -   [@&#8203;graphql-codegen/visitor-plugin-common](https://redirect.github.com/graphql-codegen/visitor-plugin-common)[@&#8203;5](https://redirect.github.com/5).8.0
    -   [@&#8203;graphql-codegen/typescript](https://redirect.github.com/graphql-codegen/typescript)[@&#8203;4](https://redirect.github.com/4).1.6

</details>

<details>
<summary>getsentry/sentry-javascript-bundler-plugins (@&#8203;sentry/esbuild-plugin)</summary>

### [`v3.2.4`](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/blob/HEAD/CHANGELOG.md#324)

[Compare Source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/compare/3.2.3...3.2.4)

-   Revert "feat(core): Use path instead of debug IDs as artifact names for debug ID upload ([#&#8203;700](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/issues/700))" ([#&#8203;709](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/issues/709))
-   ref: Remove deprecated use of `useArtifacBundles` ([#&#8203;707](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/issues/707))

### [`v3.2.3`](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/blob/HEAD/CHANGELOG.md#323)

[Compare Source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/compare/3.2.2...3.2.3)

-   feat(core): Use path instead of debug IDs as artifact names for debug ID upload ([#&#8203;700](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/issues/700))
-   feat(webpack): Primarily use `contentHash` for debug ID hash ([#&#8203;702](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/issues/702))
-   feat: Detect Vercel commits and env ([#&#8203;694](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/issues/694))
-   feat: Default to automatically setting commits on release ([#&#8203;692](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/issues/692))

</details>

<details>
<summary>getsentry/sentry-javascript (@&#8203;sentry/react)</summary>

### [`v9.10.0`](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.10.0)

[Compare Source](https://redirect.github.com/getsentry/sentry-javascript/compare/9.9.0...9.10.0)

##### Important Changes

-   **feat: Add support for logs**

    -   feat(node): Add logging public APIs to Node SDKs ([#&#8203;15764](https://redirect.github.com/getsentry/sentry-javascript/pull/15764))
    -   feat(core): Add support for `beforeSendLog` ([#&#8203;15814](https://redirect.github.com/getsentry/sentry-javascript/pull/15814))
    -   feat(core): Add support for parameterizing logs ([#&#8203;15812](https://redirect.github.com/getsentry/sentry-javascript/pull/15812))
    -   fix: Remove critical log severity level ([#&#8203;15824](https://redirect.github.com/getsentry/sentry-javascript/pull/15824))

    All JavaScript SDKs other than `@sentry/cloudflare` and `@sentry/deno` now support sending logs via dedicated methods as part of Sentry's [upcoming logging product](https://redirect.github.com/getsentry/sentry/discussions/86804).

    Logging is gated by an experimental option, `_experiments.enableLogs`.

    ```js
    Sentry.init({
      dsn: 'PUBLIC_DSN',
      // `enableLogs` must be set to true to use the logging features
      _experiments: { enableLogs: true },
    });

    const { trace, debug, info, warn, error, fatal, fmt } = Sentry.logger;

    trace('Starting database connection', { database: 'users' });
    debug('Cache miss for user', { userId: 123 });
    error('Failed to process payment', { orderId: 'order_123', amount: 99.99 });
    fatal('Database connection pool exhausted', { database: 'users', activeConnections: 100 });

    // Structured logging via the `fmt` helper function. When you use `fmt`, the string template and parameters are sent separately so they can be queried independently in Sentry.

    info(fmt(`Updated profile for user ${userId}`));
    warn(fmt(`Rate limit approaching for endpoint ${endpoint}. Requests: ${requests}, Limit: ${limit}`));
    ```

    With server-side SDKs like `@sentry/node`, `@sentry/bun` or server-side of `@sentry/nextjs` or `@sentry/sveltekit`, you can do structured logging without needing the `fmt` helper function.

    ```js
    const { info, warn } = Sentry.logger;

    info('User %s logged in successfully', [123]);
    warn('Failed to load user %s data', [123], { errorCode: 404 });
    ```

    To filter logs, or update them before they are sent to Sentry, you can use the `_experiments.beforeSendLog` option.

-   **feat(browser): Add `diagnoseSdkConnectivity()` function to programmatically detect possible connectivity issues ([#&#8203;15821](https://redirect.github.com/getsentry/sentry-javascript/pull/15821))**

    The `diagnoseSdkConnectivity()` function can be used to programmatically detect possible connectivity issues with the Sentry SDK.

    ```js
    const result = await Sentry.diagnoseSdkConnectivity();
    ```

    The result will be an object with the following properties:

    -   `"no-client-active"`: There was no active client when the function was called. This possibly means that the SDK was not initialized yet.
    -   `"sentry-unreachable"`: The Sentry SaaS servers were not reachable. This likely means that there is an ad blocker active on the page or that there are other connection issues.
    -   `undefined`: The SDK is working as expected.

-   **SDK Tracing Performance Improvements for Node SDKs**

    -   feat: Stop using `dropUndefinedKeys` ([#&#8203;15796](https://redirect.github.com/getsentry/sentry-javascript/pull/15796))
    -   feat(node): Only add span listeners for instrumentation when used ([#&#8203;15802](https://redirect.github.com/getsentry/sentry-javascript/pull/15802))
    -   ref: Avoid `dropUndefinedKeys` for `spanToJSON` calls ([#&#8203;15792](https://redirect.github.com/getsentry/sentry-javascript/pull/15792))
    -   ref: Avoid using `SentryError` for PromiseBuffer control flow ([#&#8203;15822](https://redirect.github.com/getsentry/sentry-javascript/pull/15822))
    -   ref: Stop using `dropUndefinedKeys` in SpanExporter ([#&#8203;15794](https://redirect.github.com/getsentry/sentry-javascript/pull/15794))
    -   ref(core): Avoid using `SentryError` for event processing control flow ([#&#8203;15823](https://redirect.github.com/getsentry/sentry-javascript/pull/15823))
    -   ref(node): Avoid `dropUndefinedKeys` in Node SDK init ([#&#8203;15797](https://redirect.github.com/getsentry/sentry-javascript/pull/15797))
    -   ref(opentelemetry): Avoid sampling work for non-root spans ([#&#8203;15820](https://redirect.github.com/getsentry/sentry-javascript/pull/15820))

    We've been hard at work making performance improvements to the Sentry Node SDKs (`@sentry/node`, `@sentry/aws-serverless`, `@sentry/nestjs`, etc.). We've seen that upgrading from `9.7.0` to `9.10.0` leads to 30-40% improvement in request latency for HTTP web-server applications that use tracing with high sample rates. Non web-server applications and non-tracing applications will see smaller improvements.

##### Other Changes

-   chore(deps): Bump `rrweb` to `2.35.0` ([#&#8203;15825](https://redirect.github.com/getsentry/sentry-javascript/pull/15825))
-   deps: Bump bundler plugins to `3.2.3` ([#&#8203;15829](https://redirect.github.com/getsentry/sentry-javascript/pull/15829))
-   feat: Always truncate stored breadcrumb messages to 2kb ([#&#8203;15819](https://redirect.github.com/getsentry/sentry-javascript/pull/15819))
-   feat(nextjs): Disable server webpack-handling for static builds ([#&#8203;15751](https://redirect.github.com/getsentry/sentry-javascript/pull/15751))
-   fix(nuxt): Don't override Nuxt options if undefined ([#&#8203;15795](https://redirect.github.com/getsentry/sentry-javascript/pull/15795))

#### Bundle size 📦

| Path                                                             | Size              |
| ---------------------------------------------------------------- | ----------------- |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser)                                                  | 23.08 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) - with treeshaking flags                         | 22.88 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing)                                  | 36.49 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay)                          | 73.65 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay) - with treeshaking flags | 67 KB     |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay with Canvas)              | 78.3 KB   |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay, Feedback)                | 90.87 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Feedback)                                 | 40.21 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. sendFeedback)                             | 27.71 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. FeedbackAsync)                            | 32.5 KB   |
| [@&#8203;sentry/react](https://redirect.github.com/sentry/react)                                                    | 24.86 KB  |
| [@&#8203;sentry/react](https://redirect.github.com/sentry/react) (incl. Tracing)                                    | 38.39 KB  |
| [@&#8203;sentry/vue](https://redirect.github.com/sentry/vue)                                                      | 27.3 KB   |
| [@&#8203;sentry/vue](https://redirect.github.com/sentry/vue) (incl. Tracing)                                      | 38.18 KB  |
| [@&#8203;sentry/svelte](https://redirect.github.com/sentry/svelte)                                                   | 23.12 KB  |
| CDN Bundle                                                       | 24.33 KB  |
| CDN Bundle (incl. Tracing)                                       | 36.51 KB  |
| CDN Bundle (incl. Tracing, Replay)                               | 71.53 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback)                     | 76.71 KB  |
| CDN Bundle - uncompressed                                        | 70.93 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                        | 108.11 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                | 219.4 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed      | 231.97 KB |
| [@&#8203;sentry/nextjs](https://redirect.github.com/sentry/nextjs) (client)                                          | 39.68 KB  |
| [@&#8203;sentry/sveltekit](https://redirect.github.com/sentry/sveltekit) (client)                                       | 36.92 KB  |
| [@&#8203;sentry/node](https://redirect.github.com/sentry/node)                                                     | 142.91 KB |
| [@&#8203;sentry/node](https://redirect.github.com/sentry/node) - without tracing                                   | 96.12 KB  |
| [@&#8203;sentry/aws-serverless](https://redirect.github.com/sentry/aws-serverless)                                           | 120.46 KB |

</details>

<details>
<summary>slackapi/node-slack-sdk (@&#8203;slack/web-api)</summary>

### [`v7.9.1`](https://redirect.github.com/slackapi/node-slack-sdk/compare/@slack/web-api@7.9.0...@slack/web-api@7.9.1)

[Compare Source](https://redirect.github.com/slackapi/node-slack-sdk/compare/@slack/web-api@7.9.0...@slack/web-api@7.9.1)

</details>

<details>
<summary>storybookjs/storybook (@&#8203;storybook/addon-essentials)</summary>

### [`v8.6.11`](https://redirect.github.com/storybookjs/storybook/compare/v8.6.10...2afd30d75089f27a8029a1ac320d7698873b163f)

[Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v8.6.10...v8.6.11)

### [`v8.6.10`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#8610)

[Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v8.6.9...v8.6.10)

-   Addon-docs: Fix non-string handling in Stories block - [#&#8203;30913](https://redirect.github.com/storybookjs/storybook/pull/30913), thanks [@&#8203;JamesIves](https://redirect.github.com/JamesIves)!
-   Nextjs: Fix styled-jsx optimize vite warnings - [#&#8203;30932](https://redirect.github.com/storybookjs/storybook/pull/30932), thanks [@&#8203;kasperpeulen](https://redirect.github.com/kasperpeulen)!
-   React: Fix actImplementation is not a function - [#&#8203;30929](https://redirect.github.com/storybookjs/storybook/pull/30929), thanks [@&#8203;kasperpeulen](https://redirect.github.com/kasperpeulen)!

</details>

<details>
<summary>storybookjs/storybook (@&#8203;storybook/addon-interactions)</summary>

### [`v8.6.11`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#8611)

[Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v8.6.10...v8.6.11)

-   Angular: Fix zone.js support for Angular libraries - [#&#8203;30941](https://redirect.github.com/storybookjs/storybook/pull/30941), thanks [@&#8203;valentinpalkovic](https://redirect.github.com/valentinpalkovic)!

### [`v8.6.10`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#8610)

[Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v8.6.9...v8.6.10)

-   Addon-docs: Fix non-string handling in Stories block - [#&#8203;30913](https://redirect.github.com/storybookjs/storybook/pull/30913), thanks [@&#8203;JamesIves](https://redirect.github.com/JamesIves)!
-   Nextjs: Fix styled-jsx optimize vite warnings - [#&#8203;30932](https://redirect.github.com/storybookjs/storybook/pull/30932), thanks [@&#8203;kasperpeulen](https://redirect.github.com/kasperpeulen)!
-   React: Fix actImplementation is not a function - [#&#8203;30929](https://redirect.github.com/storybookjs/storybook/pull/30929), thanks [@&#8203;kasperpeulen](https://redirect.github.com/kasperpeulen)!

</details>

<details>
<summary>vercel/ai (ai)</summary>

### [`v4.2.8`](https://redirect.github.com/vercel/ai/releases/tag/ai%404.2.8)

[Compare Source](https://redirect.github.com/vercel/ai/compare/ai@4.2.7...ai@4.2.8)

##### Patch Changes

-   [`65243ce`](https://redirect.github.com/vercel/ai/commit/65243ce): fix (ui): introduce step start parts
-   Updated dependencies \[[`65243ce`](https://redirect.github.com/vercel/ai/commit/65243ce)]
    -   [@&#8203;ai-sdk/ui-utils](https://redirect.github.com/ai-sdk/ui-utils)[@&#8203;1](https://redirect.github.com/1).2.2
    -   [@&#8203;ai-sdk/react](https://redirect.github.com/ai-sdk/react)[@&#8203;1](https://redirect.github.com/1).2.3

### [`v4.2.7`](https://redirect.github.com/vercel/ai/releases/tag/ai%404.2.7)

[Compare Source](https://redirect.github.com/vercel/ai/compare/ai@4.2.6...ai@4.2.7)

##### Patch Changes

-   [`e14c066`](https://redirect.github.com/vercel/ai/commit/e14c066): fix (ai/core): convert user ui messages with only parts (no content) to core messages

### [`v4.2.6`](https://redirect.github.com/vercel/ai/releases/tag/ai%404.2.6)

[Compare Source](https://redirect.github.com/vercel/ai/compare/ai@4.2.5...ai@4.2.6)

##### Patch Changes

-   [`625591b`](https://redirect.github.com/vercel/ai/commit/625591b): feat (ai/core): auto-complete for provider registry
-   [`6a1506f`](https://redirect.github.com/vercel/ai/commit/6a1506f): feat (ai/core): custom separator support for provider registry
-   [`ea3d998`](https://redirect.github.com/vercel/ai/commit/ea3d998): chore (ai/core): move provider registry to stable

</details>

<details>
<summary>apollographql/apollo-ios (apollographql/apollo-ios)</summary>

### [`v1.19.0`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v1190)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.18.0...1.19.0)

##### New

-   **New function to mutate the properties of a local cache mutation fragment. ([#&#8203;3433](https://redirect.github.com/apollographql/apollo-ios/issues/3443)):** Removal of the setter for type conditions made it difficult to work with the properties on those types. A new `mutateIfFulfilled` function was added to facilitate that workflow while still preventing a fragment from being added or removed from an existing model. See PR [#&#8203;608](https://redirect.github.com/apollographql/apollo-ios-dev/pull/608).
-   **Configure `URLRequest` timeout interval ([#&#8203;3522](https://redirect.github.com/apollographql/apollo-ios/issues/3522)):** Added a request context specialization protocol (`RequestContextTimeoutConfigurable`) that specifies options for configuring the timeout interval of a `URLRequest`. See PR [#&#8203;618](https://redirect.github.com/apollographql/apollo-ios-dev/pull/618).

</details>

<details>
<summary>taskforcesh/bullmq (bullmq)</summary>

### [`v5.45.0`](https://redirect.github.com/taskforcesh/bullmq/releases/tag/v5.45.0)

[Compare Source](https://redirect.github.com/taskforcesh/bullmq/compare/v5.44.4...v5.45.0)

##### Features

-   add deduplicated job id to the deduplicated event ([0f21c10](0f21c10bc9))

</details>

<details>
<summary>electron/electron (electron)</summary>

### [`v35.1.2`](https://redirect.github.com/electron/electron/releases/tag/v35.1.2): electron v35.1.2

[Compare Source](https://redirect.github.com/electron/electron/compare/v35.1.1...v35.1.2)

### Release Notes for v35.1.2

#### Fixes

-   Fixed an issue where `navigationHistory.restore()` failed to restore the `userAgent` if it was overridden. [#&#8203;46300](https://redirect.github.com/electron/electron/pull/46300) <span style="font-size:small;">(Also in [34](https://redirect.github.com/electron/electron/pull/46298), [36](https://redirect.github.com/electron/electron/pull/46299))</span>

#### Other Changes

-   Security: backported fix for CVE-2025-2783. [#&#8203;46303](https://redirect.github.com/electron/electron/pull/46303)
-   Updated Chromium to 134.0.6998.178. [#&#8203;46287](https://redirect.github.com/electron/electron/pull/46287)

### [`v35.1.1`](https://redirect.github.com/electron/electron/releases/tag/v35.1.1): electron v35.1.1

[Compare Source](https://redirect.github.com/electron/electron/compare/v35.1.0...v35.1.1)

### Release Notes for v35.1.1

#### Fixes

-   Fixed build failure when building with printing disabled. [#&#8203;46285](https://redirect.github.com/electron/electron/pull/46285) <span style="font-size:small;">(Also in [34](https://redirect.github.com/electron/electron/pull/46286), [36](https://redirect.github.com/electron/electron/pull/46284))</span>

</details>

<details>
<summary>megahertz/electron-log (electron-log)</summary>

### [`v5.3.3`](https://redirect.github.com/megahertz/electron-log/compare/v5.3.2...v5.3.3)

[Compare Source](https://redirect.github.com/megahertz/electron-log/compare/v5.3.2...v5.3.3)

</details>

<details>
<summary>rexxars/eventsource-parser (eventsource-parser)</summary>

### [`v3.0.1`](https://redirect.github.com/rexxars/eventsource-parser/blob/HEAD/CHANGELOG.md#301-2025-03-27)

[Compare Source](https://redirect.github.com/rexxars/eventsource-parser/compare/v3.0.0...v3.0.1)

##### Bug Fixes

-   optimize `splitLines` function ([8952917](8952917a6f))
-   throw helpful error if passing function to `createParser()` ([4cd3a44](4cd3a443f2))

</details>

<details>
<summary>mixpanel/mixpanel-js (mixpanel-browser)</summary>

### [`v2.62.0`](https://redirect.github.com/mixpanel/mixpanel-js/compare/v2.61.2...3e3d5731642dd3e3ac543521155d3c51c8a37261)

[Compare Source](https://redirect.github.com/mixpanel/mixpanel-js/compare/v2.61.2...v2.62.0)

</details>

<details>
<summary>Papooch/nestjs-cls (nestjs-cls)</summary>

### [`v5.4.2`](https://redirect.github.com/Papooch/nestjs-cls/releases/tag/nestjs-cls%405.4.2)

[Compare Source](https://redirect.github.com/Papooch/nestjs-cls/compare/nestjs-cls@5.4.1...nestjs-cls@5.4.2)

##### Bug Fixes

-   **core**: un-deprecate wrongly deprecated parts of the plugin API ([#&#8203;228](https://redirect.github.com/Papooch/nestjs-cls/issues/228)) ([11ca429](https://redirect.github.com/Papooch/nestjs-cls/commits/11ca429))

</details>

<details>
<summary>matklad/once_cell (once_cell)</summary>

### [`v1.21.2`](https://redirect.github.com/matklad/once_cell/blob/HEAD/CHANGELOG.md#1212)

[Compare Source](https://redirect.github.com/matklad/once_cell/compare/v1.21.1...v1.21.2)

-   Relax success ordering from AcqRel to Release in `race`: [#&#8203;278](https://redirect.github.com/matklad/once_cell/pull/278).

</details>

<details>
<summary>openai/openai-node (openai)</summary>

### [`v4.90.0`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4900-2025-03-27)

[Compare Source](https://redirect.github.com/openai/openai-node/compare/v4.89.1...v4.90.0)

Full Changelog: [v4.89.1...v4.90.0](https://redirect.github.com/openai/openai-node/compare/v4.89.1...v4.90.0)

##### Features

-   **api:** add `get /chat/completions` endpoint ([2d6710a](2d6710a1f9))

##### Bug Fixes

-   **audio:** correctly handle transcription streaming ([2a9b603](2a9b60336c))
-   **internal:** work around [https://github.com/vercel/next.js/issues/76881](https://redirect.github.com/vercel/next.js/issues/76881) ([#&#8203;1427](https://redirect.github.com/openai/openai-node/issues/1427)) ([b467e94](b467e94947))

##### Chores

-   add hash of OpenAPI spec/config inputs to .stats.yml ([45db35e](45db35e34b))
-   **api:** updates to supported Voice IDs ([#&#8203;1424](https://redirect.github.com/openai/openai-node/issues/1424)) ([404f4db](404f4db41a))
-   **client:** expose headers on some streaming errors ([#&#8203;1423](https://redirect.github.com/openai/openai-node/issues/1423)) ([b0783cc](b0783cc622))

### [`v4.89.1`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4891-2025-03-26)

[Compare Source](https://redirect.github.com/openai/openai-node/compare/v4.89.0...v4.89.1)

Full Changelog: [v4.89.0...v4.89.1](https://redirect.github.com/openai/openai-node/compare/v4.89.0...v4.89.1)

##### Bug Fixes

-   avoid type error in certain environments ([#&#8203;1413](https://redirect.github.com/openai/openai-node/issues/1413)) ([d3f6f8f](d3f6f8f9c7))
-   **client:** remove duplicate types ([#&#8203;1410](https://redirect.github.com/openai/openai-node/issues/1410)) ([338878b](338878bf48))
-   **exports:** add missing type exports ([#&#8203;1417](https://redirect.github.com/openai/openai-node/issues/1417)) ([2d15ada](2d15ada0e0))

##### Chores

-   **internal:** version bump ([#&#8203;1408](https://redirect.github.com/openai/openai-node/issues/1408)) ([9c0949a](9c0949a93c))

</details>

<details>
<summary>emilkowalski/sonner (sonner)</summary>

### [`v2.0.2`](https://redirect.github.com/emilkowalski/sonner/releases/tag/v2.0.2)

[Compare Source](https://redirect.github.com/emilkowalski/sonner/compare/v2.0.1...v2.0.2)

#### What's Changed

-   fix: isExtendedResult. Check if promiseData is an object and not a valid React Element by [@&#8203;diegotraid](https://redirect.github.com/diegotraid) in [https://github.com/emilkowalski/sonner/pull/595](https://redirect.github.com/emilkowalski/sonner/pull/595)
-   fix: toast.dismiss without an id doesn't dismiss by [@&#8203;emilkowalski](https://redirect.github.com/emilkowalski) in [https://github.com/emilkowalski/sonner/pull/609](https://redirect.github.com/emilkowalski/sonner/pull/609)
-   f

</details>

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-28 13:44:55 +00:00
forehalo
64c7fb1d66 chore(server): validate function not actually used (#11263) 2025-03-28 12:51:19 +00:00
pengx17
387f7211bf fix(electron): cannot enable meetings correctly (#11269) 2025-03-28 11:13:48 +00:00
doodlewind
ebee11f573 refactor(editor): enable forceUpdate by default in viewport apis (#11264)
In this way, all downstream callers can be guaranteed by correct viewport fit result, instead of requiring them to set `forceUpdate: true` param explicitly to them. The resizing optimization is an internal exception.
2025-03-28 10:04:55 +00:00
LongYinan
85daea6fa8 chore: remove depracated packages 2025-03-28 17:41:37 +08:00
pengx17
6c125d9a38 feat(electron): audio capture permissions and settings (#11185)
fix AF-2420, AF-2391, AF-2265
2025-03-28 09:12:26 +00:00
forehalo
8c582122a8 chore: fix copilot cron test (#11262) 2025-03-28 08:42:22 +00:00
zzj3720
f5a91be53c fix(editor): support reactive readonly for table block (#11248)
fix: BS-2957
2025-03-28 08:19:46 +00:00
liuyi
ca301f0dab chore(server): patch config system (#11260) 2025-03-28 08:19:04 +00:00
pengx17
dccd7c20aa feat(core): call real endpoint for audio transcription (#11139)
fix AF-2359
2025-03-28 07:59:35 +00:00
doouding
c4032e1bc0 fix: youtube block style (#11235)
Fixes [BS-2687](https://linear.app/affine-design/issue/BS-2687/[bug]-video-block-缩放选区坏掉)
2025-03-28 07:46:07 +00:00
Saul-Mirone
205cd7a86d refactor(editor): rename block-std to std (#11250)
Closes: BS-2946
2025-03-28 07:20:34 +00:00
Flrande
4498676a96 fix(editor): update at menu width (#11257)
Close [BS-2952](https://linear.app/affine-design/issue/BS-2952/at面板长宽为280390)
2025-03-28 06:46:45 +00:00
liuyi
e22f66f1cc fix(server): auto import config.json (#11255) 2025-03-28 06:12:56 +00:00
Lakr
08ee84e697 feat(ios): update dependencies to track upstream repository (#11143) 2025-03-28 14:12:06 +08:00
L-Sun
af91a0217f refactor(editor): inner toolbar surface-ref block with extension (#11246)
This PR refactor `surface-ref` toolbar with `ToolbarExtension`
2025-03-28 05:48:24 +00:00
fengmk2
69f393fe2f refactor(server): change invitation request link to workspace members tab (#11191)
close CLOUD-184
2025-03-28 05:27:20 +00:00
fengmk2
bfa7e9a007 ci: install @types/affine__env on server build (#11252) 2025-03-28 05:01:47 +00:00
L-Sun
e2c752d56f feat(editor): inner toolbar layout for block (#11243)
Close [BS-2808](https://linear.app/affine-design/issue/BS-2808/组件内-toolbar-重构)
2025-03-28 03:47:37 +00:00
donteatfriedrice
7193393a06 fix(editor): embed iframe block idle status selected style (#11239)
Close [BS-2936](https://linear.app/affine-design/issue/BS-2936/占位去掉描边-grabber选中时颜色加深即可)
2025-03-28 02:25:00 +00:00
donteatfriedrice
a459a00b21 feat(editor): support convert edgeless bookmark to embed iframe block (#11237)
Close [BS-2941](https://linear.app/affine-design/issue/BS-2941/白板-surface-中-card-view-无法转为-embed-view)
2025-03-28 02:25:00 +00:00
fundon
c0c0e5ea8f chore(editor): add event tracking to highlighter tool (#11232)
Closes: [BS-2947](https://linear.app/affine-design/issue/BS-2947/埋点相关)
2025-03-28 01:34:44 +00:00
Brooooooklyn
554a8d9fb8 ci: split jobs to speed (#11249) 2025-03-27 15:56:24 +00:00
Brooooooklyn
de145cce7a fix(native): global recording cleanup (#11241) 2025-03-27 14:41:29 +00:00
doouding
367544bcc5 fix: mindmap connectors disappear (#11234)
Fixes [BS-2868](https://linear.app/affine-design/issue/BS-2868/mindmap-bug-布局四的线不见了)
2025-03-27 13:33:21 +00:00
Brooooooklyn
7ae0132da9 fix(native): audio capture volume (#11240) 2025-03-27 12:55:09 +00:00
forehalo
504a74d512 chore(server): add import config script (#11242) 2025-03-27 12:32:29 +00:00
forehalo
0ea38680fa refactor(server): config system (#11081) 2025-03-27 12:32:28 +00:00
EYHN
7091111f85 feat(nbstore): add upload function to blob frontend (#11247) 2025-03-27 12:11:30 +00:00
zzj3720
f2cdf67c2a refactor(editor): adjust database-block style (#11219)
close: BS-2904, BS-2905
2025-03-27 10:35:29 +00:00
darkskygit
3b9d64d74d feat(server): update trascript endpoint (#11196) 2025-03-27 10:18:49 +00:00
Flrande
3303684056 fix(editor): disable at menu member group for collaborator (#11208)
Close [BS-2893](https://linear.app/affine-design/issue/BS-2893/无邀请权限的member-时不需要显示invite入口)
Close [BS-2891](https://linear.app/affine-design/issue/BS-2891/mention-members-sention默认需显示3个人)
2025-03-27 09:45:14 +00:00
fengmk2
a189421360 ci: increase cloud E2E test shards from 3 to 6 (#11236)
Before 10m

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/hTwOityLamd4hitrae7M/e9698e8f-2220-475e-a6e3-21cca48398e3.png)

After 8m

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/hTwOityLamd4hitrae7M/e6e63736-dd03-4ee8-9ddc-652f71f15067.png)
2025-03-27 09:29:40 +00:00
forehalo
766383cb3a chore: disable http proxy middleware log in ci (#11238) 2025-03-27 09:11:54 +00:00
CatsJuice
e855197acf feat(editor): responsive edgeless toolbar pen menu (#11150)
close BS-2855
2025-03-27 08:53:27 +00:00
fundon
2c4278058b feat(editor): add highlighter (#10573)
Closes: [BS-2909](https://linear.app/affine-design/issue/BS-2909/新增highlighter)

### What's Changed!

Currently the highlighter tool is very similar to brush, but for the future, it's a standalone module.

* Added `Highlighter` element model
* Added `Highlighter` tool
* Added `Highlighter` entry to the global toolbar
2025-03-27 08:53:26 +00:00
donteatfriedrice
676a8d653f fix(editor): reorder slash menu content & media group (#11233)
Close [BS-2935](https://linear.app/affine-design/issue/BS-2935/embed-在-slash-menu-中位置调整)
2025-03-27 08:36:40 +00:00
fundon
6ade2b7084 chore(editor): add event tracking to drawing tool (#11230)
Closes: [BS-2833](https://linear.app/affine-design/issue/BS-2833/考虑屏蔽或者降低brush-行为的采集密度)
2025-03-27 08:17:44 +00:00
fengmk2
4d6115bb00 fix(server): move avatar attachment before setting cid reference (#11231)
close CLOUD-187
2025-03-27 08:00:18 +00:00
fengmk2
5fcdc99f23 feat(server): add team user with team workspace in dev environment (#11228)
close CLOUD-186
2025-03-27 07:26:28 +00:00
JimmFly
57ebb6baba chore: adjust CSV template button style (#11226)
close AF-2396
2025-03-27 07:10:15 +00:00
JimmFly
55ac09b1b6 fix(core): wrong import path (#11225) 2025-03-27 06:55:03 +00:00
EYHN
9c939da6b5 fix(core): fix duplicate in all page (#11229) 2025-03-27 06:36:57 +00:00
Saul-Mirone
d9d5aa407a fix: split view focus (#11217)
# After:

https://github.com/user-attachments/assets/990d500d-2da7-488e-ac32-dd7bd229f896

# Before:

https://github.com/user-attachments/assets/6676766a-c76a-414b-a35e-53d2cda10c24
2025-03-27 05:27:59 +00:00
EYHN
5f5c27fbdf fix(core): fix upgrade popup (#11227) 2025-03-27 05:08:42 +00:00
doodlewind
bb1bbccd0f refactor(editor): rx state management in turbo renderer (#11200)
# Refactor Turbo Renderer State Management to Use RxJS

### TL;DR

Refactored the TurboRenderer state management to use RxJS observables instead of direct state mutations, improving state transitions and reactivity.

### What changed?

- Replaced the public `state` property with a private `state$` BehaviorSubject in `ViewportTurboRendererExtension`
- Added proper state transition logging using RxJS operators
- Combined multiple event subscriptions using `merge` operator for better organization
- Improved state transition logic in the `refresh()` method
- Updated the `zooming$` and `panning$` signals in the Viewport

### Why make this change?

This refactoring improves the codebase by:
1. Using a more consistent reactive programming model with RxJS
2. Making state transitions more explicit and traceable
3. Reducing potential bugs from manual state management
4. Improving code organization by combining related event streams
5. Ensuring proper cleanup of resources when components are disposed

The change maintains the same functionality while making the code more maintainable and the state management more robust.
2025-03-27 04:50:32 +00:00
akumatus
22ef32f5c2 feat(core): provide document title, tags, createTime and updateTime to llm (#11205)
Close [BS-2915](https://linear.app/affine-design/issue/BS-2915).
2025-03-27 04:34:45 +00:00
donteatfriedrice
0c73fde44a feat(editor): update embed iframe toolbar config (#11221)
part of [BS-2843](https://linear.app/affine-design/issue/BS-2843/iframe-embed-block-占位态)
2025-03-27 04:17:30 +00:00
donteatfriedrice
e763061bd6 fix(editor): dragging area gets stuck when hovering some embed blocks (#11223)
Close [BS-2778](https://linear.app/affine-design/issue/BS-2778/[bug]-选区框选-html-block-卡顿)
2025-03-27 03:59:26 +00:00
JimmFly
b00584c4cc fix(core): improve client-app navigation flow after team workspace upgrade (#11201) 2025-03-27 03:23:29 +00:00
JimmFly
5fbee7cc88 fix(core): close popup window when upgrade success (#11199) 2025-03-27 03:23:29 +00:00
Oleg
ac600a5309 fix(editor): ui and edgeless bugs (#11087)
Co-authored-by: Mirone <Saul-Mirone@outlook.com>
2025-03-27 11:22:53 +08:00
JimmFly
4fddf0d000 fix(core): show SentRequestPage when invitation status is NeedMoreSeat (#11207) 2025-03-27 03:00:14 +00:00
darkskygit
2e5ce44e1b fix(server): make status optional (#11176) 2025-03-27 02:44:29 +00:00
EYHN
e311d3d1cb feat(core): more notification type (#11209) 2025-03-27 02:10:49 +00:00
fengmk2
8f124c5070 fix(server): use client doc title when server title is empty (#11210)
close CLOUD-185
2025-03-27 00:41:23 +00:00
renovate
abe67d86f5 chore: bump up apple-actions/import-codesign-certs action to v5 (#11216)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [apple-actions/import-codesign-certs](https://redirect.github.com/apple-actions/import-codesign-certs) | action | major | `v3` -> `v5` |

---

### Release Notes

<details>
<summary>apple-actions/import-codesign-certs (apple-actions/import-codesign-certs)</summary>

### [`v5`](https://redirect.github.com/apple-actions/import-codesign-certs/compare/v4...v5)

[Compare Source](https://redirect.github.com/apple-actions/import-codesign-certs/compare/v4...v5)

### [`v4`](https://redirect.github.com/apple-actions/import-codesign-certs/compare/v3...v4)

[Compare Source](https://redirect.github.com/apple-actions/import-codesign-certs/compare/v3...v4)

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-26 16:13:52 +00:00
renovate
261661c419 chore: bump up @googleapis/androidpublisher version to v26 (#11214)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@googleapis/androidpublisher](https://redirect.github.com/googleapis/google-api-nodejs-client) | [`^24.0.0` -> `^26.0.0`](https://renovatebot.com/diffs/npm/@googleapis%2fandroidpublisher/24.0.0/26.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@googleapis%2fandroidpublisher/26.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@googleapis%2fandroidpublisher/26.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@googleapis%2fandroidpublisher/24.0.0/26.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@googleapis%2fandroidpublisher/24.0.0/26.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>googleapis/google-api-nodejs-client (@&#8203;googleapis/androidpublisher)</summary>

### [`v26.0.0`](https://redirect.github.com/googleapis/google-api-nodejs-client/blob/HEAD/CHANGELOG.md#12600-2023-08-17)

[Compare Source](https://redirect.github.com/googleapis/google-api-nodejs-client/compare/v25.0.0...v26.0.0)

##### ⚠ BREAKING CHANGES

-   **vmmigration:** This release has breaking changes.
-   **contentwarehouse:** This release has breaking changes.
-   **assuredworkloads:** This release has breaking changes.
-   **aiplatform:** This release has breaking changes.

##### Features

-   **admin:** update the API ([ebfb777](ebfb777684))
-   **aiplatform:** update the API ([146712c](146712c48e))
-   **androidpublisher:** update the API ([2d7c2b4](2d7c2b4247))
-   **assuredworkloads:** update the API ([6547ea1](6547ea1ef1))
-   **contactcenterinsights:** update the API ([1f2e6eb](1f2e6eb4ab))
-   **containeranalysis:** update the API ([7acf09f](7acf09fc53))
-   **contentwarehouse:** update the API ([c44aeaf](c44aeafdd3))
-   **discoveryengine:** update the API ([bca2665](bca26655ef))
-   regenerate index files ([751227d](751227d392))
-   **serviceconsumermanagement:** update the API ([336b645](336b645dbb))
-   **serviceusage:** update the API ([6f08362](6f0836293a))
-   **testing:** update the API ([9c06a45](9c06a45890))
-   **vmmigration:** update the API ([75cbb15](75cbb1513e))

##### Bug Fixes

-   **contactcenteraiplatform:** update the API ([e4bfff0](e4bfff0b61))
-   **content:** update the API ([6e9f31f](6e9f31fdff))
-   **dns:** update the API ([2e49df0](2e49df0707))
-   **eventarc:** update the API ([b7a0e5a](b7a0e5a26e))
-   **gameservices:** update the API ([8733a48](8733a48c00))
-   **metastore:** update the API ([26f97a2](26f97a259e))
-   **privateca:** update the API ([b50c176](b50c176656))
-   **recommendationengine:** update the API ([fd203b4](fd203b411f))
-   **vision:** update the API ([2593341](2593341f5b))
-   **vpcaccess:** update the API ([b740cac](b740cacf6f))

### [`v25.0.0`](https://redirect.github.com/googleapis/google-api-nodejs-client/blob/HEAD/CHANGELOG.md#12500-2023-08-15)

##### ⚠ BREAKING CHANGES

-   **gkehub:** This release has breaking changes.
-   **contentwarehouse:** This release has breaking changes.
-   **bigquery:** This release has breaking changes.
-   **beyondcorp:** This release has breaking changes.
-   **assuredworkloads:** This release has breaking changes.

##### Features

-   **analyticsadmin:** update the API ([3bed127](3bed127d4e))
-   **appengine:** update the API ([a8d4c48](a8d4c48bd1))
-   **artifactregistry:** update the API ([2d1257d](2d1257d9ac))
-   **assuredworkloads:** update the API ([f58a85a](f58a85a1ac))
-   **beyondcorp:** update the API ([270693a](270693ad48))
-   **bigquery:** update the API ([b0bc1f1](b0bc1f15a8))
-   **binaryauthorization:** update the API ([2175fab](2175fab3e4))
-   **cloudbuild:** update the API ([2413746](2413746386))
-   **composer:** update the API ([d2322c2](d2322c2a50))
-   **container:** update the API ([3ab84ca](3ab84caea9))
-   **contentwarehouse:** update the API ([73f5d69](73f5d69b1d))
-   **dataform:** update the API ([1f0c739](1f0c739684))
-   **dataproc:** update the API ([1fc81ab](1fc81abff8))
-   **dialogflow:** update the API ([6aba841](6aba841302))
-   **discoveryengine:** update the API ([57a6bdd](57a6bdd926))
-   **documentai:** update the API ([ae0e266](ae0e2664ae))
-   **firebaseappcheck:** update the API ([13f8c86](13f8c865f8))
-   **gkehub:** update the API ([7c7c561](7c7c5611a6))
-   **healthcare:** update the API ([9dc7235](9dc723542d))
-   **identitytoolkit:** update the API ([f15458e](f15458e813))
-   **migrationcenter:** update the API ([43d3a7e](43d3a7e351))
-   **monitoring:** update the API ([d6ab1de](d6ab1de97a))
-   **networkmanagement:** update the API ([b00b4c3](b00b4c39b0))
-   **paymentsresellersubscription:** update the API ([fa9bc92](fa9bc92c28))
-   **redis:** update the API ([633a71b](633a71b75e))
-   regenerate index files ([1b979cb](1b979cb4bd))
-   **run:** update the API ([2dc654e](2dc654e314))
-   **vmmigration:** update the API ([433922a](433922ae81))

##### Bug Fixes

-   **accesscontextmanager:** update the API ([37483a5](37483a53c3))
-   **advisorynotifications:** update the API ([5d47fbd](5d47fbd05f))
-   **analyticsdata:** update the API ([fcd31de](fcd31debbc))
-   **analyticshub:** update the API ([028a8f2](028a8f2845))
-   **androidmanagement:** update the API ([b6e3344](b6e33442cb))
-   **apigateway:** update the API ([28a0c2b](28a0c2b909))
-   **apigeeregistry:** update the API ([f4b44ce](f4b44ce7ff))
-   **batch:** update the API ([c0f6c8e](c0f6c8ebae))
-   **bigqueryconnection:** update the API ([238464d](238464d37e))
-   **chat:** update the API ([9bebe9d](9bebe9d01a))
-   **cloudbilling:** update the API ([0a0d5e9](0a0d5e9f35))
-   **clouddeploy:** update the API ([8efff9d](8efff9d26e))
-   **cloudidentity:** update the API ([01762af](01762affc9))
-   **cloudkms:** update the API ([3499c39](3499c393ef))
-   **cloudsearch:** update the API ([25771c7](25771c752c))
-   **cloudshell:** update the API ([dd761cd](dd761cdec6))
-   **connectors:** update the API ([2a03080](2a03080ff2))
-   **containeranalysis:** update the API ([4de5705](4de5705559))
-   **datacatalog:** update the API ([c823e38](c823e38315))
-   **datamigration:** update the API ([0b476bb](0b476bb46f))
-   **dataplex:** update the API ([07737a9](07737a9c0b))
-   **datastore:** update the API ([f5f7e0e](f5f7e0e81b))
-   **datastream:** update the API ([d1efe13](d1efe137ee))
-   **deps:** update dependency [@&#8203;google-cloud/local-auth](https://redirect.github.com/google-cloud/local-auth) to v3 ([b9e0f13](b9e0f133df))
-   **dlp:** update the API ([66720df](66720df286))
-   **eventarc:** update the API ([2a475fa](2a475faaef))
-   **file:** update the API ([16d1c38](16d1c381e4))
-   **firestore:** update the API ([25dd82f](25dd82f85c))
-   **iam:** update the API ([df42895](df428953ea))
-   **language:** update the API ([86d4072](86d4072801))
-   **logging:** update the API ([5ce9916](5ce99164a4))
-   **memcache:** update the API ([1c738c4](1c738c4e5f))
-   **metastore:** update the API ([3045ac9](3045ac9077))
-   **networkconnectivity:** update the API ([db2c560](db2c5609b8))
-   **networkservices:** update the API ([c2ca6b5](c2ca6b5b29))
-   **ondemandscanning:** update the API ([b5da2fb](b5da2fbde7))
-   **osconfig:** update the API ([926f83d](926f83d571))
-   **policysimulator:** update the API ([337d6d9](337d6d9bc2))
-   **prod_tt_sasportal:** update the API ([cad4560](cad45600a1))
-   **pubsublite:** update the API ([383264c](383264cadb))
-   **pubsub:** update the API ([6c41abf](6c41abf474))
-   **recommender:** update the API ([b7e0460](b7e04605e7))
-   **sasportal:** update the API ([cd8a38c](cd8a38c750))
-   **script:** update the API ([09d1558](09d1558a81))
-   **secretmanager:** update the API ([fe01e40](fe01e40054))
-   **securitycenter:** update the API ([0d66358](0d66358f76))
-   **servicecontrol:** update the API ([ceadea7](ceadea74b3))
-   **servicedirectory:** update the API ([c52f8c3](c52f8c3386))
-   **servicemanagement:** update the API ([c5c135d](c5c135da55))
-   **sheets:** update the API ([19e06a7](19e06a7c92))
-   **speech:** update the API ([b75b27e](b75b27e0ad))
-   **storagetransfer:** update the API ([29b6593](29b6593955))
-   **tpu:** update the API ([e396d7e](e396d7e10d))
-   **translate:** update the API ([5789f48](5789f485ea))
-   **vault:** update the API ([6f14118](6f1411871c))
-   **vision:** update the API ([8fd1995](8fd19953a1))
-   **vpcaccess:** update the API ([6641889](6641889146))
-   **workflows:** update the API ([5e9374a](5e9374afdc))
-   **workstations:** update the API ([fefd54a](fefd54ada1))

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-26 13:48:55 +00:00
renovate
98fb2415be chore: bump up nestjs (#11211)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@nestjs-cls/transactional](https://papooch.github.io/nestjs-cls/) ([source](https://redirect.github.com/Papooch/nestjs-cls)) | [`2.5.1` -> `2.6.0`](https://renovatebot.com/diffs/npm/@nestjs-cls%2ftransactional/2.5.1/2.6.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs-cls%2ftransactional/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs-cls%2ftransactional/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs-cls%2ftransactional/2.5.1/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs-cls%2ftransactional/2.5.1/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs-cls/transactional-adapter-prisma](https://papooch.github.io/nestjs-cls/) ([source](https://redirect.github.com/Papooch/nestjs-cls)) | [`1.2.17` -> `1.2.18`](https://renovatebot.com/diffs/npm/@nestjs-cls%2ftransactional-adapter-prisma/1.2.17/1.2.18) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs-cls%2ftransactional-adapter-prisma/1.2.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs-cls%2ftransactional-adapter-prisma/1.2.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs-cls%2ftransactional-adapter-prisma/1.2.17/1.2.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs-cls%2ftransactional-adapter-prisma/1.2.17/1.2.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>Papooch/nestjs-cls (@&#8203;nestjs-cls/transactional)</summary>

### [`v2.6.0`](https://redirect.github.com/Papooch/nestjs-cls/releases/tag/%40nestjs-cls/transactional%402.6.0)

[Compare Source](https://redirect.github.com/Papooch/nestjs-cls/compare/@nestjs-cls/transactional@2.5.1...@nestjs-cls/transactional@2.6.0)

##### Features

-   **transactional**: make Transactional decorator not depend on DI ([#&#8203;225](https://redirect.github.com/Papooch/nestjs-cls/issues/225)) ([471ab7d](https://redirect.github.com/Papooch/nestjs-cls/commits/471ab7d))

</details>

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-26 13:32:00 +00:00
Saul-Mirone
ce39117953 fix(editor): table data lost when converted to linked doc (#11212)
Closes: BS-2908
2025-03-26 13:07:22 +00:00
akumatus
42259f5546 fix(core): add try-catch to handle possible errors (#11213)
Close [AF-2343](https://linear.app/affine-design/issue/AF-2343).
2025-03-26 11:20:02 +00:00
Saul-Mirone
0a8d8e0a6b feat: seperate createDoc and createStore (#11182) 2025-03-26 11:03:47 +00:00
renovate
d6093e1d66 chore: bump up all non-major dependencies (#11206)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@lottiefiles/dotlottie-wc](https://redirect.github.com/LottieFiles/dotlottie-web) ([source](https://redirect.github.com/LottieFiles/dotlottie-web/tree/HEAD/packages/wc)) | [`^0.4.0` -> `^0.5.0`](https://renovatebot.com/diffs/npm/@lottiefiles%2fdotlottie-wc/0.4.6/0.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@lottiefiles%2fdotlottie-wc/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@lottiefiles%2fdotlottie-wc/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@lottiefiles%2fdotlottie-wc/0.4.6/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@lottiefiles%2fdotlottie-wc/0.4.6/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@tailwindcss/postcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss)) | [`4.0.16` -> `4.0.17`](https://renovatebot.com/diffs/npm/@tailwindcss%2fpostcss/4.0.16/4.0.17) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2fpostcss/4.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tailwindcss%2fpostcss/4.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tailwindcss%2fpostcss/4.0.16/4.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2fpostcss/4.0.16/4.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@tailwindcss/vite](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite)) | [`4.0.16` -> `4.0.17`](https://renovatebot.com/diffs/npm/@tailwindcss%2fvite/4.0.16/4.0.17) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2fvite/4.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tailwindcss%2fvite/4.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tailwindcss%2fvite/4.0.16/4.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2fvite/4.0.16/4.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [lucide-react](https://lucide.dev) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.483.0` -> `^0.484.0`](https://renovatebot.com/diffs/npm/lucide-react/0.483.0/0.484.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.484.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-react/0.484.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-react/0.483.0/0.484.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.483.0/0.484.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [tailwindcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss)) | [`4.0.16` -> `4.0.17`](https://renovatebot.com/diffs/npm/tailwindcss/4.0.16/4.0.17) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/4.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tailwindcss/4.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tailwindcss/4.0.16/4.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/4.0.16/4.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [tailwindcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss)) | [`4.0.16` -> `4.0.17`](https://renovatebot.com/diffs/npm/tailwindcss/4.0.16/4.0.17) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/4.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tailwindcss/4.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tailwindcss/4.0.16/4.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/4.0.16/4.0.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [text-splitter](https://redirect.github.com/benbrandt/text-splitter) | `0.25.0` -> `0.25.1` | [![age](https://developer.mend.io/api/mc/badges/age/crate/text-splitter/0.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/text-splitter/0.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/text-splitter/0.25.0/0.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/text-splitter/0.25.0/0.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [com.android.library](https://developer.android.com/studio/build) ([source](https://android.googlesource.com/platform/tools/base)) | `8.9.0` -> `8.9.1` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.library:com.android.library.gradle.plugin/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.library:com.android.library.gradle.plugin/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.library:com.android.library.gradle.plugin/8.9.0/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.library:com.android.library.gradle.plugin/8.9.0/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | plugin | patch |
| [com.android.application](https://developer.android.com/studio/build) ([source](https://android.googlesource.com/platform/tools/base)) | `8.9.0` -> `8.9.1` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.application:com.android.application.gradle.plugin/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.application:com.android.application.gradle.plugin/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.application:com.android.application.gradle.plugin/8.9.0/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.application:com.android.application.gradle.plugin/8.9.0/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | plugin | patch |
| [com.android.tools.build:gradle](https://developer.android.com/studio/build) ([source](https://android.googlesource.com/platform/tools/base)) | `8.9.0` -> `8.9.1` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.tools.build:gradle/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.tools.build:gradle/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.tools.build:gradle/8.9.0/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.tools.build:gradle/8.9.0/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |

---

### Release Notes

<details>
<summary>LottieFiles/dotlottie-web (@&#8203;lottiefiles/dotlottie-wc)</summary>

### [`v0.5.0`](https://redirect.github.com/LottieFiles/dotlottie-web/compare/@lottiefiles/dotlottie-wc@0.4.6...@lottiefiles/dotlottie-wc@0.5.0)

[Compare Source](https://redirect.github.com/LottieFiles/dotlottie-web/compare/@lottiefiles/dotlottie-wc@0.4.6...@lottiefiles/dotlottie-wc@0.5.0)

</details>

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

### [`v4.0.17`](https://redirect.github.com/tailwindlabs/tailwindcss/releases/tag/v4.0.17)

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

##### Fixed

-   Fix an issue causing the CLI to hang when processing Ruby files ([#&#8203;17383](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17383))

</details>

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

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

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

#### What's Changed

-   build(deps): bump tj-actions/changed-files from 41 to 46 in /.github/workflows by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/lucide-icons/lucide/pull/2920](https://redirect.github.com/lucide-icons/lucide/pull/2920)
-   fix(packages): consistent icon name class by [@&#8203;danteissaias](https://redirect.github.com/danteissaias) in [https://github.com/lucide-icons/lucide/pull/2878](https://redirect.github.com/lucide-icons/lucide/pull/2878)
-   feat(ci): add `x.com` to brand filter by [@&#8203;jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/2939](https://redirect.github.com/lucide-icons/lucide/pull/2939)
-   fix(icons): arcified candy & candy-off by [@&#8203;karsa-mistmere](https://redirect.github.com/karsa-mistmere) in [https://github.com/lucide-icons/lucide/pull/2944](https://redirect.github.com/lucide-icons/lucide/pull/2944)

#### New Contributors

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

**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.483.0...0.484.0

</details>

<details>
<summary>benbrandt/text-splitter (text-splitter)</summary>

### [`v0.25.1`](https://redirect.github.com/benbrandt/text-splitter/blob/HEAD/CHANGELOG.md#v0251)

[Compare Source](https://redirect.github.com/benbrandt/text-splitter/compare/v0.25.0...v0.25.1)

##### What's New

-   Use `memchr` crate instead of `regex` for parsing phase in `TextSplitter`. This should improve performance in how quickly the text is parsed when scanning for newline characters.
-   Implement `ChunkSizer` trait automatically for many more wrappers and references to types that already implement `ChunkSizer`.

</details>

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-26 10:47:02 +00:00
JimmFly
a89fe27e50 fix(admin): show user disabled status in admin panel search results (#11146)
close AF-2365
2025-03-26 10:32:09 +00:00
JimmFly
eb8fe91525 fix(admin): unable to select all users in current page (#11155)
close AF-2380
2025-03-26 10:16:18 +00:00
Flrande
592f0e8e19 fix(editor): update at menu avatar style (#11204)
Close [BS-2894](https://linear.app/affine-design/issue/BS-2894/at面板头像ui)
2025-03-26 10:00:34 +00:00
fengmk2
07e098aef1 fix(server): send invitation review notification (#11203) 2025-03-26 09:44:03 +00:00
L-Sun
c23b8f604b fix(editor): incorrect edgeless viewport in peek view (#11040)
### What Changes
- Fixed incorrect edgeless viewport display in peek view
  - Moved page block viewport fit animation logic from `EdgelessRootBlockComponent` to note config extension
  - Disabled page block viewport fit animation in peek view, using default `fitToScreen` instead
  - @doodlewind Fixed viewport resizing issues by adding a immediate update mechanism to ensure proper rendering during peek view operations.  The setViewportByBound is only called once during peek view initialization, so there are barely perf overhead.
- Updated related test cases
  - Refactored peek view test cases to make them clearer and more reliable
  - Added new test helper function `getViewportBound` for getting viewport boundary information
2025-03-26 09:29:05 +00:00
renovate
a4b4029201 chore: bump up oxlint version to v0.16.3 (#10890)
This PR contains the following updates:

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

---

### Release Notes

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

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

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

#### \[0.16.3] - 2025-03-25

##### Features

-   [`1b41cb3`](https://redirect.github.com/oxc-project/oxc/commit/1b41cb3) linter: Add suggested fix to `unicorn/prefer-structured-clone` ([#&#8203;9994](https://redirect.github.com/oxc-project/oxc/issues/9994)) (Ulrich Stark 🦀)
-   [`24cbe51`](https://redirect.github.com/oxc-project/oxc/commit/24cbe51) linter: Add suggested fixer to `typescript/no_unnecessary_parameter_property_assignment` and fix false positive ([#&#8203;9973](https://redirect.github.com/oxc-project/oxc/issues/9973)) (Ulrich Stark 🦀)

##### Bug Fixes

-   [`6c4b533`](https://redirect.github.com/oxc-project/oxc/commit/6c4b533) linter: False positive in `import/no-empty-named-blocks` ([#&#8203;9974](https://redirect.github.com/oxc-project/oxc/issues/9974)) (shulaoda)
-   [`ff13be6`](https://redirect.github.com/oxc-project/oxc/commit/ff13be6) linter: Correct fixer for spread in function arguments ([#&#8203;9972](https://redirect.github.com/oxc-project/oxc/issues/9972)) (shulaoda)

##### Refactor

-   [`0f1e0e8`](https://redirect.github.com/oxc-project/oxc/commit/0f1e0e8) linter: Gate rule docs behind feature ([#&#8203;10027](https://redirect.github.com/oxc-project/oxc/issues/10027)) (camchenry)
-   [`ad06194`](https://redirect.github.com/oxc-project/oxc/commit/ad06194) linter: Add fixer for `typescript-eslint/no-non-null-asserted-optional-chain` ([#&#8203;9993](https://redirect.github.com/oxc-project/oxc/issues/9993)) (camchenry)
-   [`402d8b7`](https://redirect.github.com/oxc-project/oxc/commit/402d8b7) linter: Improve `eslint/no-redeclare` ([#&#8203;9976](https://redirect.github.com/oxc-project/oxc/issues/9976)) (shulaoda)
-   [`be62d38`](https://redirect.github.com/oxc-project/oxc/commit/be62d38) rust: Remove usages of `lazy_static` ([#&#8203;10007](https://redirect.github.com/oxc-project/oxc/issues/10007)) (Boshen)
-   [`6432707`](https://redirect.github.com/oxc-project/oxc/commit/6432707) rust: Use `lazy-regex` ([#&#8203;10004](https://redirect.github.com/oxc-project/oxc/issues/10004)) (Boshen)
-   [`0fa58d7`](https://redirect.github.com/oxc-project/oxc/commit/0fa58d7) semantic: Always use `SymbolFlags::Function` for function id ([#&#8203;7479](https://redirect.github.com/oxc-project/oxc/issues/7479)) (Dunqing)

##### Testing

-   [`878bec6`](https://redirect.github.com/oxc-project/oxc/commit/878bec6) editor: Add test for `oxc.toggleEnable` command ([#&#8203;9987](https://redirect.github.com/oxc-project/oxc/issues/9987)) (Sysix)
-   [`093e7e5`](https://redirect.github.com/oxc-project/oxc/commit/093e7e5) editor: Add `oxc.showOutputChannel` command test ([#&#8203;9986](https://redirect.github.com/oxc-project/oxc/issues/9986)) (Sysix)
-   [`c3af9a4`](https://redirect.github.com/oxc-project/oxc/commit/c3af9a4) editor: Add tests for listing all oxc commands ([#&#8203;9930](https://redirect.github.com/oxc-project/oxc/issues/9930)) (Sysix)
-   [`71dce1f`](https://redirect.github.com/oxc-project/oxc/commit/71dce1f) editor: Add end-to-end tests for linter output ([#&#8203;9979](https://redirect.github.com/oxc-project/oxc/issues/9979)) (Cam McHenry)
-   [`c2f1be0`](https://redirect.github.com/oxc-project/oxc/commit/c2f1be0) editor: Add tests for `offset_to_position` ([#&#8203;9978](https://redirect.github.com/oxc-project/oxc/issues/9978)) (camchenry)

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

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

#### \[0.16.2] - 2025-03-21

-   [`bfb416c`](https://redirect.github.com/oxc-project/oxc/commit/bfb416c) editor: \[**BREAKING**] Enable nested configuration by default ([#&#8203;9929](https://redirect.github.com/oxc-project/oxc/issues/9929)) (Sysix)

##### Bug Fixes

-   [`2e8198e`](https://redirect.github.com/oxc-project/oxc/commit/2e8198e) linter: Skip extending config files that look like named configs or not files ([#&#8203;9932](https://redirect.github.com/oxc-project/oxc/issues/9932)) (camchenry)
-   [`f649fb3`](https://redirect.github.com/oxc-project/oxc/commit/f649fb3) linter: Reclassify `unicorn/no-document-cookie` as restriction ([#&#8203;9933](https://redirect.github.com/oxc-project/oxc/issues/9933)) (camchenry)

##### Documentation

-   [`46a12c6`](https://redirect.github.com/oxc-project/oxc/commit/46a12c6) linter: Tell about junit `--format` options ([#&#8203;9931](https://redirect.github.com/oxc-project/oxc/issues/9931)) (Sysix)

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

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

#### \[0.16.1] - 2025-03-20

##### Features

-   [`0973356`](https://redirect.github.com/oxc-project/oxc/commit/0973356) editor: Support nested configs ([#&#8203;9743](https://redirect.github.com/oxc-project/oxc/issues/9743)) (Nicholas Rayburn)
-   [`8e3d9be`](https://redirect.github.com/oxc-project/oxc/commit/8e3d9be) linter: Support `--report-unused-disable-directive` ([#&#8203;9223](https://redirect.github.com/oxc-project/oxc/issues/9223)) (1zumii)
-   [`62c0132`](https://redirect.github.com/oxc-project/oxc/commit/62c0132) linter: Add import/no-empty-named-blocks rule ([#&#8203;9710](https://redirect.github.com/oxc-project/oxc/issues/9710)) (yefan)
-   [`ea7e3f0`](https://redirect.github.com/oxc-project/oxc/commit/ea7e3f0) oxc_language_server: Support nested configs ([#&#8203;9739](https://redirect.github.com/oxc-project/oxc/issues/9739)) (Nicholas Rayburn)

##### Bug Fixes

-   [`e9565c9`](https://redirect.github.com/oxc-project/oxc/commit/e9565c9) linter: Parse vue custom tag that starts with script ([#&#8203;9887](https://redirect.github.com/oxc-project/oxc/issues/9887)) (Boshen)
-   [`e6f7c74`](https://redirect.github.com/oxc-project/oxc/commit/e6f7c74) linter: Import and fix tests for typescript::no_unnecessary_parameter_property_assignment ([#&#8203;9720](https://redirect.github.com/oxc-project/oxc/issues/9720)) (Ulrich Stark)
-   [`4e39ba0`](https://redirect.github.com/oxc-project/oxc/commit/4e39ba0) linter: Ignore modules with invalid source ([#&#8203;9801](https://redirect.github.com/oxc-project/oxc/issues/9801)) (branchseer)
-   [`73fe248`](https://redirect.github.com/oxc-project/oxc/commit/73fe248) linter/no_case_declarations: Fix span of error for `await using` ([#&#8203;9854](https://redirect.github.com/oxc-project/oxc/issues/9854)) (overlookmotel)
-   [`2e023ab`](https://redirect.github.com/oxc-project/oxc/commit/2e023ab) linter/react: `exhaustive-deps` report longest dependency ([#&#8203;9891](https://redirect.github.com/oxc-project/oxc/issues/9891)) (overlookmotel)
-   [`a113f7e`](https://redirect.github.com/oxc-project/oxc/commit/a113f7e) parser: Error when `}` and `>` appear in `JSXText` ([#&#8203;9777](https://redirect.github.com/oxc-project/oxc/issues/9777)) (Boshen)
-   [`3d4c5f3`](https://redirect.github.com/oxc-project/oxc/commit/3d4c5f3) semantic: Correctly visit `IfStmt` `test` when building cfg ([#&#8203;9864](https://redirect.github.com/oxc-project/oxc/issues/9864)) (camc314)

##### Performance

-   [`d44ab9b`](https://redirect.github.com/oxc-project/oxc/commit/d44ab9b) linter: Return early in loop in `promise/no-nesting` ([#&#8203;9808](https://redirect.github.com/oxc-project/oxc/issues/9808)) (therewillbecode)
-   [`2b65ed2`](https://redirect.github.com/oxc-project/oxc/commit/2b65ed2) linter/no_unescaped_entities: Optimize string search and error generation ([#&#8203;9832](https://redirect.github.com/oxc-project/oxc/issues/9832)) (overlookmotel)
-   [`84fa538`](https://redirect.github.com/oxc-project/oxc/commit/84fa538) minify: Use mimalloc-safe to replace mimalloc ([#&#8203;9810](https://redirect.github.com/oxc-project/oxc/issues/9810)) (LongYinan)

##### Documentation

-   [`8bc70b3`](https://redirect.github.com/oxc-project/oxc/commit/8bc70b3) language_server: Tell about Initialization options + didChangeWatchedFiles for nested configuration ([#&#8203;9876](https://redirect.github.com/oxc-project/oxc/issues/9876)) (Alexander S.)
-   [`e408db8`](https://redirect.github.com/oxc-project/oxc/commit/e408db8) linter: Improve docs for `unicorn/no-abusive-eslint-disable` ([#&#8203;9834](https://redirect.github.com/oxc-project/oxc/issues/9834)) (shulaoda)
-   [`187fe39`](https://redirect.github.com/oxc-project/oxc/commit/187fe39) linter: Add correctness examples to `typescript-prefer-as-const` ([#&#8203;9805](https://redirect.github.com/oxc-project/oxc/issues/9805)) (therewillbecode)

##### Refactor

-   [`723fdfb`](https://redirect.github.com/oxc-project/oxc/commit/723fdfb) linter: Improve `jest-prefer-hooks-in-order` ([#&#8203;9892](https://redirect.github.com/oxc-project/oxc/issues/9892)) (therewillbecode)
-   [`544a090`](https://redirect.github.com/oxc-project/oxc/commit/544a090) linter: Remove not implemented rule `constructor-super` ([#&#8203;9877](https://redirect.github.com/oxc-project/oxc/issues/9877)) (Sysix)
-   [`8bdac56`](https://redirect.github.com/oxc-project/oxc/commit/8bdac56) linter: Improve `ast_util::is_method_call` ([#&#8203;9874](https://redirect.github.com/oxc-project/oxc/issues/9874)) (shulaoda)
-   [`a68e45c`](https://redirect.github.com/oxc-project/oxc/commit/a68e45c) linter: Improve `unicorn/no-anonymous-default-export` ([#&#8203;9847](https://redirect.github.com/oxc-project/oxc/issues/9847)) (dalaoshu)
-   [`6407200`](https://redirect.github.com/oxc-project/oxc/commit/6407200) linter: Improve `unicorn/new-for-builtins` ([#&#8203;9804](https://redirect.github.com/oxc-project/oxc/issues/9804)) (dalaoshu)
-   [`b34cf94`](https://redirect.github.com/oxc-project/oxc/commit/b34cf94) oxlint: Remove `jemallocator` ([#&#8203;9823](https://redirect.github.com/oxc-project/oxc/issues/9823)) (Boshen)

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

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

#### Announcing Oxlint Beta: https://oxc.rs/blog/2025-03-15-oxlint-beta.html

#### \[0.16.0] - 2025-03-16

-   [`225e266`](https://redirect.github.com/oxc-project/oxc/commit/225e266) linter: \[**BREAKING**] Enable `--experimental-nested-config` by default and add `--disable-nested-config` option ([#&#8203;9760](https://redirect.github.com/oxc-project/oxc/issues/9760)) (camchenry)

##### Features

-   [`27d6e9b`](https://redirect.github.com/oxc-project/oxc/commit/27d6e9b) editor: Only watch .oxlintrc.json or user supplied config paths ([#&#8203;9731](https://redirect.github.com/oxc-project/oxc/issues/9731)) (Nicholas Rayburn)
-   [`8dd6809`](https://redirect.github.com/oxc-project/oxc/commit/8dd6809) linter: Add `eslint/no-lonely-if` ([#&#8203;9660](https://redirect.github.com/oxc-project/oxc/issues/9660)) (therewillbecode)
-   [`c22276e`](https://redirect.github.com/oxc-project/oxc/commit/c22276e) oxc_linter: Sort rules by plugin and rule name when outputting resolved config as a JSON string ([#&#8203;9799](https://redirect.github.com/oxc-project/oxc/issues/9799)) (Nicholas Rayburn)

##### Bug Fixes

-   [`22f18ac`](https://redirect.github.com/oxc-project/oxc/commit/22f18ac) linter: Improve `jsx-a11y/anchor-ambiguous-text` diagnostic message ([#&#8203;9789](https://redirect.github.com/oxc-project/oxc/issues/9789)) (1zumii)
-   [`6c11740`](https://redirect.github.com/oxc-project/oxc/commit/6c11740) linter: False positive in `unicorn/catch-error-name` ([#&#8203;9763](https://redirect.github.com/oxc-project/oxc/issues/9763)) (shulaoda)

##### Documentation

-   [`ea6b6d9`](https://redirect.github.com/oxc-project/oxc/commit/ea6b6d9) linter: Improve docs for `eslint-valid-typeof` ([#&#8203;9797](https://redirect.github.com/oxc-project/oxc/issues/9797)) (therewillbecode)
-   [`2c48fba`](https://redirect.github.com/oxc-project/oxc/commit/2c48fba) linter: Fix typo in `oxc/bad-min-max-func` ([#&#8203;9791](https://redirect.github.com/oxc-project/oxc/issues/9791)) (Flo)
-   [`210b876`](https://redirect.github.com/oxc-project/oxc/commit/210b876) linter: Improve `eslint-no-async-promise-executor` ([#&#8203;9778](https://redirect.github.com/oxc-project/oxc/issues/9778)) (therewillbecode)
-   [`f8628bc`](https://redirect.github.com/oxc-project/oxc/commit/f8628bc) linter: Improve `eslint-no-class-assign` ([#&#8203;9779](https://redirect.github.com/oxc-project/oxc/issues/9779)) (therewillbecode)
-   [`faca7a8`](https://redirect.github.com/oxc-project/oxc/commit/faca7a8) linter: Improve `eslint-no-self-assign` ([#&#8203;9768](https://redirect.github.com/oxc-project/oxc/issues/9768)) (therewillbecode)

##### Refactor

-   [`227d203`](https://redirect.github.com/oxc-project/oxc/commit/227d203) linter: Improve `typescript-no-unnecessary-type-constraint` ([#&#8203;9798](https://redirect.github.com/oxc-project/oxc/issues/9798)) (therewillbecode)
-   [`05fe2cd`](https://redirect.github.com/oxc-project/oxc/commit/05fe2cd) linter: Use `is_lexical` when checking for lexical decl ([#&#8203;9781](https://redirect.github.com/oxc-project/oxc/issues/9781)) (camc314)
-   [`fcdd810`](https://redirect.github.com/oxc-project/oxc/commit/fcdd810) linter: Remove if let nesting from `unicorn-no-date-clone` ([#&#8203;9767](https://redirect.github.com/oxc-project/oxc/issues/9767)) (therewillbecode)
-   [`5a9e1b9`](https://redirect.github.com/oxc-project/oxc/commit/5a9e1b9) linter: Improve `typescript-no-misused-new` ([#&#8203;9766](https://redirect.github.com/oxc-project/oxc/issues/9766)) (therewillbecode)
-   [`9df5565`](https://redirect.github.com/oxc-project/oxc/commit/9df5565) linter: Improve `unicorn/filename-case` ([#&#8203;9762](https://redirect.github.com/oxc-project/oxc/issues/9762)) (shulaoda)
-   [`b0b1f18`](https://redirect.github.com/oxc-project/oxc/commit/b0b1f18) linter: Remove if let nesting from `nextjs-no-async-client-component` ([#&#8203;9764](https://redirect.github.com/oxc-project/oxc/issues/9764)) (therewillbecode)

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDAuMCIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-26 09:13:21 +00:00
L-Sun
6b4a5b1d71 fix(editor): missing connectors when click copy as image action in surface-ref-toolbar (#11137)
Continue #10933
2025-03-26 08:57:39 +00:00
donteatfriedrice
c5624bfd13 refactor(editor): embed iframe block surface toolbar extension (#11193) 2025-03-26 08:38:07 +00:00
donteatfriedrice
b5945c7e7d feat(editor): limit embed edgeless iframe block width and height (#11192)
[BS-2841](https://linear.app/affine-design/issue/BS-2841/iframe-embed-block-edgeless-block-component-限制-resize-时的最大最小宽高)
2025-03-26 08:38:06 +00:00
donteatfriedrice
39fa8e87cf feat(editor): add idle status for embed iframe block (#11142)
To close:
[BS-2843](https://linear.app/affine-design/issue/BS-2843/iframe-embed-block-占位态)
[BS-2844](https://linear.app/affine-design/issue/BS-2844/iframe-embed-block-create-modal-ui-调整)
[BS-2880](https://linear.app/affine-design/issue/BS-2880/spotify-选中时圆角有问题)
[BS-2881](https://linear.app/affine-design/issue/BS-2881/miro-圆角有问题-点击-see-the-board-加载之后就好了)
2025-03-26 08:38:06 +00:00
renovate
f5cc4b41cd chore: bump up all non-major dependencies (#11187)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@ai-sdk/google](https://sdk.vercel.ai/docs) ([source](https://redirect.github.com/vercel/ai)) | [`1.2.1` -> `1.2.3`](https://renovatebot.com/diffs/npm/@ai-sdk%2fgoogle/1.2.1/1.2.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@ai-sdk%2fgoogle/1.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@ai-sdk%2fgoogle/1.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@ai-sdk%2fgoogle/1.2.1/1.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@ai-sdk%2fgoogle/1.2.1/1.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@aws-sdk/client-s3](https://redirect.github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://redirect.github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.772.0` -> `3.775.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.772.0/3.775.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.775.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.775.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.772.0/3.775.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.772.0/3.775.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@capgo/inappbrowser](https://redirect.github.com/Cap-go/capacitor-inappbrowser) | [`7.6.4` -> `7.6.8`](https://renovatebot.com/diffs/npm/@capgo%2finappbrowser/7.6.4/7.6.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@capgo%2finappbrowser/7.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@capgo%2finappbrowser/7.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@capgo%2finappbrowser/7.6.4/7.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capgo%2finappbrowser/7.6.4/7.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@electron-forge/cli](https://redirect.github.com/electron/forge) | [`7.7.0` -> `7.8.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fcli/7.7.0/7.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fcli/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fcli/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fcli/7.7.0/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fcli/7.7.0/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@electron-forge/core](https://redirect.github.com/electron/forge) | [`7.7.0` -> `7.8.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fcore/7.7.0/7.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fcore/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fcore/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fcore/7.7.0/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fcore/7.7.0/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@electron-forge/core-utils](https://redirect.github.com/electron/forge) | [`7.7.0` -> `7.8.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fcore-utils/7.7.0/7.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fcore-utils/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fcore-utils/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fcore-utils/7.7.0/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fcore-utils/7.7.0/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@electron-forge/maker-deb](https://redirect.github.com/electron/forge) | [`7.7.0` -> `7.8.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fmaker-deb/7.7.0/7.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fmaker-deb/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fmaker-deb/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fmaker-deb/7.7.0/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fmaker-deb/7.7.0/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@electron-forge/maker-dmg](https://redirect.github.com/electron/forge) | [`7.7.0` -> `7.8.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fmaker-dmg/7.7.0/7.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fmaker-dmg/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fmaker-dmg/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fmaker-dmg/7.7.0/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fmaker-dmg/7.7.0/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@electron-forge/maker-flatpak](https://redirect.github.com/electron/forge) | [`7.7.0` -> `7.8.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fmaker-flatpak/7.7.0/7.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fmaker-flatpak/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fmaker-flatpak/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fmaker-flatpak/7.7.0/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fmaker-flatpak/7.7.0/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@electron-forge/maker-squirrel](https://redirect.github.com/electron/forge) | [`7.7.0` -> `7.8.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fmaker-squirrel/7.7.0/7.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fmaker-squirrel/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fmaker-squirrel/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fmaker-squirrel/7.7.0/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fmaker-squirrel/7.7.0/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@electron-forge/maker-zip](https://redirect.github.com/electron/forge) | [`7.7.0` -> `7.8.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fmaker-zip/7.7.0/7.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fmaker-zip/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fmaker-zip/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fmaker-zip/7.7.0/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fmaker-zip/7.7.0/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@electron-forge/plugin-auto-unpack-natives](https://redirect.github.com/electron/forge) | [`7.7.0` -> `7.8.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fplugin-auto-unpack-natives/7.7.0/7.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fplugin-auto-unpack-natives/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fplugin-auto-unpack-natives/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fplugin-auto-unpack-natives/7.7.0/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fplugin-auto-unpack-natives/7.7.0/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@electron-forge/shared-types](https://redirect.github.com/electron/forge) | [`7.7.0` -> `7.8.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fshared-types/7.7.0/7.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fshared-types/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fshared-types/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fshared-types/7.7.0/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fshared-types/7.7.0/7.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@lottiefiles/dotlottie-wc](https://redirect.github.com/LottieFiles/dotlottie-web) ([source](https://redirect.github.com/LottieFiles/dotlottie-web/tree/HEAD/packages/wc)) | [`^0.4.0` -> `^0.5.0`](https://renovatebot.com/diffs/npm/@lottiefiles%2fdotlottie-wc/0.4.6/0.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@lottiefiles%2fdotlottie-wc/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@lottiefiles%2fdotlottie-wc/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@lottiefiles%2fdotlottie-wc/0.4.6/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@lottiefiles%2fdotlottie-wc/0.4.6/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@sentry/electron](https://redirect.github.com/getsentry/sentry-electron) | [`6.2.0` -> `6.3.0`](https://renovatebot.com/diffs/npm/@sentry%2felectron/6.2.0/6.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2felectron/6.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2felectron/6.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2felectron/6.2.0/6.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2felectron/6.2.0/6.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://redirect.github.com/getsentry/sentry-javascript)) | [`9.8.0` -> `9.9.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/9.8.0/9.9.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/9.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/9.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/9.8.0/9.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/9.8.0/9.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://redirect.github.com/getsentry/sentry-javascript)) | [`9.8.0` -> `9.9.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/9.8.0/9.9.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/9.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/9.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/9.8.0/9.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/9.8.0/9.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@storybook/addon-essentials](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/essentials) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials)) | [`8.6.8` -> `8.6.9`](https://renovatebot.com/diffs/npm/@storybook%2faddon-essentials/8.6.8/8.6.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-essentials/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-essentials/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-essentials/8.6.8/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-essentials/8.6.8/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-interactions](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/interactions) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions)) | [`8.6.8` -> `8.6.9`](https://renovatebot.com/diffs/npm/@storybook%2faddon-interactions/8.6.8/8.6.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-interactions/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-interactions/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-interactions/8.6.8/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-interactions/8.6.8/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-links](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/links) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/links)) | [`8.6.8` -> `8.6.9`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/8.6.8/8.6.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-links/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-links/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-links/8.6.8/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-links/8.6.8/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-mdx-gfm](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/gfm) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/gfm)) | [`8.6.8` -> `8.6.9`](https://renovatebot.com/diffs/npm/@storybook%2faddon-mdx-gfm/8.6.8/8.6.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-mdx-gfm/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-mdx-gfm/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-mdx-gfm/8.6.8/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-mdx-gfm/8.6.8/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/react](https://redirect.github.com/storybookjs/storybook/tree/next/code/renderers/react) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/renderers/react)) | [`8.6.8` -> `8.6.9`](https://renovatebot.com/diffs/npm/@storybook%2freact/8.6.8/8.6.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact/8.6.8/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact/8.6.8/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/react-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/frameworks/react-vite) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite)) | [`8.6.8` -> `8.6.9`](https://renovatebot.com/diffs/npm/@storybook%2freact-vite/8.6.8/8.6.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact-vite/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact-vite/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact-vite/8.6.8/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact-vite/8.6.8/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@tailwindcss/postcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss)) | [`4.0.15` -> `4.0.16`](https://renovatebot.com/diffs/npm/@tailwindcss%2fpostcss/4.0.15/4.0.16) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2fpostcss/4.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tailwindcss%2fpostcss/4.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tailwindcss%2fpostcss/4.0.15/4.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2fpostcss/4.0.15/4.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@tailwindcss/vite](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite)) | [`4.0.15` -> `4.0.16`](https://renovatebot.com/diffs/npm/@tailwindcss%2fvite/4.0.15/4.0.16) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2fvite/4.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tailwindcss%2fvite/4.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tailwindcss%2fvite/4.0.15/4.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2fvite/4.0.15/4.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.13.12` -> `22.13.13`](https://renovatebot.com/diffs/npm/@types%2fnode/22.13.12/22.13.13) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/22.13.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/22.13.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/22.13.12/22.13.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/22.13.12/22.13.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.13.12` -> `22.13.13`](https://renovatebot.com/diffs/npm/@types%2fnode/22.13.12/22.13.13) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/22.13.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/22.13.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/22.13.12/22.13.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/22.13.12/22.13.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@types/supertest](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/supertest) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/supertest)) | [`6.0.2` -> `6.0.3`](https://renovatebot.com/diffs/npm/@types%2fsupertest/6.0.2/6.0.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fsupertest/6.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fsupertest/6.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fsupertest/6.0.2/6.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fsupertest/6.0.2/6.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [ai](https://sdk.vercel.ai/docs) ([source](https://redirect.github.com/vercel/ai)) | [`4.2.0` -> `4.2.5`](https://renovatebot.com/diffs/npm/ai/4.2.0/4.2.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/ai/4.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ai/4.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ai/4.2.0/4.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ai/4.2.0/4.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [bullmq](https://bullmq.io/) ([source](https://redirect.github.com/taskforcesh/bullmq)) | [`5.44.3` -> `5.44.4`](https://renovatebot.com/diffs/npm/bullmq/5.44.3/5.44.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/bullmq/5.44.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/bullmq/5.44.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/bullmq/5.44.3/5.44.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/bullmq/5.44.3/5.44.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [electron](https://redirect.github.com/electron/electron) | [`35.0.3` -> `35.1.0`](https://renovatebot.com/diffs/npm/electron/35.0.3/35.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/35.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/35.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/35.0.3/35.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/35.0.3/35.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [lib0](https://redirect.github.com/dmonad/lib0) | [`0.2.100` -> `0.2.101`](https://renovatebot.com/diffs/npm/lib0/0.2.100/0.2.101) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lib0/0.2.101?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lib0/0.2.101?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lib0/0.2.100/0.2.101?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lib0/0.2.100/0.2.101?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [lib0](https://redirect.github.com/dmonad/lib0) | [`0.2.100` -> `0.2.101`](https://renovatebot.com/diffs/npm/lib0/0.2.100/0.2.101) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lib0/0.2.101?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lib0/0.2.101?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lib0/0.2.100/0.2.101?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lib0/0.2.100/0.2.101?slim=true)](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.483.0` -> `^0.484.0`](https://renovatebot.com/diffs/npm/lucide-react/0.483.0/0.484.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.484.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-react/0.484.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-react/0.483.0/0.484.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.483.0/0.484.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [react-transition-state](https://szhsin.github.io/react-transition-state/) ([source](https://redirect.github.com/szhsin/react-transition-state)) | [`2.3.0` -> `2.3.1`](https://renovatebot.com/diffs/npm/react-transition-state/2.3.0/2.3.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-transition-state/2.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-transition-state/2.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-transition-state/2.3.0/2.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-transition-state/2.3.0/2.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [ses](https://redirect.github.com/Agoric/SES-shim/tree/master/packages/ses#readme) ([source](https://redirect.github.com/endojs/endo/tree/HEAD/packages/ses)) | [`1.11.0` -> `1.12.0`](https://renovatebot.com/diffs/npm/ses/1.11.0/1.12.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/ses/1.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ses/1.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ses/1.11.0/1.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ses/1.11.0/1.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [sinon](https://sinonjs.org/) ([source](https://redirect.github.com/sinonjs/sinon)) | [`19.0.4` -> `19.0.5`](https://renovatebot.com/diffs/npm/sinon/19.0.4/19.0.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/sinon/19.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/sinon/19.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/sinon/19.0.4/19.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/sinon/19.0.4/19.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [storybook](https://redirect.github.com/storybookjs/storybook/tree/next/code/lib/cli) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/lib/cli)) | [`8.6.8` -> `8.6.9`](https://renovatebot.com/diffs/npm/storybook/8.6.8/8.6.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/storybook/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/storybook/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/storybook/8.6.8/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/storybook/8.6.8/8.6.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [tailwindcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss)) | [`4.0.15` -> `4.0.16`](https://renovatebot.com/diffs/npm/tailwindcss/4.0.15/4.0.16) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/4.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tailwindcss/4.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tailwindcss/4.0.15/4.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/4.0.15/4.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [tailwindcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss)) | [`4.0.15` -> `4.0.16`](https://renovatebot.com/diffs/npm/tailwindcss/4.0.15/4.0.16) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/4.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tailwindcss/4.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tailwindcss/4.0.15/4.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/4.0.15/4.0.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [text-splitter](https://redirect.github.com/benbrandt/text-splitter) | `0.25.0` -> `0.25.1` | [![age](https://developer.mend.io/api/mc/badges/age/crate/text-splitter/0.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/text-splitter/0.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/text-splitter/0.25.0/0.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/text-splitter/0.25.0/0.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)) | [`8.27.0` -> `8.28.0`](https://renovatebot.com/diffs/npm/typescript-eslint/8.27.0/8.28.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typescript-eslint/8.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript-eslint/8.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript-eslint/8.27.0/8.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript-eslint/8.27.0/8.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [com.android.library](https://developer.android.com/studio/build) ([source](https://android.googlesource.com/platform/tools/base)) | `8.9.0` -> `8.9.1` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.library:com.android.library.gradle.plugin/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.library:com.android.library.gradle.plugin/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.library:com.android.library.gradle.plugin/8.9.0/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.library:com.android.library.gradle.plugin/8.9.0/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | plugin | patch |
| [com.android.application](https://developer.android.com/studio/build) ([source](https://android.googlesource.com/platform/tools/base)) | `8.9.0` -> `8.9.1` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.application:com.android.application.gradle.plugin/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.application:com.android.application.gradle.plugin/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.application:com.android.application.gradle.plugin/8.9.0/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.application:com.android.application.gradle.plugin/8.9.0/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | plugin | patch |
| [com.android.tools.build:gradle](https://developer.android.com/studio/build) ([source](https://android.googlesource.com/platform/tools/base)) | `8.9.0` -> `8.9.1` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.tools.build:gradle/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.tools.build:gradle/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.tools.build:gradle/8.9.0/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.tools.build:gradle/8.9.0/8.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |

---

### Release Notes

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

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

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

##### Patch Changes

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

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

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

##### Patch Changes

-   [`e3a389e`](https://redirect.github.com/vercel/ai/commit/e3a389e): feat (provider/openai): support responses api

</details>

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

### [`v3.775.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#37750-2025-03-25)

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

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

### [`v3.774.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#37740-2025-03-24)

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

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

</details>

<details>
<summary>Cap-go/capacitor-inappbrowser (@&#8203;capgo/inappbrowser)</summary>

### [`v7.6.8`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#768-2025-03-26)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.6.7...7.6.8)

### [`v7.6.7`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#767-2025-03-24)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.6.6...7.6.7)

### [`v7.6.6`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#766-2025-03-24)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.6.4...7.6.6)

</details>

<details>
<summary>electron/forge (@&#8203;electron-forge/cli)</summary>

### [`v7.8.0`](https://redirect.github.com/electron/forge/releases/tag/v7.8.0)

[Compare Source](https://redirect.github.com/electron/forge/compare/v7.7.0...v7.8.0)

##### What's Changed

##### New Features

-   feat(cli): show template sources when initializing by [@&#8203;erickzhao](https://redirect.github.com/erickzhao) in [https://github.com/electron/forge/pull/3895](https://redirect.github.com/electron/forge/pull/3895)
-   feat(cli): add `--skip-git` option by [@&#8203;erickzhao](https://redirect.github.com/erickzhao) in [https://github.com/electron/forge/pull/3860](https://redirect.github.com/electron/forge/pull/3860)

##### Bug Fixes and Improvements

-   fix(maker-wix): version with pre-release tag breaks app start by [@&#8203;ShGKme](https://redirect.github.com/ShGKme) in [https://github.com/electron/forge/pull/3855](https://redirect.github.com/electron/forge/pull/3855)
-   fix(maker-wix): inherit config types from `electron-wix-msi` by [@&#8203;erickzhao](https://redirect.github.com/erickzhao) in [https://github.com/electron/forge/pull/3858](https://redirect.github.com/electron/forge/pull/3858)
-   fix(core-utils): trim `spawnPackageManager` output by [@&#8203;rahulptl165](https://redirect.github.com/rahulptl165) in [https://github.com/electron/forge/pull/3866](https://redirect.github.com/electron/forge/pull/3866)
-   fix(start): pass app args with correct amount of `--` by [@&#8203;erickzhao](https://redirect.github.com/erickzhao) in [https://github.com/electron/forge/pull/3879](https://redirect.github.com/electron/forge/pull/3879)
-   fix(cli): correctly wire up `--skip-git` opt by [@&#8203;erickzhao](https://redirect.github.com/erickzhao) in [https://github.com/electron/forge/pull/3886](https://redirect.github.com/electron/forge/pull/3886)
-   fix(core-utils): correctly fall back package manager lockfile by [@&#8203;erickzhao](https://redirect.github.com/erickzhao) in [https://github.com/electron/forge/pull/3885](https://redirect.github.com/electron/forge/pull/3885)
-   fix(template-base): properly add `.npmrc` to template files by [@&#8203;erickzhao](https://redirect.github.com/erickzhao) in [https://github.com/electron/forge/pull/3891](https://redirect.github.com/electron/forge/pull/3891)
-   fix(cli): add descriptive error for unsupported node version by [@&#8203;knqu](https://redirect.github.com/knqu) in [https://github.com/electron/forge/pull/3894](https://redirect.github.com/electron/forge/pull/3894)

##### Other Changes

-   build(deps): bump axios from 1.7.6 to 1.8.4 by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/electron/forge/pull/3897](https://redirect.github.com/electron/forge/pull/3897)
-   test(core-utils): add test coverage for spawnPackageManager by [@&#8203;dsanders11](https://redirect.github.com/dsanders11) in [https://github.com/electron/forge/pull/3868](https://redirect.github.com/electron/forge/pull/3868)

##### New Contributors

-   [@&#8203;ShGKme](https://redirect.github.com/ShGKme) made their first contribution in [https://github.com/electron/forge/pull/3855](https://redirect.github.com/electron/forge/pull/3855)
-   [@&#8203;rahulptl165](https://redirect.github.com/rahulptl165) made their first contribution in [https://github.com/electron/forge/pull/3866](https://redirect.github.com/electron/forge/pull/3866)
-   [@&#8203;knqu](https://redirect.github.com/knqu) made their first contribution in [https://github.com/electron/forge/pull/3894](https://redirect.github.com/electron/forge/pull/3894)

**Full Changelog**: https://github.com/electron/forge/compare/v7.7.0...v7.8.0

</details>

<details>
<summary>LottieFiles/dotlottie-web (@&#8203;lottiefiles/dotlottie-wc)</summary>

### [`v0.5.0`](https://redirect.github.com/LottieFiles/dotlottie-web/compare/@lottiefiles/dotlottie-wc@0.4.6...@lottiefiles/dotlottie-wc@0.5.0)

[Compare Source](https://redirect.github.com/LottieFiles/dotlottie-web/compare/@lottiefiles/dotlottie-wc@0.4.6...@lottiefiles/dotlottie-wc@0.5.0)

</details>

<details>
<summary>getsentry/sentry-electron (@&#8203;sentry/electron)</summary>

### [`v6.3.0`](https://redirect.github.com/getsentry/sentry-electron/blob/HEAD/CHANGELOG.md#630)

[Compare Source](https://redirect.github.com/getsentry/sentry-electron/compare/6.2.0...6.3.0)

-   feat: Update JavaScript SDKs from [v9.6.0](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.6.0) to [v9.8.0](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.8.0)
-   fix: Electron app.getPath('crashDumps') API can throw ([#&#8203;1106](https://redirect.github.com/getsentry/sentry-electron/issues/1106))

</details>

<details>
<summary>getsentry/sentry-javascript (@&#8203;sentry/react)</summary>

### [`v9.9.0`](https://redirect.github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#990)

[Compare Source](https://redirect.github.com/getsentry/sentry-javascript/compare/9.8.0...9.9.0)

##### Important Changes

-   **feat(nextjs): Support `instrumentation-client.ts` ([#&#8203;15705](https://redirect.github.com/getsentry/sentry-javascript/pull/15705))**

    Next.js recently added a feature to support [client-side (browser) instrumentation via the `experimental.clientInstrumentationHook` flag and the `instrumentation-client.ts` file](https://nextjs.org/docs/app/api-reference/config/next-config-js/clientInstrumentationHook).

    To be forwards compatible, the Sentry Next.js SDK will now pick up `instrumentation-client.ts` files even on older Next.js versions and add them to your client bundles.
    It is suggested that you either rename your `sentry.client.config.ts` file to `instrumentation-client.ts`, or if you already happen to have a `instrumentation-client.ts` file move the contents of `sentry.client.config.ts` to `instrumentation-client.ts`.

-   **feat(browser): Add `previous_trace` span links ([#&#8203;15569](https://redirect.github.com/getsentry/sentry-javascript/pull/15569))**

    The `@sentry/browser` SDK and SDKs based on `@sentry/browser` now emits a link from the first root span of a newly started trace to the root span of a previously started trace. You can control this feature via an option in `browserTracingIntegration()`:

    ```js
    Sentry.init({
      dsn: 'your-dsn-here'
      integrations: [
        Sentry.browserTracingIntegration({
          // Available settings:
          // - 'in-memory' (default): Stores previous trace information in memory
          // - 'session-storage': Stores previous trace information in the browser's `sessionStorage`
          // - 'off': Disable storing and sending previous trace information
          linkPreviousTrace: 'in-memory',
        }),
      ],
    });
    ```

-   **feat(browser): Add `logger.X` methods to browser SDK ([#&#8203;15763](https://redirect.github.com/getsentry/sentry-javascript/pull/15763))**

    For Sentry's [upcoming logging product](https://redirect.github.com/getsentry/sentry/discussions/86804), the SDK now supports sending logs via dedicated

    ```js
    Sentry.init({
      dsn: 'your-dsn-here',
      _experiments: {
        enableLogs: true, // This is required to use the logging features
      },
    });

    Sentry.logger.info('This is a trace message', { userId: 123 });
    // See PR for better documentation
    ```

    Please note that the logs product is still in early access. See the link above for more information.

##### Other Changes

-   feat(browser): Attach host as part of error message to "Failed to fetch" errors ([#&#8203;15729](https://redirect.github.com/getsentry/sentry-javascript/pull/15729))
-   feat(core): Add `parseStringToURL` method ([#&#8203;15768](https://redirect.github.com/getsentry/sentry-javascript/pull/15768))
-   feat(core): Optimize `dropUndefinedKeys` ([#&#8203;15760](https://redirect.github.com/getsentry/sentry-javascript/pull/15760))
-   feat(node): Add fastify `shouldHandleError` ([#&#8203;15771](https://redirect.github.com/getsentry/sentry-javascript/pull/15771))
-   fix(nuxt): Delete no longer needed Nitro 'close' hook ([#&#8203;15790](https://redirect.github.com/getsentry/sentry-javascript/pull/15790))
-   perf(nestjs): Remove usage of `addNonEnumerableProperty` ([#&#8203;15766](https://redirect.github.com/getsentry/sentry-javascript/pull/15766))
-   ref: Avoid some usage of `dropUndefinedKeys()` ([#&#8203;15757](https://redirect.github.com/getsentry/sentry-javascript/pull/15757))
-   ref: Remove some usages of `dropUndefinedKeys()` ([#&#8203;15781](https://redirect.github.com/getsentry/sentry-javascript/pull/15781))
-   ref(nextjs): Fix Next.js vercel-edge runtime package information ([#&#8203;15789](https://redirect.github.com/getsentry/sentry-javascript/pull/15789))

</details>

<details>
<summary>storybookjs/storybook (@&#8203;storybook/addon-essentials)</summary>

### [`v8.6.9`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#869)

[Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v8.6.8...v8.6.9)

-   Next: Fix react aliases in next vite plugin - [#&#8203;30914](https://redirect.github.com/storybookjs/storybook/pull/30914), thanks [@&#8203;kasperpeulen](https://redirect.github.com/kasperpeulen)!

</details>

<details>
<summary>storybookjs/storybook (@&#8203;storybook/addon-links)</summary>

### [`v8.6.9`](https://redirect.github.com/storybookjs/storybook/compare/v8.6.8...207c2f46348303bf86950865cf7a193b5a60ab69)

[Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v8.6.8...v8.6.9)

</details>

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

### [`v4.0.16`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#4016---2025-03-25)

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

##### Added

-   Add support for literal values in `--value('…')` and `--modifier('…')` ([#&#8203;17304](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17304))

##### Fixed

-   Fix class extraction followed by `(` in Pug ([#&#8203;17320](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17320))
-   Ensure `@keyframes` for theme animations are emitted if they are referenced following a comma ([#&#8203;17352](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17352))
-   Vite: Ensure that updates to an imported CSS file are properly propagated after updating source files ([#&#8203;17347](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17347))
-   Pre process `Slim` templates embedded in Ruby files ([#&#8203;17336](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17336))
-   Error when input and output files resolve to the same file when using the CLI ([#&#8203;17311](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17311))
-   Add missing suggestions when `--spacing(--value(integer, number))` is used ([#&#8203;17308](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17308))
-   Add `::-webkit-details-marker` pseudo to `marker` variant ([#&#8203;17362](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17362))

</details>

<details>
<summary>taskforcesh/bullmq (bullmq)</summary>

### [`v5.44.4`](https://redirect.github.com/taskforcesh/bullmq/compare/v5.44.3...6e3d8b9d98bf8e7df630ddbbde50a1d21000d7ff)

[Compare Source](https://redirect.github.com/taskforcesh/bullmq/compare/v5.44.3...v5.44.4)

</details>

<details>
<summary>electron/electron (electron)</summary>

### [`v35.1.0`](https://redirect.github.com/electron/electron/releases/tag/v35.1.0): electron v35.1.0

[Compare Source](https://redirect.github.com/electron/electron/compare/v35.0.3...v35.1.0)

### Release Notes for v35.1.0

#### Features

-   Added `ffmpeg.dll` to delay load configuration. [#&#8203;46172](https://redirect.github.com/electron/electron/pull/46172) <span style="font-size:small;">(Also in [34](https://redirect.github.com/electron/electron/pull/46174), [36](https://redirect.github.com/electron/electron/pull/46173))</span>

#### Fixes

-   Fixed NODE_OPTIONS parsing for child processes on macOS. [#&#8203;46244](https://redirect.github.com/electron/electron/pull/46244) <span style="font-size:small;">(Also in [34](https://redirect.github.com/electron/electron/pull/46242), [36](https://redirect.github.com/electron/electron/pull/46243))</span>
-   Fixed a crash seen on Linux when calling `webContents.print()`. [#&#8203;46147](https://redirect.github.com/electron/electron/pull/46147) <span style="font-size:small;">(Also in [36](https://redirect.github.com/electron/electron/pull/46146))</span>
-   Fixed an issue where `system-context-menu`  incorrectly fired for all regions in frameless windows. [#&#8203;46178](https://redirect.github.com/electron/electron/pull/46178) <span style="font-size:small;">(Also in [33](https://redirect.github.com/electron/electron/pull/46025), [34](https://redirect.github.com/electron/electron/pull/46175), [36](https://redirect.github.com/electron/electron/pull/46002))</span>
-   Fixed an issue where `webContents.printToPDF()` didn't work as expected with cross-process subframes. [#&#8203;46257](https://redirect.github.com/electron/electron/pull/46257) <span style="font-size:small;">(Also in [34](https://redirect.github.com/electron/electron/pull/46258), [36](https://redirect.github.com/electron/electron/pull/46259))</span>
-   Fixed an issue where the resizing border didn't work as expected on Wayland windows. [#&#8203;46224](https://redirect.github.com/electron/electron/pull/46224) <span style="font-size:small;">(Also in [33](https://redirect.github.com/electron/electron/pull/46222), [34](https://redirect.github.com/electron/electron/pull/46223), [36](https://redirect.github.com/electron/electron/pull/46225))</span>
-   Fixed an issue with token formatting for tokens received after calling `pushNotifications.registerForAPNSNotifications()`. [#&#8203;46148](https://redirect.github.com/electron/electron/pull/46148) <span style="font-size:small;">(Also in [34](https://redirect.github.com/electron/electron/pull/46150), [36](https://redirect.github.com/electron/electron/pull/46149))</span>
-   Fixed crash on Linux when PipeWire screenshare source selection is cancelled. [#&#8203;46234](https://redirect.github.com/electron/electron/pull/46234) <span style="font-size:small;">(Also in [36](https://redirect.github.com/electron/electron/pull/46235))</span>
-   Fixed crash with out-of-bounds string read when parsing NODE_OPTIONS. [#&#8203;46248](https://redirect.github.com/electron/electron/pull/46248) <span style="font-size:small;">(Also in [34](https://redirect.github.com/electron/electron/pull/46246), [36](https://redirect.github.com/electron/electron/pull/46247))</span>

#### Other Changes

-   Improved performance of desktopCapturer.getSources when not requesting thumbnails on macOS. [#&#8203;46249](https://redirect.github.com/electron/electron/pull/46249) <span style="font-size:small;">(Also in [34](https://redirect.github.com/electron/electron/pull/46250), [36](https://redirect.github.com/electron/electron/pull/46251))</span>
-   Updated Chromium to 134.0.6998.165. [#&#8203;46196](https://redirect.github.com/electron/electron/pull/46196)

</details>

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

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

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

-   \[gentesthtml] prefer import over module exports  [`9b2eef6`](https://redirect.github.com/dmonad/lib0/commit/9b2eef6)

***

</details>

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

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

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

#### What's Changed

-   build(deps): bump tj-actions/changed-files from 41 to 46 in /.github/workflows by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/lucide-icons/lucide/pull/2920](https://redirect.github.com/lucide-icons/lucide/pull/2920)
-   fix(packages): consistent icon name class by [@&#8203;danteissaias](https://redirect.github.com/danteissaias) in [https://github.com/lucide-icons/lucide/pull/2878](https://redirect.github.com/lucide-icons/lucide/pull/2878)
-   feat(ci): add `x.com` to brand filter by [@&#8203;jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/2939](https://redirect.github.com/lucide-icons/lucide/pull/2939)
-   fix(icons): arcified candy & candy-off by [@&#8203;karsa-mistmere](https://redirect.github.com/karsa-mistmere) in [https://github.com/lucide-icons/lucide/pull/2944](https://redirect.github.com/lucide-icons/lucide/pull/2944)

#### New Contributors

-   [@&#8203;danteissaias](https://redirect.github.com/danteissaias) made their first contribution in [https://github.com/lucide-

</details>

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-26 08:21:34 +00:00
Flrande
30072da929 fix(editor): add member node before mention (#11197) 2025-03-26 08:05:02 +00:00
zzj3720
91876301bf refactor(editor): adjust min-width of context-menu (#11078)
fix: BS-2686
2025-03-26 07:48:17 +00:00
doouding
ace5d44a61 refactor: rewrite dblclick and selection logic of default-tool (#11036)
continue #10824

### Changed
- Moved double-click-to-edit behavior from the default tool to individual model views
- Introduced `onSelected` callback interface in gfx view components to allows developers to override default selection logic
2025-03-26 07:32:43 +00:00
pengx17
61c0d01da3 feat(electron): recording popups (#11016)
Added a recording popup UI for the audio recording feature in the desktop app, improving the user experience when capturing audio from applications.

### What changed?

- Created a new popup window system for displaying recording controls
- Added a dedicated recording UI with start/stop controls and status indicators
- Moved audio encoding logic from the main app to a dedicated module
- Implemented smooth animations for popup appearance/disappearance
- Updated the recording workflow to show visual feedback during recording process
- Added internationalization support for recording-related text
- Modified the recording status flow to include new states: new, recording, stopped, ready

fix AF-2340
2025-03-26 04:53:43 +00:00
JimmFly
96e83a2141 fix(core): handle invitation failure (#11195) 2025-03-26 04:31:59 +00:00
EYHN
96fa1ffe6f fix(core): fix error message missing (#11166) 2025-03-26 04:16:13 +00:00
EYHN
7fb52a97bd fix(core): fix notification setting error (#11194) 2025-03-26 04:00:39 +00:00
JimmFly
28854ef274 fix(admin): adjust admin panel style (#11065)
close AF-2353 AF-2354 AF-2355 AF-2356 AF-2358 AF-2360 AF-2362 AF-2363 AF-2364 AF-2389
Fixed some UI issues.
2025-03-26 03:16:14 +00:00
fundon
ce7e3330f4 fix(editor): description of linked doc should be displayed on multiple lines (#11162)
Closes: [BS-2902](https://linear.app/affine-design/issue/BS-2902/有个bug,这个编辑之后换行会没有-fundon)
2025-03-26 03:00:24 +00:00
JimmFly
014556b61f feat(core): impl invitation link (#11181)
feat(core): add invitee to getInviteInfoQuery

feat(core): enable invitation link

refactor(core): replace AcceptInviteService to InvitationService
2025-03-26 02:45:12 +00:00
Jeroen Heijster
64b25dfd89 fix(core): reverted malicious discord link change (#11189)
Co-authored-by: Jimmfly <yangjinfei001@gmail.com>
2025-03-26 10:13:27 +08:00
akumatus
d991149faa feat(core): add matched context documents to ai prompt (#11148)
Close [BS-2834](https://linear.app/affine-design/issue/BS-2834).

### What Changed?
- Change `reference_index` from chip order to increasing positive integer.
- Add matched context documents to ai prompt.
2025-03-26 01:55:54 +00:00
forehalo
ae552c97cf fix(server): raw user query (#11151) 2025-03-26 00:58:38 +00:00
akumatus
c019d97448 refactor(core): use unsafeCSSVar instead of var (#11188) 2025-03-25 16:49:06 +00:00
zzj3720
af18656759 fix(editor): clear the search text after selecting a member and add whitelist for image attachment (#11063)
fix: BS-2860, BS-2857
2025-03-25 16:05:06 +00:00
akumatus
aefbc11aab feat(core): add candidates popover in ai chat-panel (#11178)
Close [BS-2853](https://linear.app/affine-design/issue/BS-2853).
2025-03-25 15:50:11 +00:00
darkskygit
4bf9161e57 chore(server): ignore non-exists doc embedding (#11153) 2025-03-25 15:10:56 +00:00
akumatus
db4406f950 fix(core): no search result in ai chat-panel (#11157)
Close [BS-2466](https://linear.app/affine-design/issue/BS-2466).
2025-03-25 14:36:05 +00:00
EYHN
3df51a217d feat(core): add use guard hook (#11180)
Previously, we used `useLiveData(guardService.can$())` to get the guard result, but `guardService.can$()` will request the server to revalidate the permission when calling it, will cause additional network requests when re-render.

This pr make a new hook `useGuard` to fix this problem.

And the side effect in `can$` is moved to `revalidateCan()` to make that the subscribe method is pure
2025-03-25 14:15:29 +00:00
renovate
a10acf304b chore: bump up rustc version to v1.85.1 (#11140)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [rustc](https://redirect.github.com/rust-lang/rust) | patch | `1.85.0` -> `1.85.1` |

---

### Release Notes

<details>
<summary>rust-lang/rust (rustc)</summary>

### [`v1.85.1`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1851-2025-03-18)

[Compare Source](https://redirect.github.com/rust-lang/rust/compare/1.85.0...1.85.1)

\==========================

<a id="1.85.1"></a>

-   [Fix the doctest-merging feature of the 2024 Edition.](https://redirect.github.com/rust-lang/rust/pull/137899/)
-   [Relax some `target_feature` checks when generating docs.](https://redirect.github.com/rust-lang/rust/pull/137632/)
-   [Fix errors in `std::fs::rename` on Windows 10, version 1607.](https://redirect.github.com/rust-lang/rust/pull/137528/)
-   [Downgrade bootstrap `cc` to fix custom targets.](https://redirect.github.com/rust-lang/rust/pull/137460/)
-   [Skip submodule updates when building Rust from a source tarball.](https://redirect.github.com/rust-lang/rust/pull/137338/)

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-25 13:55:31 +00:00
EYHN
d7567edcb8 feat(infra): remove obsolete pattern (#11177)
React suspense is a deprecated mode, remove the useEnsureLiveData method
2025-03-25 13:20:17 +00:00
fengmk2
ad4e1ed7de fix(server): set default doc title to Untitled on email (#11152)
close CLOUD-181
2025-03-25 12:58:43 +00:00
Saul-Mirone
27d07a6e24 feat(editor): add command for edgeless clipboard (#11173) 2025-03-25 12:09:24 +00:00
Saul-Mirone
1871428021 feat(editor): extensionize clipboards (#11172) 2025-03-25 12:09:24 +00:00
Saul-Mirone
a4033f5596 feat(editor): clipboard config extensions (#11171) 2025-03-25 12:09:24 +00:00
Saul-Mirone
abe560082d refactor(editor): remove unused code block clipboard (#11170) 2025-03-25 12:09:23 +00:00
Saul-Mirone
e84c60f53d feat(editor): add provider for base adapter (#11169) 2025-03-25 12:09:23 +00:00
Saul-Mirone
df057b4c12 feat(editor): edgeless clipboard config extension (#11168) 2025-03-25 12:09:23 +00:00
darkskygit
1bb324eeed feat(server): update gql endpoint & workspace doc match test (#11104) 2025-03-25 10:09:22 +00:00
Flrande
bf4107feac fix(editor): fix auto focus item and improve group order (#11165) 2025-03-25 09:51:48 +00:00
Flrande
7ea43118fb fix(editor): update at menu max height (#11174) 2025-03-25 09:36:09 +00:00
Flrande
5c2bd74790 fix(editor): at menu grammar (#11167) 2025-03-25 09:20:27 +00:00
EYHN
064586fa3e fix(core): adjust notification list style (#11163) 2025-03-25 09:03:49 +00:00
fengmk2
a8c86c5ede refactor(server): rename settings to user-settings (#11161) 2025-03-25 08:47:27 +00:00
EYHN
dda3103d1b feat(nbstore): allow polling protocol (#11160) 2025-03-25 08:15:23 +00:00
fundon
583bbf3463 fix(editor): improve affine-link toolbar (#11159)
Closes: [BS-2884](https://linear.app/affine-design/issue/BS-2884/[ui]-hover-邮箱的-toolbar)
2025-03-25 07:58:41 +00:00
fengmk2
4d15c32242 feat(server): add invitation status to getInviteInfo response (#11158)
close CLOUD-182
2025-03-25 06:51:26 +00:00
fengmk2
9bad6fa12d feat(server): send review request when team member count over quota limit (#11126) 2025-03-25 06:51:26 +00:00
EYHN
36eb4991c9 feat(core): add more notification types (#11156) 2025-03-25 14:51:08 +08:00
L-Sun
a2e3d318ba refactor(editor): adjust ui of surface-ref inner toolbar (#11129)
Close [BS-2803](https://linear.app/affine-design/issue/BS-2803/inserted-frame-ui%E8%B0%83%E6%95%B4)
Close [BS-2815](https://linear.app/affine-design/issue/BS-2815/inserted-group-ui调整)

### What Changes
- Add an inner toolbar for hovered `surface-ref-block`
- Simplify viewport related codes of `surface-ref-block`
- Expose popover floating options from `affine-menu-button`

https://github.com/user-attachments/assets/916b0a22-6271-4a6f-b338-6630e0426967
2025-03-25 03:48:12 +00:00
darkskygit
314e5795eb feat(server): add full content support for doc (#11149) 2025-03-25 03:25:41 +00:00
darkskygit
bf5d8b1211 feat(server): get full content for doc embedding (#11138) 2025-03-25 01:10:43 +00:00
EYHN
c1b3e25fc7 chore(ios): optimize build workflow (#11132) 2025-03-24 14:32:45 +00:00
Saul-Mirone
80d451cc51 fix(editor): flaky e2e test (#11144) 2025-03-24 13:21:37 +00:00
fundon
d7eccd10ee chore(editor): add edgeless scribbled style feature flag (#11127)
Closes: [BS-2805](https://linear.app/affine-design/issue/BS-2805/下掉线条样式切换功能,需添加-feature-flag)
2025-03-24 12:55:00 +00:00
Saul-Mirone
f914775885 refactor(editor): improve the implementation of auto complete (#11135) 2025-03-24 12:05:57 +00:00
Flrande
7e248a1379 fix(editor): support mention user itself (#11133) 2025-03-24 10:42:50 +00:00
Brooooooklyn
3bd8c5320b build(native): weak link ScreenCaptureKit (#11134) 2025-03-24 10:23:00 +00:00
renovate
57b2dd3bb7 chore: bump up all non-major dependencies (#11125)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.13.11` -> `22.13.12`](https://renovatebot.com/diffs/npm/@types%2fnode/22.13.11/22.13.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/22.13.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/22.13.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/22.13.11/22.13.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/22.13.11/22.13.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.13.11` -> `22.13.12`](https://renovatebot.com/diffs/npm/@types%2fnode/22.13.11/22.13.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/22.13.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/22.13.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/22.13.11/22.13.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/22.13.11/22.13.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [apollographql/apollo-ios](https://redirect.github.com/apollographql/apollo-ios) | `from: "1.0.0"` -> `from: "1.18.0"` | [![age](https://developer.mend.io/api/mc/badges/age/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios.git/1.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios.git/1.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios.git/1.0.0/1.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios.git/1.0.0/1.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |  | minor |
| [vite](https://vite.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`6.2.2` -> `6.2.3`](https://renovatebot.com/diffs/npm/vite/6.2.2/6.2.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/6.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/6.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/6.2.2/6.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/6.2.2/6.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [vite](https://vite.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`6.2.2` -> `6.2.3`](https://renovatebot.com/diffs/npm/vite/6.2.2/6.2.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/6.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/6.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/6.2.2/6.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/6.2.2/6.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |

---

### Release Notes

<details>
<summary>apollographql/apollo-ios (apollographql/apollo-ios)</summary>

### [`v1.18.0`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v1180)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.17.0...1.18.0)

##### New

-   **Reduce Generated Schema Types ([#&#8203;3505](https://redirect.github.com/apollographql/apollo-ios/issues/3505)):** Adds a new codegen configuration option to reduce the number of `Object` types that are generated so that only types that are referenced in an operation document or have a `@typePolicy` will be generated. See PR [#&#8203;601](https://redirect.github.com/apollographql/apollo-ios-dev/pull/601).

##### Improvement

-   **Identifiable conformance for named fragments ([#&#8203;595](https://redirect.github.com/apollographql/apollo-ios-dev/pull/595)):** Identifiable conformance was previously implemented ([#&#8203;584](https://redirect.github.com/apollographql/apollo-ios-dev/pull/584)) for selection sets and has now been extended to include named fragments. *Thank you to [@&#8203;x-sheep](https://redirect.github.com/x-sheep) for the contribution.*

##### Fixed

-   **Accessing an unset deprecated field in input causes a crash ([#&#8203;3506](https://redirect.github.com/apollographql/apollo-ios/issues/3506)):** `InputObject` needed a `GraphQLNullable`-specific subscript to prevent nil value keys being forcefully unwrapped. See PR [#&#8203;596](https://redirect.github.com/apollographql/apollo-ios-dev/pull/596). *Thank you to [@&#8203;pixelmatrix](https://redirect.github.com/pixelmatrix) for raising the issue.*
-   **Crash in `WebSocketTransport` due to data races ([#&#8203;3512](https://redirect.github.com/apollographql/apollo-ios/issues/3512)):** This data race would occur if starting or stopping a subscription at the same time as a message received on the websocket. To prevent these data races the `subscribers` property is now an `@Atomic` property. See PR [#&#8203;599](https://redirect.github.com/apollographql/apollo-ios-dev/pull/599). *Thank you to [@&#8203;tahirmt](https://redirect.github.com/tahirmt) for the contribution.*

### [`v1.17.0`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v1170)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.16.1...1.17.0)

##### New

-   **Add suffix to schema type filenames ([#&#8203;2598](https://redirect.github.com/apollographql/apollo-ios/issues/2598)):** When fragments were named the same as schema types code generation would produce two files with the same name, but at different paths, for each respective type. This would cause a build error in Xcode. There is a new codegen configuration option (`appendSchemaTypeFilenameSuffix`) to add a suffix to schema generated filenames and prevent the build error. See PR [#&#8203;580](https://redirect.github.com/apollographql/apollo-ios-dev/pull/580).
-   **Specify caching fields with `typePolicy` directive ([#&#8203;554](https://redirect.github.com/apollographql/apollo-ios-dev/pull/554)):** The `@typePolicy` directive lets you specify an object's cache ID using key fields of the response object. See the [documentation](https://www.apollographql.com/docs/ios/caching/cache-key-resolution#the-typepolicy-directive) for full details. *Thank you to [@&#8203;x-sheep](https://redirect.github.com/x-sheep) for the contribution.*
-   **Emit `Identifiable` conformance on `SelectionSet` ([#&#8203;584](https://redirect.github.com/apollographql/apollo-ios-dev/pull/584)):** If the `@typePolicy` of a type uses a `keyField` of `id` the selection set will emit conformance to Swifts [`Identifiable` protocol](https://developer.apple.com/documentation/swift/identifiable). *Thank you to [@&#8203;x-sheep](https://redirect.github.com/x-sheep) for the contribution.*

##### Improvement

-   **Improved performance of code generation on operations with many nested fragments ([#&#8203;3434](https://redirect.github.com/apollographql/apollo-ios/issues/3434)):** When fragment field merging is disabled the fragment selection trees are no longer merged into the `EntitySelectionSet` while building operations. See PR [#&#8203;571](https://redirect.github.com/apollographql/apollo-ios-dev/pull/571).

##### Fixed

-   **Defer metadata extension ([#&#8203;3505](https://redirect.github.com/apollographql/apollo-ios/issues/3503)):** Metadata extensions for deferred selection sets were incorrectly generated inside the namespace extension for `embeddedInTarget` and `other` module types. See PR [#&#8203;581](https://redirect.github.com/apollographql/apollo-ios-dev/pull/581).
-   **`DataDict` initialization of `deferredFragments` for named fragments ([#&#8203;587](https://redirect.github.com/apollographql/apollo-ios-dev/pull/587)):** When deferred fragments are named fragments the deferred type should be the fragment generated definition name.

### [`v1.16.1`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v1161)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.16.0...1.16.1)

##### Fixed

-   **Web socket data race crash fixed ([#&#8203;578](https://redirect.github.com/apollographql/apollo-ios-dev/pull/578)):** A data race in the web socket layer was causing crashes in some rare circumstances.

-   **Added support for GraphQL over HTTP media type([#&#8203;558](https://redirect.github.com/apollographql/apollo-ios-dev/pull/558)):** Apollo iOS now supports the `content-type` header with a type of `application/graphql-response+json`.

### [`v1.16.0`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v1160)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.15.3...1.16.0)

##### New

-   **Added codegen config support for spm module type versions ([#&#8203;539](https://redirect.github.com/apollographql/apollo-ios-dev/pull/539)):** There is a [new codegen config option](https://www.apollographql.com/docs/ios/code-generation/codegen-configuration#swift-package) for supplying a version to the SPM module type to allow for pointing to specific branches or local versions of Apollo iOS.
-   **`@oneOf` input object support ([#&#8203;537](https://redirect.github.com/apollographql/apollo-ios-dev/pull/537)):** Adding support for `@OneOf` Input Objects, more info can be found in the official [RFC](https://redirect.github.com/graphql/graphql-spec/pull/825).

##### Improvements

-   **`URLRequest` cache policy default changed ([#&#8203;550](https://redirect.github.com/apollographql/apollo-ios-dev/pull/550)):** The updated default closer matches the original behaviour before the introduction of setting `URLRequest.CachePolicy`. *Thank you to [@&#8203;marksvend](https://redirect.github.com/marksvend) for raising the issue.*

##### Fixed

-   **`DataDict` initialization of `deferredFragments` property ([#&#8203;557](https://redirect.github.com/apollographql/apollo-ios-dev/pull/557)):** Generated selection set initializers were not correctly setting deferred fragment identifiers. This only affected selection sets that were instantiated with the generated selection set initializers, response-based results are unaffected.
-   **Multipart chunk content type ([#&#8203;572](https://redirect.github.com/apollographql/apollo-ios-dev/pull/572)):** Multipart response parsing would produce an error when the chunk content type contained more than one directive. *Thank you to [@&#8203;brettephillips](https://redirect.github.com/brettephillips) for raising the issue.*

### [`v1.15.3`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v1153)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.15.2...1.15.3)

##### Improvements

-   **Stable sort schema types for SchemaMetadata ([#&#8203;514](https://redirect.github.com/apollographql/apollo-ios-dev/pull/514)):** *Thank you to [@&#8203;asmundg](https://redirect.github.com/asmundg) for the contribution.*

##### Fixed

-   **Fix multipart delimter boundary parsing ([#&#8203;502](https://redirect.github.com/apollographql/apollo-ios-dev/pull/502)):** The multipart message parsing code was not splitting message chunks at the correct boundary when the dash boundary was present in the message body.
-   **Fix Websocket error broadcast for unsubscribed ID ([#&#8203;506](https://redirect.github.com/apollographql/apollo-ios-dev/pull/506))** Only broadcast an error to all subscribers if there was no id field in the message.
-   **Fix bug with `AnyHashable` coercion for non-iOS platforms ([#&#8203;517](https://redirect.github.com/apollographql/apollo-ios-dev/pull/517)):** Extended the \_AnyHashableCanBeCoerced check to include macOS, watchOS, and tvOS with their respective minimum versions. *Thank you to [@&#8203;VMLe](https://redirect.github.com/VMLe) for the fix.*
-   **Fix assigning websocket callback queue before connecting ([#&#8203;529](https://redirect.github.com/apollographql/apollo-ios-dev/pull/529)):** Fixed a race condition with the callback queue assignment during an unstable connection.
-   **Fix `GraphQLOperation` hash uniqueness ([#&#8203;530](https://redirect.github.com/apollographql/apollo-ios-dev/pull/530)):** Adding uniqueness to GraphQLOperation hashing.

### [`v1.15.2`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v1152)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.15.1...1.15.2)

##### Improvements

-   **Set `URLRequest` cache policy on GET requests ([#&#8203;476](https://redirect.github.com/apollographql/apollo-ios-dev/pull/476)):** Uses the Apollo cache policy to set a comparable cache policy on `URLRequest`. Previously there was no way to opt-out of default `URLRequest` caching behaviour.
-   **Batch writing records to the SQLite store ([#&#8203;498](https://redirect.github.com/apollographql/apollo-ios-dev/pull/498)):** Uses the `insertMany` to batch write records for a given operation vs previously performing a write for each individual record.

##### Fixed

-   **Fix `ListData` type check ([#&#8203;473](https://redirect.github.com/apollographql/apollo-ios-dev/pull/473)):** Fixed bool type check in `ListData`.
-   **Remove local cache mutation type condition setter ([#&#8203;485](https://redirect.github.com/apollographql/apollo-ios-dev/pull/485)):** Removes the setter for mutable inline fragments. The correct way to initialize with a type condition is to use `asRootEntityType`.

### [`v1.15.1`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v1151)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.15.0...1.15.1)

##### Fixed

-   **Fix decoding of deprecated `selectionSetInitializer` option `localCacheMutations` ([#&#8203;467](https://redirect.github.com/apollographql/apollo-ios-dev/pull/467)):** This option was deprecated in `1.15.0`, and the removal of the code to parse the option resulted in a validation error when the deprecated option was present in the JSON code generation config file. This is now fixed so that the option is ignored but does not cause code generation to fail.
-   **Disfavour deprecated watch function ([#&#8203;469](https://redirect.github.com/apollographql/apollo-ios-dev/pull/469)):** A deprecated version of the `watch` function matched the overload of the current version if certain parameters were omitted. This caused an incorrect deprecation warning in this situation. We've fixed this by adding `@_disfavoredOverload` to the deprecated function signature.

### [`v1.15.0`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v1150)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.14.1...1.15.0)

##### New

-   **Add ability to disable fragment field merging ([#&#8203;431](https://redirect.github.com/apollographql/apollo-ios-dev/pull/431)):** Added `ApolloCodegenConfiguration` option to allow for disabling fragment field merging on generated models. For more information on this feature see the notes [here](https://redirect.github.com/apollographql/apollo-ios/releases/tag/preview-field-merging.1).

##### Fixed

-   **Fix `legacyResponse` property not being set on `HTTPResponse` ([#&#8203;456](https://redirect.github.com/apollographql/apollo-ios-dev/pull/456)):** When the `legacyResponse` property of `HTTPResponse` was deprecated setting the value was also removed; this was incorrect as it created a hidden breaking change for interceptors that might have been using the value.
-   **Fix `ObjectData` type check ([#&#8203;459](https://redirect.github.com/apollographql/apollo-ios-dev/pull/459)):** Fixed bool type check in `ObjectData`.
-   **Fix `SelectionSetTemplate` scope comparison ([#&#8203;460](https://redirect.github.com/apollographql/apollo-ios-dev/pull/460)):** Refactored the selection set template scope comparison to account for an edge case in merged sources.
-   **Fix memory leak in DataLoader closure ([#&#8203;457](https://redirect.github.com/apollographql/apollo-ios-dev/pull/457)):** Fixed a memory leak in the DataLoader closure in `ApolloStore` caused by implicit use of `self`. *Thank you to [@&#8203;prabhuamol](https://redirect.github.com/prabhuamol) for finding and fixing this.*

##### Breaking

-   **Bug Fix: Generated Selections Sets in Inclusion Condition Scope:** This fixes a bug when using @&#8203;include/[@&#8203;skip](https://redirect.github.com/skip) where generated models that should have been generated inside of a conditional inline fragment were generated outside of the conditional scope. This may cause breaking changes for a small number of users. Those breaking changes are considered a bug fix since accessing the conditional inline fragments outside of the conditional scope could cause runtime crashes (if the conditions for their inclusion were not met). More information [here](https://redirect.github.com/apollographql/apollo-ios/releases/tag/preview-field-merging.1)

### [`v1.14.1`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v1141)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.14.0...1.14.1)

##### New

-   **Ability to set the journal mode on sqlite cache databases ([#&#8203;3399](https://redirect.github.com/apollographql/apollo-ios/issues/3399)):** There is now a function to set the journal mode of the connected sqlite database and control how the journal file is stored and processed. See PR [#&#8203;443](https://redirect.github.com/apollographql/apollo-ios-dev/pull/443). *Thanks to [@&#8203;pixelmatrix](https://redirect.github.com/pixelmatrix) for the feature request.*

##### Fixed

-   **Fix crash when `GraphQLError` is “too many validation errors”" ([#&#8203;438](https://redirect.github.com/apollographql/apollo-ios-dev/pull/438)):** When a GraphQLError from the JS parsing step is a “Too many validation errors” error, there is no `source` in the error object. Codegen will now check for it to avoid this edge case crash.
-   **Cache write interceptor should gracefully handle missing cache records ([#&#8203;439](https://redirect.github.com/apollographql/apollo-ios-dev/pull/439)):** The work to support the `@defer` directive introduced a bug where the cache write interceptor would throw if no cache records were returned during response parsing. This is incorrect as there are no cache records in the case of an `errors` only GraphQL response.
-   **Avoid using `fatalError` on `JSONEncodable` ([#&#8203;128](https://redirect.github.com/apollographql/apollo-ios-dev/pull/128)):** The fatal error logic in `JSONEncodable` was replaced with a type constraint `where` clause. *Thank you to [@&#8203;arnauddorgans](https://redirect.github.com/arnauddorgans) for the contribution.*
-   **Introspection-based schema download creates duplicate `@defer` directive definition ([#&#8203;3417](https://redirect.github.com/apollographql/apollo-ios/issues/3417)):** The codegen engine can now correctly detect pre-existing `@defer` directive definitions in introspection sources and prevent the duplicate definition. See PR [#&#8203;440](https://redirect.github.com/apollographql/apollo-ios-dev/pull/440). *Thanks to [@&#8203;loganblevins](https://redirect.github.com/loganblevins) for reporting the issue.*

### [`v1.14.0`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v1140)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.13.0...1.14.0)

##### New

-   **Experimental support for the `@defer` directive:** You can now use the `@defer` directive in your operations and code generation will generate models that support asynchronously receiving the deferred selection sets. There is a helpful property wrapper with a projected value to determine the state of the deferred selection set, and support for cache reads and writes. This feature is enabled by default but is considered [experimental](https://www.apollographql.com/docs/resources/product-launch-stages/#experimental-features). Please refer to the [documentation](https://www.apollographql.com/docs/ios/fetching/defer/) for further details.
-   **Add `debugDescription` to `SelectionSet` ([#&#8203;3374](https://redirect.github.com/apollographql/apollo-ios/issues/3374)):** This adds the ability to easily print code generated models to the Xcode debugger console. See PR [#&#8203;412](https://redirect.github.com/apollographql/apollo-ios-dev/pull/412). *Thanks to [@&#8203;raymondk-nf](https://redirect.github.com/raymondk-nf) for raising the issue.*
-   **Xcode 16 editor config files ([#&#8203;3404](https://redirect.github.com/apollographql/apollo-ios/issues/3404)):** Xcode 16 introduced support for `.editorconfig` files that represent settings like spaces vs. tabs, how many spaces per tab, etc. We've added a `.editorconfig` file with the projects preferred settings, so that the editor will use them automatically. See PR [#&#8203;419](https://redirect.github.com/apollographql/apollo-ios-dev/pull/419). *Thanks to [@&#8203;TizianoCoroneo](https://redirect.github.com/TizianoCoroneo) for raising the issue.*

##### Fixed

-   **Local cache mutation build error in Swift 6 ([#&#8203;3398](https://redirect.github.com/apollographql/apollo-ios/issues/3398)):** Mutating a property of a fragment annotated with the `@apollo_client_ios_localCacheMutation` directive caused a compile time error in Xcode 16 with Swift 6. See PR [#&#8203;417](https://redirect.github.com/apollographql/apollo-ios-dev/pull/417). *Thanks to [@&#8203;martin-muller](https://redirect.github.com/martin-muller) for raising the issue.*

### [`v1.13.0`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v1130)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.12.2...1.13.0)

##### New

-   **Added `ExistentialAny` requirement ([#&#8203;379](https://redirect.github.com/apollographql/apollo-ios-dev/pull/379)):** This adds the `-enable-upcoming-feature ExistentialAny` to all targets to ensure compatibility with the upcoming Swift feature.
-   **Schema type renaming ([#&#8203;388](https://redirect.github.com/apollographql/apollo-ios-dev/pull/388)):** This adds the feature to allow customizing the names of schema types in Swift generated code.
-   **JSONConverter helper ([#&#8203;380](https://redirect.github.com/apollographql/apollo-ios-dev/pull/380)):** This adds a new helper class for handling JSON conversion of data including the ability to convert `SelectionSet` instances to JSON.

##### Fixed

-   **ApolloSQLite build error with Xcode 16 ([#&#8203;386](https://redirect.github.com/apollographql/apollo-ios-dev/pull/386)):** This fixes a naming conflict with Foundation in iOS 18 and the SQLite library. *Thanks to [@&#8203;rastersize](https://redirect.github.com/rastersize) for the contributon.*

### [`v1.12.2`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v1122)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.12.1...1.12.2)

##### Fixed

-   **Rebuilt the CLI binary with the correct version number:** The CLI binary included in the `1.12.1` package was built with an incorrect version number causing a version mismatch when attempting to execute code generation.

### [`v1.12.1`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v1121)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.12.0...1.12.1)

##### Fixed

-   **Rebuilt the CLI binary:** The CLI binary included in the `1.12.0` package was built with inconsistent SDK versions resulting in the linker signing not working correctly.

### [`v1.12.0`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v1120)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.11.0...1.12.0)

##### New

-   **`ID` as a custom scalar ([#&#8203;3379](https://redirect.github.com/apollographql/apollo-ios/issues/3379)):** This changes the generation of the built-in GraphQL `ID` scalar to be treated as a custom scalar that can be modified by the user. See PR [#&#8203;363](https://redirect.github.com/apollographql/apollo-ios-dev/pull/363).

##### Fixed

-   **Adds visionOS deployment to ApolloTestSupport podspec ([#&#8203;364](https://redirect.github.com/apollographql/apollo-ios-dev/pull/364)):** This adds the `visionOS` deployment target to the ApolloTestSupport podspec to match the other package managers.
-   **Add `@_spi(Execution)` to executor for import in test mocks ([#&#8203;362](https://redirect.github.com/apollographql/apollo-ios-dev/pull/362)):** This replaces the use of `@testable` in ApolloTestSupport with specific `@_spi` scopes. This resolves a few issues that have been reported where the Apollo module could not be built for testing in non-debug configurations.

### [`v1.11.0`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v1110)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.10.0...1.11.0)

##### New

-   **Added `refetchOnFailedUpdates` option to `GraphQLQueryWatcher` ([#&#8203;347](https://redirect.github.com/apollographql/apollo-ios/pull/347)):** This allows you to configure the query watcher not to refetch it's query from the server when a cache read to update it's data fails.

##### Fixed

-   **Generated input objects have default `nil` value for parameters with a schema-defined default value ([#&#8203;2997](https://redirect.github.com/apollographql/apollo-ios/issues/2997)):** When the schema defines a default value for an input parameter, you can now omit that parameter when initializing the input object and the default value will be used. This corrects feature parity with the Apollo Kotlin client. See PR [#&#8203;358](https://redirect.github.com/apollographql/apollo-ios-dev/pull/358).

-   **Fix namespacing error in `InterfaceTemplate` ([#&#8203;3375](https://redirect.github.com/apollographql/apollo-ios/issues/3375)):** This fixes an issue where having a schema type named `Interface` caused compilation errors in generated code. See PR [#&#8203;359](https://redirect.github.com/apollographql/apollo-ios-dev/pull/359).

### [`v1.10.0`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v1100)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.9.3...1.10.0)

##### New

-   **Added support for visionOS ([#&#8203;3320](https://redirect.github.com/apollographql/apollo-ios/issues/3320)):** All the dependecies that Apollo iOS requires have been updated to add support for visionOS, so we can now add official support for visionOS too. See PR [#&#8203;333](https://redirect.github.com/apollographql/apollo-ios-dev/pull/333).

##### Improvement

-   **Add Sendable conformance to some basic SchemaTypes:** This adds `Sendable` conformance to the some of the generated schema types. This does not mean that all of the generated code is safe to use yet with complete concurrency checking of Swift 5.10 but it gets us closer to that goal. See PR [#&#8203;322](https://redirect.github.com/apollographql/apollo-ios-dev/pull/322). *Thanks to [@&#8203;bdbergeron](https://redirect.github.com/bdbergeron) for the contributon.*

### [`v1.9.3`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v193)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.9.2...1.9.3)

##### Fixed

-   **Fix injecting of context for UploadRequest:** Any request context passed into an upload request was not being added to the HTTP request and would not be available to the interceptor chain. See PR ([#&#8203;302](https://redirect.github.com/apollographql/apollo-ios-dev/pull/302)). *Thanks to [@&#8203;RobertDresler](https://redirect.github.com/RobertDresler) for the contribution.*
-   **Added support for SPM Package.resolved format version 3 ([#&#8203;3355](https://redirect.github.com/apollographql/apollo-ios/issues/3355)):** When using Xcode 15.3 the codegen CLI would fail the `generate` command with an error stating the Package.resolve file version is unsupported. Version 3 is now accepted as a valid file format for the codegen version checker. See PR ([#&#8203;304](https://redirect.github.com/apollographql/apollo-ios-dev/pull/304)).
-   **PrivacyInfo.xcprivacy file is invalid for Apollo and ApolloApi ([#&#8203;3359](https://redirect.github.com/apollographql/apollo-ios/issues/3359)):** We received reports that when submitting to the App Store the submission would fail with an error stating that the privacy manifests were invalid. We identified the error and updated the privacy files. See PR ([#&#8203;309](https://redirect.github.com/apollographql/apollo-ios-dev/pull/309)). *Thanks to [@&#8203;azilbershtein](https://redirect.github.com/azilbershtein) for raising the issue.*

##### Improvement

-   **Provide a direct means to observe changes in ApolloStore:** `ApolloStore` now exposes it's subscriber mechanism publicly. This means you can now observe and receive notifications about changes to the store. See PR ([#&#8203;300](https://redirect.github.com/apollographql/apollo-ios-dev/pull/300)). *Thanks to [@&#8203;jamesonwilliams](https://redirect.github.com/jamesonwilliams) for the contribution.*
-   **Remove redundant iteration in EntitySelectionTree merging algorithm:** The conditions for merging selections were revisited and we identified, and removed, a redundant iteration. This is a significant performance improvement as it removes an entire additional iteration through all the conditional scopes in the tree. See PR ([#&#8203;308](https://redirect.github.com/apollographql/apollo-ios-dev/pull/308)).

### [`v1.9.2`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v192)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.9.1...1.9.2)

##### Fixed

-   **Backwards Compatibility issues in 1.9.1:** 1.9.1 introduced a minor breaking change for some users who were creating a custom implementaiton of `ApolloClientProtocol`. Sorry about that! This patch release fixed the compatiblity. See PR [#&#8203;290](https://redirect.github.com/apollographql/apollo-ios-dev/pull/290). *Thanks to [@&#8203;michaelloo](https://redirect.github.com/michaelloo) for raising the issue.*

##### Improvement

-   **Session and task descriptions parameters added to `URLSessionClient` ([#&#8203;286](https://redirect.github.com/apollographql/apollo-ios-dev/pull/286)):** The `URLSessionClient` now allows you to set a `sessionDescription` on the session and `taskDescription` on each task. These are helpful when debugging, especially when analyzing HTTP traffic with Instruments. *Thanks to [@&#8203;hishma](https://redirect.github.com/hishma) for the contribution.*

### [`v1.9.1`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v191)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.9.0...1.9.1)

##### Fixed

-   **`SelectionSet` generated initializers don't compile with `self` parameter ([#&#8203;3330](https://redirect.github.com/apollographql/apollo-ios/issues/3330)):** Selection set initializers now use a local property name when the external property name is a Swift reserved word; see PR [#&#8203;257](https://redirect.github.com/apollographql/apollo-ios-dev/pull/257). *Thanks to [@&#8203;grantjbutler](https://redirect.github.com/grantjbutler) for raising the issue.*
-   **asXXXXXXX property on a union never returning `nil` if selection set empty ([#&#8203;3326](https://redirect.github.com/apollographql/apollo-ios/issues/3326)):** - The codegen logic to determine whether a selection set is composite or not has been improved to handle the case when `__typename` was the only field in the selection set; see PR [#&#8203;261](https://redirect.github.com/apollographql/apollo-ios-dev/pull/261). *Thanks to [@&#8203;vincentisambart](https://redirect.github.com/vincentisambart) for raising the issue.*

##### Improvement

-   **Feature/ContextIdentifier for the mutate queries ([#&#8203;281](https://redirect.github.com/apollographql/apollo-ios-dev/pull/281)):** Mutation operations can now be given a context identifier to be used later in the request. *Thanks to [@&#8203;VladimirK-ah](https://redirect.github.com/VladimirK-ah) for the contribution.*

### [`v1.9.0`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v190)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.8.0...1.9.0)

##### Improvement

-   **New import directive for operations:** GraphQL operations now support a directive to control custom module import statements in the generated file. Any operation that includes the directive `@import(module:)`, on the defintion line, with a supplied `String` as the module name will have that module used in a Swift `import` statement at the top of the operation file and any referenced fragments. *Thank you to [@&#8203;hemel](https://redirect.github.com/hemel) for the contribution ([#&#8203;236](https://redirect.github.com/apollographql/apollo-ios-dev/pull/236) / [#&#8203;245](https://redirect.github.com/apollographql/apollo-ios-dev/pull/245)).*

##### Fixed

-   **The `fragmentDefinition` remains in all generated fragments when `operationDocumentFormat` does not include `.definition` ([#&#8203;3282](https://redirect.github.com/apollographql/apollo-ios/issues/3282)):** Code generation will now only generate definitions in fragment files if the `operationDocumentFormat` config contains the `.definition` value ([#&#8203;218](https://redirect.github.com/apollographql/apollo-ios-dev/pull/218)). *Thank you to [@&#8203;jimisaacs](https://redirect.github.com/jimisaacs) for raising the issue.*
-   **Custom scalar file header comment ([#&#8203;3323](https://redirect.github.com/apollographql/apollo-ios/issues/3323)):** The header comment for generated custom scalar files was incorrectly changed to state that the output "should not be edited" but the file content could still be edited and would not be overwritten. The header comment has been changed back to state that the contents will be preserved during subsequent codegen executions. *Thank you to [@&#8203;matsudamper](https://redirect.github.com/matsudamper) for raising the issue and the contribution to fix it ([#&#8203;243](https://redirect.github.com/apollographql/apollo-ios-dev/pull/243)).*

##### Changed

-   **WebSocket disconnection errors are no longer printed to stdout ([#&#8203;3325](https://redirect.github.com/apollographql/apollo-ios/issues/3325)):** See PR ([#&#8203;253](https://redirect.github.com/apollographql/apollo-ios-dev/pull/253)) *Thank you to [@&#8203;sgade](https://redirect.github.com/sgade) for raising the issue.*

### [`v1.8.0`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v180)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.7.1...1.8.0)

##### Fixed

-   **Duplicate `@defer` directive error ([#&#8203;235](https://redirect.github.com/apollographql/apollo-ios-dev/pull/235)):** When executing codegen against Apollo Router and a schema that supports the `@defer` directive it would fail with an error stating the directive is duplicated.

##### Improvement

-   **Added \`InputObject\`\` casing strategy ([#&#8203;137](https://redirect.github.com/apollographql/apollo-ios-dev/pull/137)):** We've added a new casing strategy option for InputObjects which mimics the behaviour of the enum case conversion strategy. *Thank you to [@&#8203;alexifrim](https://redirect.github.com/alexifrim) for raising this in issue [#&#8203;3257](https://redirect.github.com/apollographql/apollo-ios/issues/3257).*
-   **Added `GraphQLResult` conversion extension ([#&#8203;139](https://redirect.github.com/apollographql/apollo-ios-dev/pull/139)):** `GraphQLResult` response data can now be easily converted into a JSON dictionary. This is useful for taking server response data and serializing it into a JSON dictionary which can then be used in a test suite.
-   **Codegen performance improvements ([#&#8203;152](https://redirect.github.com/apollographql/apollo-ios-dev/pull/152)):** There has been a bunch of refactoring work to prepare for future codegen features but we've also managed to squeeze out some performance improvements.

### [`v1.7.1`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v171)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.7.0...1.7.1)

##### Fixed

-   **Fixed inconsistent ordering of fragments in generated operation definitions  ([#&#8203;130](https://redirect.github.com/apollographql/apollo-ios-dev/pull/130)):** In order to make the ordering of fragments consistent, they are now alphabetized. This is a change to the data that gets sent over the wire when making a network request for an operation with fragments. **[Persisted Queries](https://www.apollographql.com/docs/ios/fetching/persisted-queries) users should re-register their queries when upgrading to this version.** *Thank you to [@&#8203;scottasoutherland](https://redirect.github.com/scottasoutherland) for reporting the issue.*

##### Improvement

-   **Add initializer for `SelectionSet` that takes a `[String: Any]` JSON object ([#&#8203;102](https://redirect.github.com/apollographql/apollo-ios-dev/pull/102)):** *Thank you to [@&#8203;Cookiezby](https://redirect.github.com/Cookiezby) for the contribution.*

### [`v1.7.0`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v170)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.6.1...1.7.0)

**`ApolloCodegenLib` Now Uses Swift Concurrency**
To improve the performance of the code generation, the `ApolloCodegenLib` now uses `async/await`. Code generation is now parallelized and should complete much faster for users with a large number of GraphQL files.
This means that the entry point function, `ApolloCodegen.build(with configuration:)` is now an `async` function. For users using the `ApolloCodegenLib` directly, you will need to make your call sites into this function use `async/await`. In most cases, this requires minimal code changes. Please see the [1.7.0 migration guide](https://www.apollographql.com/docs/ios/migrations/1.7) for information on how to upgrade.

See PR [#&#8203;57](https://redirect.github.com/apollographql/apollo-ios-dev/pull/57).

##### Fixed

-   **Fixed a bug with ApolloAPI.Object clashing with custom objects name Object ([#&#8203;94](https://redirect.github.com/apollographql/apollo-ios-dev/pull/94)):** *Thank you to [215eight](https://redirect.github.com/215eight) for reporting the issue.*

### [`v1.6.1`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v161)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.6.0...1.6.1)

##### Fixed

-   **Fix bug with AnyHashable coercion ([#&#8203;68](https://redirect.github.com/apollographql/apollo-ios-dev/pull/68)):** This is an additional fix for the crashes on iOS 14.4.1.

### [`v1.6.0`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v160)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.5.2...1.6.0)

The Apollo iOS ecosystem is changing in the 1.6.0 release in order to provide a better development experience for users. For most users nothing will change, while some users will see a minor difference. The biggest change is that the `ApolloCodegenLib` is now in a separate repo/package that will need to be included as its own dependency from [apollo-ios-codegen](https://redirect.github.com/apollographql/apollo-ios-codegen) if you are doing your code generation through Swift. If you are using the codegen CLI then no changes are necessary.

For a detailed breakdown of the changes please see this [GitHub Issue](https://redirect.github.com/apollographql/apollo-ios/issues/3240).

##### Fixed

-   **Fixed crashes in iOS 14.4 and below ([#&#8203;61](https://redirect.github.com/apollographql/apollo-ios-dev/pull/61)):** *Thank you to [matijakregarGH](https://redirect.github.com/matijakregarGH) for reporting the issue.*

### [`v1.5.2`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v152)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.5.1...1.5.2)

The purpose of this release is to provide a deprecation message to users of `ApolloCodegenLib` who are scripting their code generation in advance of an upcoming change to our libraries and repo structure. Beginning with the upcoming 1.6.0 release the code generation libraries will be their own SPM package in their own repo which will require you to add a new dependency to you project in order for your code generation scripting to compile. More information can be found in our [announcement](https://redirect.github.com/apollographql/apollo-ios/issues/3240) of this change.

**If you would like to avoid this deprecation warning in your builds feel free to stay on 1.5.1 or earlier, this warning will be gone in the 1.6.0 release**

PR containing deprecation warning for reference: [#&#8203;3243](https://redirect.github.com/apollographql/apollo-ios/pull/3243).

### [`v1.5.1`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v151)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.5.0...1.5.1)

##### Improvement

-   **Added `OutputOptions` property to codegen for marking generated classes as `final` ([#&#8203;3189](https://redirect.github.com/apollographql/apollo-ios/pull/3189)):** *Thank you to [@&#8203;Mordil](https://redirect.github.com/Mordil) for the contribution.*

##### Fixed

-   **Codegen `itemsToGenerate` option for `.all` not generating an operation manifest ([#&#8203;3215](https://redirect.github.com/apollographql/apollo-ios/pull/3215)):** *Thank you to [@&#8203;TizianoCoroneo](https://redirect.github.com/TizianoCoroneo) for finding and fixing the issue.*
-   **Codegen operation manifest inadvertantly being generated twice ([#&#8203;3225](https://redirect.github.com/apollographql/apollo-ios/pull/3225)):** *Thank you to [@&#8203;jimisaacs](https://redirect.github.com/jimisaacs) for finding and fixing the issue.*

### [`v1.5.0`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v150)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.4.0...1.5.0)

##### New

-   **Added the ability pass a custom `RequestContext` to networking APIs ([#&#8203;3198](https://redirect.github.com/apollographql/apollo-ios/pull/3198)):** *Thank you to [@&#8203;danieltiger](https://redirect.github.com/danieltiger) for the contribution.*
    -   **Minor Breaking Change:** The `requestContext` parameter is optional with a default value of `nil`. This means there are no breaking changes to the APIs for making networking calls. However, the `requestContext` parameter was also added to the `ApolloClientProtocol`. For custom implementations of this protocol (usually used for unit testing), you will need to add the `requestContext` parameter to your function signatures.

##### Fixed

-   **Null values are no longer stripped from the underlying data used by generated `SelectionSet` models ([apollo-ios-dev/#&#8203;25](https://redirect.github.com/apollographql/apollo-ios-dev/pull/25)):**
    -   When these models were manually inserted into the cache, the null fields, which were stripped, were not written to the cache. This caused unintended cache misses when fetching those values back out of the cache.
    -   This fixes [#&#8203;3092](https://redirect.github.com/apollographql/apollo-ios/issues/3092). *Thank you to [@&#8203;
        aleksanderlorenc-lw](https://redirect.github.com/aleksanderlorenc-lw) for raising this issue.*

### [`v1.4.0`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v140)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.3.3...1.4.0)

##### New

-   **Added the ability to set a casing strategy for field names in code generation ([#&#8203;2738](https://redirect.github.com/apollographql/apollo-ios/issues/2738)):** See PR ([#&#8203;3171](https://redirect.github.com/apollographql/apollo-ios/pull/3171)). *Thank you to [@&#8203;Spatel91111](https://redirect.github.com/Spatel91111) for the feature request.*

##### Improvement

-   **Updated the way persisted queries are configured for code and manifest generation:** See PR ([#&#8203;3175](https://redirect.github.com/apollographql/apollo-ios/pull/3175))
-   **Updated docs for `other` schema module type to provide more clarity ([#&#8203;3164](https://redirect.github.com/apollographql/apollo-ios/issues/3164)):** See PR ([#&#8203;3170](https://redirect.github.com/apollographql/apollo-ios/pull/3170)) *Thank you to [@&#8203;Mordil](https://redirect.github.com/Mordil) for suggesting this update.*

### [`v1.3.3`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v133)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.3.2...1.3.3)

##### Fixed

-   **Fix two issues with generated models:** See PR ([#&#8203;3168](https://redirect.github.com/apollographql/apollo-ios/pull/3168)). *Thank you to [@&#8203;iAmericanBoy](https://redirect.github.com/iAmericanBoy) for finding these issues and providing a reproduction case.*
-   **Fix computation of operation identifiers for persisted queries:** See PR ([#&#8203;3163](https://redirect.github.com/apollographql/apollo-ios/pull/3163)). *Thank you to [@&#8203;WolframPRO](https://redirect.github.com/WolframPRO) for finding these issues.*

### [`v1.3.2`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v132)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.3.1...1.3.2)

##### Improved

-   **Throw an error when an invalid key is present in the codegen configuration JSON ([#&#8203;2942](https://redirect.github.com/apollographql/apollo-ios/issues/2942)):** See PR ([#&#8203;3125](https://redirect.github.com/apollographql/apollo-ios/pull/3125)) *Thank you to [@&#8203;Iron-Ham](https://redirect.github.com/Iron-Ham) for the contribution.*
-   **Cleanup unused imports and declarations. ([#&#8203;3099](https://redirect.github.com/apollographql/apollo-ios/issues/3099)):** See PR ([#&#8203;3100](https://redirect.github.com/apollographql/apollo-ios/pull/3100)) *Thank you to [@&#8203;Iron-Ham](https://redirect.github.com/Iron-Ham) for raising the issue and contributing the fix.*
-   **Improvement to response code error API ([#&#8203;2426](https://redirect.github.com/apollographql/apollo-ios/issues/2426)):** See PR ([#&#8203;3123](https://redirect.github.com/apollographql/apollo-ios/pull/3123)). *Thank you to [@&#8203;dfperry5](https://redirect.github.com/dfperry5) for the contribution.*
-   **Improved file path support for operation manifest generation:** See PR ([#&#8203;3128](https://redirect.github.com/apollographql/apollo-ios/pull/3128))

##### Fixed

-   **Fix two issues in test mock generation:** See PR ([#&#8203;3120](https://redirect.github.com/apollographql/apollo-ios/pull/3120)). *Thank you to [@&#8203;TizianoCoroneo](https://redirect.github.com/TizianoCoroneo) for finding this issue and contributing the fix.*
-   **Fixed precondition failure when surpassing graphql-js max error count ([#&#8203;3126](https://redirect.github.com/apollographql/apollo-ios/issues/3126)):** See PR ([#&#8203;3132](https://redirect.github.com/apollographql/apollo-ios/pull/3132)).

##### Deprecated

-   **Deprecated `queryStringLiteralFormat` in `ApolloCodegenConfiguration`:** Query string literals will now always be generated as single line strings. See PR ([#&#8203;3129](https://redirect.github.com/apollographql/apollo-ios/pull/3129)).

### [`v1.3.1`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v131)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.3.0...1.3.1)

##### Fixed

-   **Fix crashes in test mocks when setting an array of union types ([#&#8203;3023](https://redirect.github.com/apollographql/apollo-ios/pull/3023)):** See PR ([#&#8203;3089](https://redirect.github.com/apollographql/apollo-ios/pull/3089)). *Thank you to [@&#8203;jabeattie](https://redirect.github.com/jabeattie) & [@&#8203;scottasoutherland](https://redirect.github.com/scottasoutherland) for raising the issue.*

##### Deprecated

-   **Deprecated `APQConfig` & `operationIdentifiersPath` in `ApolloCodegenConfiguration`:** These have been replaced with `OperationDocumentFormat` and `OperationManifestFileOutput` respectively. Please see the documentation for [`ApolloCodegenConfiguration`](https://www.apollographql.com/docs/ios/code-generation/codegen-configuration) for more information.

### [`v1.3.0`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v130)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.2.2...1.3.0)

Though `1.3.0` is a minor version bump, some critical issues were addressed in this version that requires a small breaking change during the upgrade.  While we strive to make the upgrade path for minor versions seamless, these issues could not be reasonably resolved without requiring this migration.

For a detailed explanation of the breaking changes and a guide on how to migrate to `1.3.0`, see our [migration guide](https://www.apollographql.com/docs/ios/migrations/1.3).

##### Breaking

-   **Using reserved keyword `Type` as in selection fields does not compile ([#&#8203;3006](https://redirect.github.com/apollographql/apollo-ios/issues/3006)):** See PR [#&#8203;3058](https://redirect.github.com/apollographql/apollo-ios/pull/3058). *Thank you to [@&#8203;Nielssg](https://redirect.github.com/Nielssg) for raising the issue.*
-   **Memory leak from `InterceptorRequestChain` when ending the chain with `returnValueAsync` ([#&#8203;3057](https://redirect.github.com/apollographql/apollo-ios/issues/3057)):** See PR [#&#8203;3070](https://redirect.github.com/apollographql/apollo-ios/pull/3070). *Thank you to [@&#8203;marksvend](https://redirect.github.com/marksvend) for raising the issue.*

### [`v1.2.2`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v122)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.2.1...1.2.2)

##### Added

-   **Support SOCKS proxies for debugging websocket based subscriptions([#&#8203;2788](https://redirect.github.com/apollographql/apollo-ios/issues/2788)):** *Thank you to [@&#8203;tahirmit](https://redirect.github.com/tahirmt) for the contribution.*

##### Fixed

-   **Fix conversion of generated models into nested type cases ([#&#8203;2989](https://redirect.github.com/apollographql/apollo-ios/issues/2989) & [#&#8203;2980](https://redirect.github.com/apollographql/apollo-ios/issues/2980)):** In some cases, the generated models were missing types when calculating which fragments were fulfilled for a selection set. This was causing type case conversion to return `nil` incorrectly. See PR [#&#8203;3067](https://redirect.github.com/apollographql/apollo-ios/pull/3067). *Thank you to [@&#8203;tgyhlsb](https://redirect.github.com/tgyhlsb) and [@&#8203;dafurman](https://redirect.github.com/dafurman) for raising these issues.*
-   **Fix crashes in code generation when merging fragments at definition root ([#&#8203;3071](https://redirect.github.com/apollographql/apollo-ios/issues/3071)):** When fragments with type conditions were defined on the root of an operation or named fragment, the code generation engine was crashing. See PR [#&#8203;3073](https://redirect.github.com/apollographql/apollo-ios/pull/3073). *Thank you to [@&#8203;tahirmit](https://redirect.github.com/tahirmt) for raising and helping us reproduce this issue.*
-   **Fix parsing of input objects as default values for input params ([#&#8203;2978](https://redirect.github.com/apollographql/apollo-ios/issues/2978)):** The codegen engine will no longer crash in this situation. *Thank you to [@&#8203;ecunha-ta](https://redirect.github.com/ecunha-ta) for raising the issue.*

### [`v1.2.1`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v121)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.2.0...1.2.1)

##### Improved

-   **Added new validation to alert users to type naming conflict when running code generation([#&#8203;2405](https://redirect.github.com/apollographql/apollo-ios/issues/2405)):** See PR [#&#8203;3041](https://redirect.github.com/apollographql/apollo-ios/pull/3041).

##### Fixed

-   **Int values failing to cast to Scalar Type during cache key resolution ([#&#8203;3034](https://redirect.github.com/apollographql/apollo-ios/issues/3034)):** See PR [#&#8203;3037](https://redirect.github.com/apollographql/apollo-ios/pull/3037). *Thank you to [@&#8203;asbhat](https://redirect.github.com/asbhat) for raising the issue.*
-   **Fix malformed RootEntityType on generated fragment with `@include` condition. ([#&#8203;2962](https://redirect.github.com/apollographql/apollo-ios/issues/2962)):** See PR [#&#8203;3045](https://redirect.github.com/apollographql/apollo-ios/pull/3045). *Thank you to [@&#8203;alexisbronchart](https://redirect.github.com/alexisbronchart) for raising the issue.*

### [`v1.2.0`](https://redirect.github.com/apollographql/apollo-ios/releases/tag/1.2.0)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.1.3...1.2.0)

Though 1.2 is a minor version bump, a critical problem was addressed in this version that requires a small breaking change during the upgrade.  While we strive to make the upgrade path for minor versions seamless, this issue could not be reasonably resolved without requiring this migration.

**For most users, this migration will only require a single change to your `SchemaConfiguration.swift` file.**

For a detailed explanation of the breaking changes and a guide on how to migrate to v1.2, see our [migration guide](https://www.apollographql.com/docs/ios/migrations/1.2).

##### Breaking

-   **Cache Key Configuration API Changes ([#&#8203;2990](https://redirect.github.com/apollographql/apollo-ios/pull/2990)):** The API for configuring custom cache keys has had a minor change in this version. The signature of the `cacheKeyInfo(for:object:)` function, defined in your generated SchemaConfiguration.swift file, has been modified. For more information, see our [migration guide](https://www.apollographql.com/docs/ios/migrations/1.2).

##### Improved

-   **Improved performance of GraphQL execution ([#&#8203;2990](https://redirect.github.com/apollographql/apollo-ios/pull/2990)):** Improvements to the `GraphQLExecutor` resulted in a ~15-20% reduction in execution time for parsing and mapping network response or cache data onto generated models.
-   **Improved performance of generated model initialization and type conversions ([#&#8203;2990](https://redirect.github.com/apollographql/apollo-ios/pull/2990)):** The `DataDict` used to store the data for generated models has been updated to use copy-on-write value semantics. This resulted in a ~70-80% reduction in the execution time of initialization and type case conversions in the generated models.

##### Fixed

-   **Pruning generated files for `.relative(subpath:)` operations ([#&#8203;2969](https://redirect.github.com/apollographql/apollo-ios/issues/2969)):** See PR [#&#8203;2994](https://redirect.github.com/apollographql/apollo-ios/pull/2994). *Thank you to [@&#8203;jimisaacs](https://redirect.github.com/jimisaacs) for raising the issue.*
-   **InputObjects generated with incorrect getter/setter key ([#&#8203;2858](https://redirect.github.com/apollographql/apollo-ios/issues/2858)):** See PR [#&#8203;2996](https://redirect.github.com/apollographql/apollo-ios/pull/2996). *Thank you to [@&#8203;Austinpayne](https://redirect.github.com/Austinpayne) for raising the issue.*
-   **Generates conflicting types for fields of singular and plural names ([#&#8203;2850](https://redirect.github.com/apollographql/apollo-ios/issues/2850)):** See PR [#&#8203;3009](https://redirect.github.com/apollographql/apollo-ios/pull/3009). *Thank you to [@&#8203;sgade](https://redirect.github.com/sgade) for raising the issue.*
-   **Equality operator shows incorrect values based on value of `__fulfilled` ([#&#8203;2944](https://redirect.github.com/apollographql/apollo-ios/issues/2944)):** See PR [#&#8203;2990](https://redirect.github.com/apollographql/apollo-ios/pull/2990). *Thank you to [@&#8203;scottasoutherland](https://redirect.github.com/scottasoutherland) for raising the issue.*

##### New

-   **Add option to generate objects with `internal` access modifier ([#&#8203;2630](https://redirect.github.com/apollographql/apollo-ios/issues/2630)):** See PR [#&#8203;2917](https://redirect.github.com/apollographql/apollo-ios/pull/2917). *Thank you to [@&#8203;simonbilskyrollins](https://redirect.github.com/simonbilskyrollins) for the feature request.*

### [`v1.1.3`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v113)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.1.2...1.1.3)

##### Fixed

-   **`@dynamicMember` conflicting field name ([#&#8203;2950](https://redirect

</details>

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-24 10:06:50 +00:00
Lakr
447b23f25f feat(ios): intelligent Switch Markdown View & Ephemeral Action View (#9823)
Co-authored-by: EYHN <cneyhn@gmail.com>
2025-03-24 09:47:42 +00:00
Saul-Mirone
4d3eee3bad feat(editor): brush gfx package (#11131) 2025-03-24 09:28:46 +00:00
darkskygit
f0591bff11 chore(server): revert math prompt (#11130) 2025-03-24 09:11:17 +00:00
forehalo
15173db62c fix(server): add missing disabled query field (#11123) 2025-03-24 08:04:48 +00:00
renovate
883d5e6f33 chore: bump up all non-major dependencies (#11121)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@capgo/inappbrowser](https://redirect.github.com/Cap-go/capacitor-inappbrowser) | [`7.6.0` -> `7.6.4`](https://renovatebot.com/diffs/npm/@capgo%2finappbrowser/7.6.0/7.6.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@capgo%2finappbrowser/7.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@capgo%2finappbrowser/7.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@capgo%2finappbrowser/7.6.0/7.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capgo%2finappbrowser/7.6.0/7.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@swc/core](https://swc.rs) ([source](https://redirect.github.com/swc-project/swc)) | [`1.11.11` -> `1.11.13`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.11.11/1.11.13) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.11.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fcore/1.11.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fcore/1.11.11/1.11.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.11.11/1.11.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [bullmq](https://bullmq.io/) ([source](https://redirect.github.com/taskforcesh/bullmq)) | [`5.44.2` -> `5.44.3`](https://renovatebot.com/diffs/npm/bullmq/5.44.2/5.44.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/bullmq/5.44.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/bullmq/5.44.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/bullmq/5.44.2/5.44.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/bullmq/5.44.2/5.44.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [lib0](https://redirect.github.com/dmonad/lib0) | [`0.2.99` -> `0.2.100`](https://renovatebot.com/diffs/npm/lib0/0.2.99/0.2.100) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lib0/0.2.100?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lib0/0.2.100?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lib0/0.2.99/0.2.100?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lib0/0.2.99/0.2.100?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [typedoc-plugin-markdown](https://typedoc-plugin-markdown.org) ([source](https://redirect.github.com/typedoc2md/typedoc-plugin-markdown/tree/HEAD/packages/typedoc-plugin-markdown)) | [`4.5.2` -> `4.6.0`](https://renovatebot.com/diffs/npm/typedoc-plugin-markdown/4.5.2/4.6.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typedoc-plugin-markdown/4.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typedoc-plugin-markdown/4.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typedoc-plugin-markdown/4.5.2/4.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typedoc-plugin-markdown/4.5.2/4.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>Cap-go/capacitor-inappbrowser (@&#8203;capgo/inappbrowser)</summary>

### [`v7.6.4`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#764-2025-03-24)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.6.3...7.6.4)

### [`v7.6.3`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#763-2025-03-23)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.6.2...7.6.3)

### [`v7.6.2`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#762-2025-03-23)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.6.1...7.6.2)

### [`v7.6.1`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#761-2025-03-23)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.6.0...7.6.1)

</details>

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

### [`v1.11.13`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#11113---2025-03-24)

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

##### Features

-   **(es/minifier)** Merge alt's cons with cons ([#&#8203;10256](https://redirect.github.com/swc-project/swc/issues/10256)) ([589bcd7](589bcd70c4))

-   **(swc_core)** Expose features of `swc_parallel` ([#&#8203;10258](https://redirect.github.com/swc-project/swc/issues/10258)) ([042f19f](042f19ff66))

##### Performance

-   **(es/minifier)** Merge `expr_simplifier` into pure optimizer ([#&#8203;10202](https://redirect.github.com/swc-project/swc/issues/10202)) ([9c9b0ba](9c9b0baaac))

### [`v1.11.12`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#11112---2025-03-23)

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

##### Bug Fixes

-   **(es/minifier)** Make `inline_globals` noop by default ([#&#8203;10231](https://redirect.github.com/swc-project/swc/issues/10231)) ([b192dc8](b192dc82e6))

-   **(es/minifier)** Fix access to `GLOBALS` in char freq compute ([#&#8203;10239](https://redirect.github.com/swc-project/swc/issues/10239)) ([6286663](6286663868))

-   **(es/parser)** Fix span of wrong `await` tokens ([#&#8203;10252](https://redirect.github.com/swc-project/swc/issues/10252)) ([5c28dc3](5c28dc3964))

-   **(es/types)** Fix broken types ([#&#8203;10224](https://redirect.github.com/swc-project/swc/issues/10224)) ([540bdf8](540bdf868d))

##### Documentation

-   **(es)** Improve documentation ([#&#8203;10247](https://redirect.github.com/swc-project/swc/issues/10247)) ([549e38d](549e38db9e))

##### Features

-   **(es/fast-lexer)** Enhance identifier handling with Unicode support ([#&#8203;10226](https://redirect.github.com/swc-project/swc/issues/10226)) ([482b63a](482b63a905))

-   **(es/minifier)** Invoke IIFE into block ([#&#8203;10220](https://redirect.github.com/swc-project/swc/issues/10220)) ([c9a6c23](c9a6c23787))

-   **(es/minifier)** Remove needless blocks ([#&#8203;10234](https://redirect.github.com/swc-project/swc/issues/10234)) ([0817970](08179702bf))

-   **(swc_parallel)** Introduce `rayon` mode ([#&#8203;10237](https://redirect.github.com/swc-project/swc/issues/10237)) ([3c2213c](3c2213c829))

-   **(ts/fast-strip)** Add start/end span information ([#&#8203;10251](https://redirect.github.com/swc-project/swc/issues/10251)) ([ab39a62](ab39a62528))

-   **(ts/fast-strip)** Improve error message snippet ([#&#8203;10253](https://redirect.github.com/swc-project/swc/issues/10253)) ([f4f426c](f4f426c9c9))

-   **(ts/fast-strip)** Remove line numbers ([#&#8203;10254](https://redirect.github.com/swc-project/swc/issues/10254)) ([40e216d](40e216db82))

##### Performance

-   **(es/minifier)** Merge `dead_branch_remover` into pure optimizer ([#&#8203;10201](https://redirect.github.com/swc-project/swc/issues/10201)) ([6841523](6841523977))

</details>

<details>
<summary>taskforcesh/bullmq (bullmq)</summary>

### [`v5.44.3`](https://redirect.github.com/taskforcesh/bullmq/releases/tag/v5.44.3)

[Compare Source](https://redirect.github.com/taskforcesh/bullmq/compare/v5.44.2...v5.44.3)

##### Bug Fixes

-   **flow:** only validate pending dependencies when moving to completed ([#&#8203;3164](https://redirect.github.com/taskforcesh/bullmq/issues/3164)) ([d3c397f](d3c397fa3f))

</details>

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

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

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

-   \[testing] properly compare objects that don't have a constructor  [`a2433fc`](https://redirect.github.com/dmonad/lib0/commit/a2433fc)
-   \[sha256] docs  [`5ee9bf2`](https://redirect.github.com/dmonad/lib0/commit/5ee9bf2)
-   Merge pull request [#&#8203;96](https://redirect.github.com/dmonad/lib0/issues/96) from jthemphill/fix-condititons-spelling  [`08fe7d5`](https://redirect.github.com/dmonad/lib0/commit/08fe7d5)
-   Fix references to nonexistent files in package.json  [`2cb51c4`](https://redirect.github.com/dmonad/lib0/commit/2cb51c4)

***

</details>

<details>
<summary>typedoc2md/typedoc-plugin-markdown (typedoc-plugin-markdown)</summary>

### [`v4.6.0`](https://redirect.github.com/typedoc2md/typedoc-plugin-markdown/blob/HEAD/packages/typedoc-plugin-markdown/CHANGELOG.md#460-2025-03-23)

[Compare Source](https://redirect.github.com/typedoc2md/typedoc-plugin-markdown/compare/typedoc-plugin-markdown@4.5.2...typedoc-plugin-markdown@4.6.0)

This release continues the effort to further align to TypeDoc’s default theme, with improvements that make the plugin more consistent and predictable.

##### Architectural Changes

-   Introduced support for TypeDoc core routers. This allows output files to be generated in the same structure as the default HTML theme, while still using the plugin’s Markdown theme.
-   Exported routers to the public API, enabling customization by other plugins.

##### Structural Changes

-   Package readme's (when "entryPointStrategy" is "packages") are now merged with the package index page producing a single entrypoint for packages with an associated readme.
    This aligns with the default theme and improves navigation.
-   To support core routers, a "Hierarchy Summary" page has been introduced to all routers. This feature is turned off by default but can be enabled by setting "includeHierarchySummary" to "true".
-   When "includeHierarchySummary" is "true", symbols with an available hierarchy now include an associated "Hierarchy" Markdown heading with a "View Summary" link as per the default theme.
-   Class constructor headings now read "Constructor". This aligns to the TypeDoc internal reflection name and fixes issues with internal anchoring not resolving correctly.

##### Minor Changes

-   Implemented support for consuming TypeDoc core routers.
-   Exported routers to public api.
-   Implemented a hierarchy summary page as per default theme.
-   Updated "Constructor" titles of classes to fix internal anchor issues.

##### Patch Changes

-   Fix incompatibility when used with "outputs" ([#&#8203;788](https://redirect.github.com/typedoc2md/typedoc-plugin-markdown/issues/788)).
-   Utilize "anchorPrefix" option to ensure unique anchors linking if required ([#&#8203;764](https://redirect.github.com/typedoc2md/typedoc-plugin-markdown/issues/764)).

</details>

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-24 07:19:44 +00:00
Saul-Mirone
ef1ed383cb feat(editor): command for ungroup and group (#11116) 2025-03-24 15:34:38 +09:00
fundon
63762b75a1 feat(core): save recent open mode of internal links (#11086)
Closes: [BS-2865](https://linear.app/affine-design/issue/BS-2865/internal-links-保存用户最近的打开方式)

Added `openDocMode` in settings.

https://github.com/user-attachments/assets/a452da73-83e4-4ef5-9b57-58291fc22785
2025-03-24 06:12:47 +00:00
Flrande
4bacfbd640 feat(editor): support member node (#11075)
Close [BS-2793](https://linear.app/affine-design/issue/BS-2793/inline-member)
2025-03-24 05:57:03 +00:00
Saul-Mirone
b8df65a2b0 refactor(editor): move mindmap transform to its package (#11115) 2025-03-24 05:19:30 +00:00
fengmk2
83a2e3bcba test(server): use new e2e (#11056) 2025-03-24 04:36:49 +00:00
fengmk2
cb71b292fc fix(server): return early from license health check when quantity matches (#11111) 2025-03-24 04:21:59 +00:00
Flrande
29fdbb7105 fix(editor): disable popover when start with space (#11092) 2025-03-24 03:53:17 +00:00
fengmk2
b0871331de test(server): add mock mail and queue tests (#11061) 2025-03-24 03:32:25 +00:00
fengmk2
d62c8642fb test(server): omit owner before create (#11059) 2025-03-24 03:32:24 +00:00
fengmk2
28f8639aff feat(server): send invitation review notification (#10418) 2025-03-24 03:32:24 +00:00
Saul-Mirone
dfd633b8b0 refactor(editor): remove unused panels (#11103) 2025-03-24 03:14:23 +00:00
Saul-Mirone
5525c2bc8d refactor(editor): move mindmap view to mindmap package (#11102) 2025-03-24 03:14:23 +00:00
Saul-Mirone
8e08b9000d feat(editor): create gfx mindmap package (#11100) 2025-03-24 03:14:22 +00:00
fengmk2
ed888d6507 feat(server): send invitation accepted notification (#10421) 2025-03-24 02:27:24 +00:00
fengmk2
d7b3dc683b feat(server): send invitation notification (#10219)
close PD-2307 CLOUD-150
2025-03-24 02:27:23 +00:00
darkskygit
b59da65796 feat(server): improve citing (#11070)
fix AF-2336
2025-03-23 23:54:10 +00:00
darkskygit
9c1123be8b fix(server): add missing env for ci (#11101) 2025-03-23 14:12:08 +00:00
akumatus
331dd67e69 feat(core): add copilot tags and collections graphql apis (#11076)
Close [BS-2834](https://linear.app/affine-design/issue/BS-2834).

### What Changed?
- Add `addContextCategoryMutation` and `removeContextCategoryMutation` graphql apis.
- Provide tag and collection apis for front-end components.
2025-03-22 15:15:42 +00:00
Saul-Mirone
1f0fc9d47a feat(editor): gfx connector package (#11091) 2025-03-22 14:39:05 +00:00
Saul-Mirone
d398ee4dfa refactor(editor): move present components to its package (#11089) 2025-03-22 14:39:05 +00:00
Saul-Mirone
e3735f40b8 feat(editor): gfx note package (#11088) 2025-03-22 14:39:04 +00:00
renovate
464e9e44eb chore: bump up all non-major dependencies (#11057)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@ai-sdk/google](https://sdk.vercel.ai/docs) ([source](https://redirect.github.com/vercel/ai)) | [`1.1.27` -> `1.2.1`](https://renovatebot.com/diffs/npm/@ai-sdk%2fgoogle/1.1.27/1.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@ai-sdk%2fgoogle/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@ai-sdk%2fgoogle/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@ai-sdk%2fgoogle/1.1.27/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@ai-sdk%2fgoogle/1.1.27/1.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@capgo/inappbrowser](https://redirect.github.com/Cap-go/capacitor-inappbrowser) | [`7.3.2` -> `7.6.0`](https://renovatebot.com/diffs/npm/@capgo%2finappbrowser/7.3.2/7.6.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@capgo%2finappbrowser/7.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@capgo%2finappbrowser/7.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@capgo%2finappbrowser/7.3.2/7.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capgo%2finappbrowser/7.3.2/7.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@eslint/js](https://eslint.org) ([source](https://redirect.github.com/eslint/eslint/tree/HEAD/packages/js)) | [`9.22.0` -> `9.23.0`](https://renovatebot.com/diffs/npm/@eslint%2fjs/9.22.0/9.23.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@eslint%2fjs/9.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@eslint%2fjs/9.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@eslint%2fjs/9.22.0/9.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@eslint%2fjs/9.22.0/9.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@napi-rs/cli](https://redirect.github.com/napi-rs/napi-rs) | [`3.0.0-alpha.75` -> `3.0.0-alpha.76`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.75/3.0.0-alpha.76) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.76?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fcli/3.0.0-alpha.76?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fcli/3.0.0-alpha.75/3.0.0-alpha.76?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fcli/3.0.0-alpha.75/3.0.0-alpha.76?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://redirect.github.com/getsentry/sentry-javascript)) | [`9.7.0` -> `9.8.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/9.7.0/9.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/9.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/9.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/9.7.0/9.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/9.7.0/9.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://redirect.github.com/getsentry/sentry-javascript)) | [`9.7.0` -> `9.8.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/9.7.0/9.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/9.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/9.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/9.7.0/9.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/9.7.0/9.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@storybook/addon-essentials](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/essentials) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials)) | [`8.6.7` -> `8.6.8`](https://renovatebot.com/diffs/npm/@storybook%2faddon-essentials/8.6.7/8.6.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-essentials/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-essentials/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-essentials/8.6.7/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-essentials/8.6.7/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-interactions](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/interactions) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions)) | [`8.6.7` -> `8.6.8`](https://renovatebot.com/diffs/npm/@storybook%2faddon-interactions/8.6.7/8.6.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-interactions/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-interactions/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-interactions/8.6.7/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-interactions/8.6.7/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-links](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/links) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/links)) | [`8.6.7` -> `8.6.8`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/8.6.7/8.6.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-links/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-links/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-links/8.6.7/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-links/8.6.7/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-mdx-gfm](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/gfm) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/gfm)) | [`8.6.7` -> `8.6.8`](https://renovatebot.com/diffs/npm/@storybook%2faddon-mdx-gfm/8.6.7/8.6.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-mdx-gfm/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-mdx-gfm/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-mdx-gfm/8.6.7/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-mdx-gfm/8.6.7/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/react](https://redirect.github.com/storybookjs/storybook/tree/next/code/renderers/react) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/renderers/react)) | [`8.6.7` -> `8.6.8`](https://renovatebot.com/diffs/npm/@storybook%2freact/8.6.7/8.6.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact/8.6.7/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact/8.6.7/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/react-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/frameworks/react-vite) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite)) | [`8.6.7` -> `8.6.8`](https://renovatebot.com/diffs/npm/@storybook%2freact-vite/8.6.7/8.6.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact-vite/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact-vite/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact-vite/8.6.7/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact-vite/8.6.7/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.13.10` -> `22.13.11`](https://renovatebot.com/diffs/npm/@types%2fnode/22.13.10/22.13.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/22.13.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/22.13.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/22.13.10/22.13.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/22.13.10/22.13.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.13.10` -> `22.13.11`](https://renovatebot.com/diffs/npm/@types%2fnode/22.13.10/22.13.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/22.13.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/22.13.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/22.13.10/22.13.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/22.13.10/22.13.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [ai](https://sdk.vercel.ai/docs) ([source](https://redirect.github.com/vercel/ai)) | [`4.1.66` -> `4.2.0`](https://renovatebot.com/diffs/npm/ai/4.1.66/4.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/ai/4.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ai/4.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ai/4.1.66/4.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ai/4.1.66/4.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [bullmq](https://bullmq.io/) ([source](https://redirect.github.com/taskforcesh/bullmq)) | [`5.44.0` -> `5.44.2`](https://renovatebot.com/diffs/npm/bullmq/5.44.0/5.44.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/bullmq/5.44.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/bullmq/5.44.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/bullmq/5.44.0/5.44.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/bullmq/5.44.0/5.44.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [cc](https://redirect.github.com/rust-lang/cc-rs) | `1.2.16` -> `1.2.17` | [![age](https://developer.mend.io/api/mc/badges/age/crate/cc/1.2.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/cc/1.2.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/cc/1.2.16/1.2.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/cc/1.2.16/1.2.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | build-dependencies | patch |
| [napi-build](https://redirect.github.com/napi-rs/napi-rs) | `2.1.5` -> `2.1.6` | [![age](https://developer.mend.io/api/mc/badges/age/crate/napi-build/2.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi-build/2.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi-build/2.1.5/2.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi-build/2.1.5/2.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [storybook](https://redirect.github.com/storybookjs/storybook/tree/next/code/lib/cli) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/lib/cli)) | [`8.6.7` -> `8.6.8`](https://renovatebot.com/diffs/npm/storybook/8.6.7/8.6.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/storybook/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/storybook/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/storybook/8.6.7/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/storybook/8.6.7/8.6.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [text-splitter](https://redirect.github.com/benbrandt/text-splitter) | `0.24` -> `0.25` | [![age](https://developer.mend.io/api/mc/badges/age/crate/text-splitter/0.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/text-splitter/0.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/text-splitter/0.24.2/0.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/text-splitter/0.24.2/0.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | minor |
| [tldts](https://redirect.github.com/remusao/tldts) | [`6.1.84` -> `6.1.85`](https://renovatebot.com/diffs/npm/tldts/6.1.84/6.1.85) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tldts/6.1.85?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tldts/6.1.85?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tldts/6.1.84/6.1.85?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tldts/6.1.84/6.1.85?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |

---

### Release Notes

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

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

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

##### Patch Changes

-   [`994a13b`](https://redirect.github.com/vercel/ai/commit/994a13b): feat (provider/google): support IMAGE_SAFETY finish reason

### [`v1.2.0`](https://redirect.github.com/vercel/ai/releases/tag/%40ai-sdk/anthropic%401.2.0)

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

##### Minor Changes

-   [`5bc638d`](https://redirect.github.com/vercel/ai/commit/5bc638d): AI SDK 4.2

##### Patch Changes

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

</details>

<details>
<summary>Cap-go/capacitor-inappbrowser (@&#8203;capgo/inappbrowser)</summary>

### [`v7.6.0`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#760-2025-03-22)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.5.1...7.6.0)

##### Features

-   add textZoom option ([3e2c629](3e2c629c68))

##### [7.5.1](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.5.0...7.5.1) (2025-03-22)

##### Bug Fixes

-   remove useless lib ([548cfad](548cfadf59))

### [`v7.5.1`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#751-2025-03-22)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.5.0...7.5.1)

### [`v7.5.0`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#750-2025-03-22)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.4.1...7.5.0)

##### Features

-   add material picker android ([7e9228d](7e9228d53c))

##### [7.4.1](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.4.0...7.4.1) (2025-03-22)

##### Bug Fixes

-   doc ([b269f4c](b269f4c29b))

### [`v7.4.1`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#741-2025-03-22)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.4.0...7.4.1)

### [`v7.4.0`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#740-2025-03-22)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.3.2...7.4.0)

##### Features

-   align Android and IOS of option behaviors ([3cd0a97](3cd0a971a1))

##### [7.3.2](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.3.1...7.3.2) (2025-03-20)

##### Bug Fixes

-   lint ([f1bf18a](f1bf18a6c3))

##### [7.3.1](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.3.0...7.3.1) (2025-03-20)

##### Bug Fixes

-   issue with getURL ([54c034e](54c034e043))

</details>

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

### [`v9.23.0`](https://redirect.github.com/eslint/eslint/compare/v9.22.0...20591c49ff27435b1555111a929a6966febc249f)

[Compare Source](https://redirect.github.com/eslint/eslint/compare/v9.22.0...v9.23.0)

</details>

<details>
<summary>napi-rs/napi-rs (@&#8203;napi-rs/cli)</summary>

### [`v3.0.0-alpha.76`](https://redirect.github.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.76)

[Compare Source](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.75...@napi-rs/cli@3.0.0-alpha.76)

#### What's Changed

-   feat(cli): add `wasm.browser.asyncInit` option for large wasm file by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/napi-rs/napi-rs/pull/2514](https://redirect.github.com/napi-rs/napi-rs/pull/2514)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@3.0.0-alpha.33...[@&#8203;napi-rs/cli](https://redirect.github.com/napi-rs/cli)[@&#8203;3](https://redirect.github.com/3).0.0-alpha.76

</details>

<details>
<summary>getsentry/sentry-javascript (@&#8203;sentry/react)</summary>

### [`v9.8.0`](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.8.0)

[Compare Source](https://redirect.github.com/getsentry/sentry-javascript/compare/9.7.0...9.8.0)

-   feat(node): Implement new continuous profiling API spec ([#&#8203;15635](https://redirect.github.com/getsentry/sentry-javascript/pull/15635))
-   feat(profiling): Add platform to chunk envelope ([#&#8203;15758](https://redirect.github.com/getsentry/sentry-javascript/pull/15758))
-   feat(react): Export captureReactException method ([#&#8203;15746](https://redirect.github.com/getsentry/sentry-javascript/pull/15746))
-   fix(node): Check for `res.end` before passing to Proxy ([#&#8203;15776](https://redirect.github.com/getsentry/sentry-javascript/pull/15776))
-   perf(core): Add short-circuits to `eventFilters` integration ([#&#8203;15752](https://redirect.github.com/getsentry/sentry-javascript/pull/15752))
-   perf(node): Short circuit flushing on Vercel only for Vercel ([#&#8203;15734](https://redirect.github.com/getsentry/sentry-javascript/pull/15734))

#### Bundle size 📦

| Path                                                             | Size              |
| ---------------------------------------------------------------- | ----------------- |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser)                                                  | 23.29 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) - with treeshaking flags                         | 23.11 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing)                                  | 36.34 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay)                          | 73.51 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay) - with treeshaking flags | 66.94 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay with Canvas)              | 78.15 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay, Feedback)                | 90.71 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Feedback)                                 | 40.43 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. sendFeedback)                             | 27.94 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. FeedbackAsync)                            | 32.73 KB  |
| [@&#8203;sentry/react](https://redirect.github.com/sentry/react)                                                    | 25.1 KB   |
| [@&#8203;sentry/react](https://redirect.github.com/sentry/react) (incl. Tracing)                                    | 38.26 KB  |
| [@&#8203;sentry/vue](https://redirect.github.com/sentry/vue)                                                      | 27.53 KB  |
| [@&#8203;sentry/vue](https://redirect.github.com/sentry/vue) (incl. Tracing)                                      | 38.04 KB  |
| [@&#8203;sentry/svelte](https://redirect.github.com/sentry/svelte)                                                   | 23.33 KB  |
| CDN Bundle                                                       | 24.52 KB  |
| CDN Bundle (incl. Tracing)                                       | 36.38 KB  |
| CDN Bundle (incl. Tracing, Replay)                               | 71.41 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback)                     | 76.61 KB  |
| CDN Bundle - uncompressed                                        | 71.68 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                        | 108.06 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                | 219.32 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed      | 231.88 KB |
| [@&#8203;sentry/nextjs](https://redirect.github.com/sentry/nextjs) (client)                                          | 39.56 KB  |
| [@&#8203;sentry/sveltekit](https://redirect.github.com/sentry/sveltekit) (client)                                       | 36.76 KB  |
| [@&#8203;sentry/node](https://redirect.github.com/sentry/node)                                                     | 142.65 KB |
| [@&#8203;sentry/node](https://redirect.github.com/sentry/node) - without tracing                                   | 96.04 KB  |
| [@&#8203;sentry/aws-serverless](https://redirect.github.com/sentry/aws-serverless)                                           | 120.41 KB |

</details>

<details>
<summary>storybookjs/storybook (@&#8203;storybook/addon-essentials)</summary>

### [`v8.6.8`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#868)

[Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v8.6.7...v8.6.8)

-   Angular: Export all files in Angular package.json - [#&#8203;30849](https://redirect.github.com/storybookjs/storybook/pull/30849), thanks [@&#8203;kasperpeulen](https://redirect.github.com/kasperpeulen)!
-   CLI: Don't add packageManager entry to package.json automatically - [#&#8203;30855](https://redirect.github.com/storybookjs/storybook/pull/30855), thanks [@&#8203;kasperpeulen](https://redirect.github.com/kasperpeulen)!
-   React: Allow portable stories to be used in SSR - [#&#8203;30847](https://redirect.github.com/storybookjs/storybook/pull/30847), thanks [@&#8203;kasperpeulen](https://redirect.github.com/kasperpeulen)!
-   Svelte: Adjust Svelte typings to include Svelte 5 function components - [#&#8203;30852](https://redirect.github.com/storybookjs/storybook/pull/30852), thanks [@&#8203;dummdidumm](https://redirect.github.com/dummdidumm)!
-   Telemetry: Make sure that telemetry doesn't fail on init - [#&#8203;30857](https://redirect.github.com/storybookjs/storybook/pull/30857), thanks [@&#8203;kasperpeulen](https://redirect.github.com/kasperpeulen)!
-   Vite: Update HMR filter to target specific story file types - [#&#8203;30845](https://redirect.github.com/storybookjs/storybook/pull/30845), thanks [@&#8203;kasperpeulen](https://redirect.github.com/kasperpeulen)!

</details>

<details>
<summary>taskforcesh/bullmq (bullmq)</summary>

### [`v5.44.2`](https://redirect.github.com/taskforcesh/bullmq/releases/tag/v5.44.2)

[Compare Source](https://redirect.github.com/taskforcesh/bullmq/compare/v5.44.1...v5.44.2)

##### Performance Improvements

-   **flow:** validate parentKey existence before trying to move it to failed ([#&#8203;3163](https://redirect.github.com/taskforcesh/bullmq/issues/3163)) ([5a88e47](5a88e4745d))

### [`v5.44.1`](https://redirect.github.com/taskforcesh/bullmq/releases/tag/v5.44.1)

[Compare Source](https://redirect.github.com/taskforcesh/bullmq/compare/v5.44.0...v5.44.1)

##### Bug Fixes

-   **flow:** consider prioritized state when moving a parent to failed ([#&#8203;3160](https://redirect.github.com/taskforcesh/bullmq/issues/3160)) ([d91d9f4](d91d9f4398))

</details>

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

### [`v1.2.17`](https://redirect.github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1217---2025-03-21)

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

##### Other

-   Regenerate target info ([#&#8203;1439](https://redirect.github.com/rust-lang/cc-rs/pull/1439))
-   Regenerate windows sys bindings ([#&#8203;1437](https://redirect.github.com/rust-lang/cc-rs/pull/1437))
-   Fix wasm32-wali-linux-musl target parsing ([#&#8203;1434](https://redirect.github.com/rust-lang/cc-rs/pull/1434))
-   Parse `rustc` target names ([#&#8203;1413](https://redirect.github.com/rust-lang/cc-rs/pull/1413))
-   Regenerate target info ([#&#8203;1429](https://redirect.github.com/rust-lang/cc-rs/pull/1429))
-   Added base support for `wasm32-wali-linux-musl` target ([#&#8203;1373](https://redirect.github.com/rust-lang/cc-rs/pull/1373))

</details>

<details>
<summary>benbrandt/text-splitter (text-splitter)</summary>

### [`v0.25.0`](https://redirect.github.com/benbrandt/text-splitter/blob/HEAD/CHANGELOG.md#v0250)

[Compare Source](https://redirect.github.com/benbrandt/text-splitter/compare/v0.24.2...v0.25.0)

##### Breaking Changes

##### Rust

-   Remove support for `rust-tokenizers` crate. This crate hasn't been updated in several years and brings in depednencies that have security warnings.

##### What's New

-   Use faster encoding method for `tokenizers` library, which improves performance with usage of huggingface tokenizers.

</details>

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

### [`v6.1.85`](https://redirect.github.com/remusao/tldts/blob/HEAD/CHANGELOG.md#v6185-Sat-Mar-22-2025)

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

##### 📜 Update Public Suffix List

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

##### Authors: 1

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

***

</details>

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-22 12:51:41 +00:00
Saul-Mirone
e1fa10af47 refactor(editor): improve page viewport implementation (#11090) 2025-03-22 04:41:40 +00:00
Saul-Mirone
c1d426d8e9 refactor(editor): move frame toolbar config and components to its package (#11084) 2025-03-21 16:47:40 +00:00
Saul-Mirone
f5fb5c848e refactor(editor): move text toolbar config and components to its package (#11083) 2025-03-21 16:47:40 +00:00
Saul-Mirone
f762797772 refactor(editor): move shape toolbar config and components to its package (#11082) 2025-03-21 16:47:39 +00:00
zzj3720
909426c644 fix(editor): database detail panel cannot scroll (#11080)
fix: BS-1821
2025-03-21 14:11:52 +00:00
zzj3720
dd2e423112 fix(editor): add placeholder for input of database context menu (#11079)
fix: BS-2594
2025-03-21 12:27:18 +00:00
Saul-Mirone
73807193cb refactor(editor): extract common toolbar config (#11069) 2025-03-21 11:45:33 +00:00
Saul-Mirone
ee3494e01d refactor(editor): extract draggable helper of edgeless toolbar (#11068) 2025-03-21 11:45:33 +00:00
Saul-Mirone
35e986cb94 refactor(editor): extract common mixin of edgeless toolbar (#11067) 2025-03-21 11:45:32 +00:00
Saul-Mirone
6777c16683 feat(editor): edgeless toolbar widget package (#11064) 2025-03-21 11:45:32 +00:00
Saul-Mirone
51d89edb02 refactor(editor): use extension to register edgeless toolbar button (#11062) 2025-03-21 11:45:31 +00:00
zzj3720
5dc6fabdaf refactor(editor): improve border color (#11077)
close: BS-2781
2025-03-21 11:22:54 +00:00
zzj3720
9986b8b6bc refactor(editor): adjust tag select component background color (#11074)
fix: BS-2780
2025-03-21 10:35:27 +00:00
zzj3720
a05d9b7817 fix(editor): remove selection when click New Record button (#11073)
fix: BS-2847
2025-03-21 10:17:13 +00:00
zzj3720
980952a9b4 refactor(editor): remove unused database-block feature flags (#11072)
close: BS-2795
2025-03-21 09:48:13 +00:00
EYHN
edcf6a967a feat(nbstore): blob storage adapt to new error type (#11005) 2025-03-21 16:05:30 +08:00
Saul-Mirone
8109c718c7 feat(editor): gfx shape package (#11060) 2025-03-21 06:13:11 +00:00
darkskygit
5acba9d5a0 feat(server): adapt context model (#11028)
expose more field in listContextObject
2025-03-21 05:36:45 +00:00
akumatus
a5b975ac46 feat(core): suggest reference docs as candidate chips (#11050)
Close [BS-2464](https://linear.app/affine-design/issue/BS-2464).

![截屏2025-03-20 23.46.42.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/c52b32de-1beb-4194-8af6-a175e5e6b986.png)
2025-03-21 05:09:20 +00:00
akumatus
321dfaa881 feat(core): watching references from multiple document ids (#11047)
Close [BS-2464](https://linear.app/affine-design/issue/BS-2464).
2025-03-21 05:09:19 +00:00
akumatus
281951ecd1 fix(core): outgoing links cannot be displayed if document refers to itself (#11046)
Close [BS-2850](https://linear.app/affine-design/issue/BS-2850).

### What Changed?
- After flattening the search results, filter the current document.
- Remove duplicate results based on document id.
2025-03-21 05:09:19 +00:00
akumatus
7b40de9c46 refactor(core): remove redundant unused implementation (#11042)
Close [BS-2850](https://linear.app/affine-design/issue/BS-2850).
2025-03-21 05:09:18 +00:00
Saul-Mirone
dc5a9ed4a2 ci: speed up e2e (#11053) 2025-03-21 04:53:31 +00:00
EYHN
bdd547d8db fix(ios): send affine version on sign in (#11058) 2025-03-21 04:35:34 +00:00
fengmk2
55a60906a5 test(server): add MockJobQueue (#11032) 2025-03-21 04:08:29 +00:00
renovate
4ed2c9bd81 chore: bump up nestjs (#11054)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@nestjs-cls/transactional](https://papooch.github.io/nestjs-cls/) ([source](https://redirect.github.com/Papooch/nestjs-cls)) | [`2.5.0` -> `2.5.1`](https://renovatebot.com/diffs/npm/@nestjs-cls%2ftransactional/2.5.0/2.5.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs-cls%2ftransactional/2.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs-cls%2ftransactional/2.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs-cls%2ftransactional/2.5.0/2.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs-cls%2ftransactional/2.5.0/2.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs-cls/transactional-adapter-prisma](https://papooch.github.io/nestjs-cls/) ([source](https://redirect.github.com/Papooch/nestjs-cls)) | [`1.2.16` -> `1.2.17`](https://renovatebot.com/diffs/npm/@nestjs-cls%2ftransactional-adapter-prisma/1.2.16/1.2.17) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs-cls%2ftransactional-adapter-prisma/1.2.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs-cls%2ftransactional-adapter-prisma/1.2.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs-cls%2ftransactional-adapter-prisma/1.2.16/1.2.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs-cls%2ftransactional-adapter-prisma/1.2.16/1.2.17?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>Papooch/nestjs-cls (@&#8203;nestjs-cls/transactional)</summary>

### [`v2.5.1`](https://redirect.github.com/Papooch/nestjs-cls/compare/@nestjs-cls/transactional@2.5.0...@nestjs-cls/transactional@2.5.1)

[Compare Source](https://redirect.github.com/Papooch/nestjs-cls/compare/@nestjs-cls/transactional@2.5.0...@nestjs-cls/transactional@2.5.1)

</details>

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-21 02:54:09 +00:00
pengx17
269b92e317 fix(electron): disable tray & recording for now (#11055) 2025-03-21 02:39:16 +00:00
Saul-Mirone
e50d09db50 feat(editor): latex inline package (#11051) 2025-03-21 01:38:08 +00:00
renovate
76f5c73fbc chore: bump up all non-major dependencies (#11052)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@ai-sdk/google](https://sdk.vercel.ai/docs) ([source](https://redirect.github.com/vercel/ai)) | [`1.1.26` -> `1.1.27`](https://renovatebot.com/diffs/npm/@ai-sdk%2fgoogle/1.1.26/1.1.27) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@ai-sdk%2fgoogle/1.1.27?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@ai-sdk%2fgoogle/1.1.27?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@ai-sdk%2fgoogle/1.1.26/1.1.27?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@ai-sdk%2fgoogle/1.1.26/1.1.27?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@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.758.0` -> `3.772.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.758.0/3.772.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.772.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.772.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.758.0/3.772.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.758.0/3.772.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@capgo/inappbrowser](https://redirect.github.com/Cap-go/capacitor-inappbrowser) | [`7.3.0` -> `7.3.2`](https://renovatebot.com/diffs/npm/@capgo%2finappbrowser/7.3.0/7.3.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@capgo%2finappbrowser/7.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@capgo%2finappbrowser/7.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@capgo%2finappbrowser/7.3.0/7.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capgo%2finappbrowser/7.3.0/7.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://redirect.github.com/getsentry/sentry-javascript)) | [`9.6.1` -> `9.7.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/9.6.1/9.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/9.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/9.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/9.6.1/9.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/9.6.1/9.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@tailwindcss/postcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss)) | [`4.0.14` -> `4.0.15`](https://renovatebot.com/diffs/npm/@tailwindcss%2fpostcss/4.0.14/4.0.15) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2fpostcss/4.0.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tailwindcss%2fpostcss/4.0.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tailwindcss%2fpostcss/4.0.14/4.0.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2fpostcss/4.0.14/4.0.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@tailwindcss/vite](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite)) | [`4.0.14` -> `4.0.15`](https://renovatebot.com/diffs/npm/@tailwindcss%2fvite/4.0.14/4.0.15) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2fvite/4.0.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tailwindcss%2fvite/4.0.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tailwindcss%2fvite/4.0.14/4.0.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2fvite/4.0.14/4.0.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [ai](https://sdk.vercel.ai/docs) ([source](https://redirect.github.com/vercel/ai)) | [`4.1.63` -> `4.1.66`](https://renovatebot.com/diffs/npm/ai/4.1.63/4.1.66) | [![age](https://developer.mend.io/api/mc/badges/age/npm/ai/4.1.66?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ai/4.1.66?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ai/4.1.63/4.1.66?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ai/4.1.63/4.1.66?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [electron](https://redirect.github.com/electron/electron) | [`35.0.2` -> `35.0.3`](https://renovatebot.com/diffs/npm/electron/35.0.2/35.0.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/35.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/35.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/35.0.2/35.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/35.0.2/35.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [multer](https://redirect.github.com/expressjs/multer) | [`1.4.5-lts.1` -> `1.4.5-lts.2`](https://renovatebot.com/diffs/npm/multer/1.4.5-lts.1/1.4.5-lts.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/multer/1.4.5-lts.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/multer/1.4.5-lts.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/multer/1.4.5-lts.1/1.4.5-lts.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/multer/1.4.5-lts.1/1.4.5-lts.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [openai](https://redirect.github.com/openai/openai-node) | [`4.88.0` -> `4.89.0`](https://renovatebot.com/diffs/npm/openai/4.88.0/4.89.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/openai/4.89.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/openai/4.89.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/openai/4.88.0/4.89.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/openai/4.88.0/4.89.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [supertest](https://redirect.github.com/ladjs/supertest) | [`7.0.0` -> `7.1.0`](https://renovatebot.com/diffs/npm/supertest/7.0.0/7.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/supertest/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/supertest/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/supertest/7.0.0/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/supertest/7.0.0/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [tailwindcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss)) | [`4.0.14` -> `4.0.15`](https://renovatebot.com/diffs/npm/tailwindcss/4.0.14/4.0.15) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/4.0.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tailwindcss/4.0.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tailwindcss/4.0.14/4.0.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/4.0.14/4.0.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [typedoc](https://typedoc.org) ([source](https://redirect.github.com/TypeStrong/TypeDoc)) | [`0.28.0` -> `0.28.1`](https://renovatebot.com/diffs/npm/typedoc/0.28.0/0.28.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typedoc/0.28.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typedoc/0.28.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typedoc/0.28.0/0.28.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typedoc/0.28.0/0.28.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)) | [`8.26.1` -> `8.27.0`](https://renovatebot.com/diffs/npm/typescript-eslint/8.26.1/8.27.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typescript-eslint/8.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript-eslint/8.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript-eslint/8.26.1/8.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript-eslint/8.26.1/8.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [webm-muxer](https://redirect.github.com/Vanilagy/webm-muxer) | [`5.0.3` -> `5.1.0`](https://renovatebot.com/diffs/npm/webm-muxer/5.0.3/5.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/webm-muxer/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/webm-muxer/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/webm-muxer/5.0.3/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/webm-muxer/5.0.3/5.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [org.jetbrains.kotlin.android](https://kotlinlang.org/) ([source](https://redirect.github.com/JetBrains/kotlin)) | `2.1.10` -> `2.1.20` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.android:org.jetbrains.kotlin.android.gradle.plugin/2.1.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.android:org.jetbrains.kotlin.android.gradle.plugin/2.1.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.android:org.jetbrains.kotlin.android.gradle.plugin/2.1.10/2.1.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.android:org.jetbrains.kotlin.android.gradle.plugin/2.1.10/2.1.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [org.jetbrains.kotlin.jvm](https://kotlinlang.org/) ([source](https://redirect.github.com/JetBrains/kotlin)) | `2.1.10` -> `2.1.20` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin/2.1.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin/2.1.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin/2.1.10/2.1.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin/2.1.10/2.1.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

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

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

##### Patch Changes

-   [`d0c4659`](https://redirect.github.com/vercel/ai/commit/d0c4659): feat (provider-utils): parseProviderOptions function
-   Updated dependencies \[[`d0c4659`](https://redirect.github.com/vercel/ai/commit/d0c4659)]
    -   [@&#8203;ai-sdk/provider-utils](https://redirect.github.com/ai-sdk/provider-utils)[@&#8203;2](https://redirect.github.com/2).1.15

</details>

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

### [`v3.772.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#37720-2025-03-20)

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

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

</details>

<details>
<summary>Cap-go/capacitor-inappbrowser (@&#8203;capgo/inappbrowser)</summary>

### [`v7.3.2`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#732-2025-03-20)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.3.0...7.3.2)

</details>

<details>
<summary>getsentry/sentry-javascript (@&#8203;sentry/react)</summary>

### [`v9.7.0`](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.7.0)

[Compare Source](https://redirect.github.com/getsentry/sentry-javascript/compare/9.6.1...9.7.0)

-   feat(core): Add `captureLog` method ([#&#8203;15717](https://redirect.github.com/getsentry/sentry-javascript/pull/15717))
-   feat(remix/cloudflare): Export `sentryHandleError` ([#&#8203;15726](https://redirect.github.com/getsentry/sentry-javascript/pull/15726))
-   fix(node): Always flush on Vercel before Lambda freeze ([#&#8203;15602](https://redirect.github.com/getsentry/sentry-javascript/pull/15602))
-   fix(node): Ensure incoming traces are propagated without HttpInstrumentation ([#&#8203;15732](https://redirect.github.com/getsentry/sentry-javascript/pull/15732))
-   fix(node): Use `fatal` level for unhandled rejections in `strict` mode ([#&#8203;15720](https://redirect.github.com/getsentry/sentry-javascript/pull/15720))
-   fix(nuxt): Delete Nuxt server template injection ([#&#8203;15749](https://redirect.github.com/getsentry/sentry-javascript/pull/15749))

##### Bundle size 📦

| Path                                                             | Size              |
| ---------------------------------------------------------------- | ----------------- |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser)                                                  | 23.28 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) - with treeshaking flags                         | 23.09 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing)                                  | 36.33 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay)                          | 73.5 KB   |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay) - with treeshaking flags | 66.93 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay with Canvas)              | 78.13 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay, Feedback)                | 90.69 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Feedback)                                 | 40.42 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. sendFeedback)                             | 27.91 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. FeedbackAsync)                            | 32.7 KB   |
| [@&#8203;sentry/react](https://redirect.github.com/sentry/react)                                                    | 25.08 KB  |
| [@&#8203;sentry/react](https://redirect.github.com/sentry/react) (incl. Tracing)                                    | 38.23 KB  |
| [@&#8203;sentry/vue](https://redirect.github.com/sentry/vue)                                                      | 27.52 KB  |
| [@&#8203;sentry/vue](https://redirect.github.com/sentry/vue) (incl. Tracing)                                      | 38.02 KB  |
| [@&#8203;sentry/svelte](https://redirect.github.com/sentry/svelte)                                                   | 23.3 KB   |
| CDN Bundle                                                       | 24.49 KB  |
| CDN Bundle (incl. Tracing)                                       | 36.37 KB  |
| CDN Bundle (incl. Tracing, Replay)                               | 71.39 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback)                     | 76.57 KB  |
| CDN Bundle - uncompressed                                        | 71.56 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                        | 107.94 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                | 219.2 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed      | 231.77 KB |
| [@&#8203;sentry/nextjs](https://redirect.github.com/sentry/nextjs) (client)                                          | 39.52 KB  |
| [@&#8203;sentry/sveltekit](https://redirect.github.com/sentry/sveltekit) (client)                                       | 36.73 KB  |
| [@&#8203;sentry/node](https://redirect.github.com/sentry/node)                                                     | 142.62 KB |
| [@&#8203;sentry/node](https://redirect.github.com/sentry/node) - without tracing                                   | 96.01 KB  |
| [@&#8203;sentry/aws-serverless](https://redirect.github.com/sentry/aws-serverless)                                           | 120.37 KB |

</details>

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

### [`v4.0.15`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#4015---2025-03-20)

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

</details>

<details>
<summary>electron/electron (electron)</summary>

### [`v35.0.3`](https://redirect.github.com/electron/electron/releases/tag/v35.0.3): electron v35.0.3

[Compare Source](https://redirect.github.com/electron/electron/compare/v35.0.2...v35.0.3)

### Release Notes for v35.0.3

#### Fixes

-   Fixed an issue where snapped windows in Windows may sometimes be improperly restored. [#&#8203;46040](https://redirect.github.com/electron/electron/pull/46040) <span style="font-size:small;">(Also in [33](https://redirect.github.com/electron/electron/pull/46038), [34](https://redirect.github.com/electron/electron/pull/46039), [36](https://redirect.github.com/electron/electron/pull/46041))</span>
-   Fixed incorrect titlebar in file save dialogs. [#&#8203;46074](https://redirect.github.com/electron/electron/pull/46074) <span style="font-size:small;">(Also in [33](https://redirect.github.com/electron/electron/pull/46075), [34](https://redirect.github.com/electron/electron/pull/46076), [36](https://redirect.github.com/electron/electron/pull/46077))</span>

#### Documentation

-   Documentation changes: [#&#8203;46102](https://redirect.github.com/electron/electron/pull/46102)

</details>

<details>
<summary>expressjs/multer (multer)</summary>

### [`v1.4.5-lts.2`](https://redirect.github.com/expressjs/multer/compare/v1.4.5-lts.1...v1.4.5-lts.2)

[Compare Source](https://redirect.github.com/expressjs/multer/compare/v1.4.5-lts.1...v1.4.5-lts.2)

</details>

<details>
<summary>openai/openai-node (openai)</summary>

### [`v4.89.0`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4890-2025-03-20)

[Compare Source](https://redirect.github.com/openai/openai-node/compare/v4.88.0...v4.89.0)

Full Changelog: [v4.88.0...v4.89.0](https://redirect.github.com/openai/openai-node/compare/v4.88.0...v4.89.0)

##### Features

-   add audio helpers ([ea1b6b4](ea1b6b4ef3))
-   **api:** new models for TTS, STT, + new audio features for Realtime ([#&#8203;1407](https://redirect.github.com/openai/openai-node/issues/1407)) ([142933a](142933ae70))

##### Chores

-   **internal:** version bump ([#&#8203;1400](https://redirect.github.com/openai/openai-node/issues/1400)) ([6838ab4](6838ab4268))

</details>

<details>
<summary>ladjs/supertest (supertest)</summary>

### [`v7.1.0`](https://redirect.github.com/ladjs/supertest/compare/v7.0.0...359bc52e3a4075d63ef036b11ba4e5e4ecce2e42)

[Compare Source](https://redirect.github.com/ladjs/supertest/compare/v7.0.0...v7.1.0)

</details>

<details>
<summary>TypeStrong/TypeDoc (typedoc)</summary>

### [`v0.28.1`](https://redirect.github.com/TypeStrong/TypeDoc/blob/HEAD/CHANGELOG.md#v0281-2025-03-20)

[Compare Source](https://redirect.github.com/TypeStrong/TypeDoc/compare/v0.28.0...v0.28.1)

##### Features

-   The `TypeDocOptions` interface now marks options as optional so it no longer has to be wrapped in `Partial`
    for use in config files, [#&#8203;2901](https://redirect.github.com/TypeStrong/TypeDoc/issues/2901).
-   API: Expose control methods for deferred conversion for plugin use (typedoc-plugin-missing-exports)
-   API: Expose method to disable TypeDoc usage of `localStorage` without clearing it, [#&#8203;2908](https://redirect.github.com/TypeStrong/TypeDoc/issues/2908).

##### Bug Fixes

-   `--watch` can now infer entry points from `package.json` as supported in non-watch mode, [#&#8203;2899](https://redirect.github.com/TypeStrong/TypeDoc/issues/2899).
-   `@include` with regions now works on files with CRLF line endings, [#&#8203;2902](https://redirect.github.com/TypeStrong/TypeDoc/issues/2902).
-   Generated page names now correctly handles UTF-8 characters requiring more than 16 bits [#&#8203;2905](https://redirect.github.com/TypeStrong/TypeDoc/issues/2905).
-   Fixed a crash when converting `module.exports = []`, [#&#8203;2909](https://redirect.github.com/TypeStrong/TypeDoc/issues/2909).
-   Fixed URL generation which introduced a superfluous `./` in relative links, [#&#8203;2910](https://redirect.github.com/TypeStrong/TypeDoc/issues/2910).

##### Thanks!

-   [@&#8203;jsmith2-coveo](https://redirect.github.com/jsmith2-coveo)
-   [@&#8203;romainmnr](https://redirect.github.com/romainmnr)

</details>

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

### [`v8.27.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8270-2025-03-17)

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

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

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

</details>

<details>
<summary>Vanilagy/webm-muxer (webm-muxer)</summary>

### [`v5.1.0`](https://redirect.github.com/Vanilagy/webm-muxer/releases/tag/v5.1.0)

[Compare Source](https://redirect.github.com/Vanilagy/webm-muxer/compare/v5.0.4...v5.1.0)

-   The library will now allow the creation of clusters beginning with a non-key frame if the previous cluster would otherwise exceed its maximum length ([#&#8203;56](https://redirect.github.com/Vanilagy/webm-muxer/issues/56), [#&#8203;58](https://redirect.github.com/Vanilagy/webm-muxer/issues/58)). Previously, this would throw an error. While having clusters begin with key frames is desirable, it is not a strict requirement.

### [`v5.0.4`](https://redirect.github.com/Vanilagy/webm-muxer/releases/tag/v5.0.4)

[Compare Source](40aa073c22...v5.0.4)

-   Fixed [#&#8203;50](https://redirect.github.com/Vanilagy/webm-muxer/issues/50): `onCluster` wasn't being called if the `streaming` option was set to true.

</details>

<details>
<summary>JetBrains/kotlin (org.jetbrains.kotlin.android)</summary>

### [`v2.1.20`](https://redirect.github.com/JetBrains/kotlin/releases/tag/v2.1.20): Kotlin 2.1.20

##### Changelog

##### Analysis API

##### Fixes

-   [`KT-68198`](https://youtrack.jetbrains.com/issue/KT-68198) Analysis API: Support application service registration in plugin XMLs
-   [`KT-57733`](https://youtrack.jetbrains.com/issue/KT-57733) Analysis API: Use optimized `ModuleWithDependenciesScope`s in combined symbol providers
-   [`KT-73156`](https://youtrack.jetbrains.com/issue/KT-73156) AA: type retrieval for erroneous typealias crashes
-   [`KT-71907`](https://youtrack.jetbrains.com/issue/KT-71907) K2 debugger evaluator failed when cannot resolve unrelated annotation
-   [`KT-69128`](https://youtrack.jetbrains.com/issue/KT-69128) K2 IDE: "Unresolved reference in KDoc" reports existing Java class in reference to its own nested class
-   [`KT-71613`](https://youtrack.jetbrains.com/issue/KT-71613) KaFirPsiJavaTypeParameterSymbol cannot be cast to KaFirTypeParameterSymbol
-   [`KT-71741`](https://youtrack.jetbrains.com/issue/KT-71741) K2 IDE. Classifier was found in KtFile but was not found in FirFile in `libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts` in `kotlin.git` and broken analysis
-   [`KT-71942`](https://youtrack.jetbrains.com/issue/KT-71942) Need to rethrow Intellij Platform exceptions, like ProcessCanceledException
-   [`KT-70949`](https://youtrack.jetbrains.com/issue/KT-70949) Analysis API: "containingDeclaration" does not work on nested Java classes in K2 implementation
-   [`KT-69736`](https://youtrack.jetbrains.com/issue/KT-69736) K2 IDE: False positive resolution from KDoc for `value`
-   [`KT-69047`](https://youtrack.jetbrains.com/issue/KT-69047) Analysis API: Unresolved KDoc reference to extensions with the same name
-   [`KT-70815`](https://youtrack.jetbrains.com/issue/KT-70815) Analysis API: Implement stop-the-world session invalidation
-   [`KT-69630`](https://youtrack.jetbrains.com/issue/KT-69630) KAPT User project builds with KAPT4 enabled fail with Metaspace overflow

##### Analysis API. Code Compilation

-   [`KT-71263`](https://youtrack.jetbrains.com/issue/KT-71263) K2 evaluator: Error in evaluating self property with extension receiver

##### Analysis API. FIR

##### Performance Improvements

-   [`KT-72025`](https://youtrack.jetbrains.com/issue/KT-72025) FileStructureElement: reduce redundant resolve
-   [`KT-74012`](https://youtrack.jetbrains.com/issue/KT-74012) Redundant `FirAbstractBodyResolveTransformerDispatcher.<init>` CPU consumption
-   [`KT-73900`](https://youtrack.jetbrains.com/issue/KT-73900) ContextCollectorVisitor#computeContext may spend significant time on `createSnapshot`
-   [`KT-73665`](https://youtrack.jetbrains.com/issue/KT-73665) FirElementFinder is inefficient in large files
-   [`KT-73330`](https://youtrack.jetbrains.com/issue/KT-73330) Remove bodies from functions without contracts after the CONTRACTS phase
-   [`KT-73017`](https://youtrack.jetbrains.com/issue/KT-73017) Analysis API: `FirReferenceResolveHelper.getSymbolsByResolvedImport` searches for classes even when the selected `FqName` is a known package

##### Fixes

-   [`KT-72308`](https://youtrack.jetbrains.com/issue/KT-72308) getOrBuildFir returns null for this expression for plusAssign operator
-   [`KT-72660`](https://youtrack.jetbrains.com/issue/KT-72660) ISE: Recursive update at org.jetbrains.kotlin.analysis.low.level.api.fir.caches.FirCaffeineCache.getValue
-   [`KT-74097`](https://youtrack.jetbrains.com/issue/KT-74097) ISE: Recursive update at org.jetbrains.kotlin.analysis.low.level.api.fir.caches.FirCaffeineCache.getValue
-   [`KT-74098`](https://youtrack.jetbrains.com/issue/KT-74098) ISE: Recursive update at org.jetbrains.kotlin.analysis.low.level.api.fir.caches.FirCaffeineCache.getValue
-   [`KT-72148`](https://youtrack.jetbrains.com/issue/KT-72148) K2: KISEWA: Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirValueParameterImpl(DataClassMember) but FirArgumentListImpl found
-   [`KT-73079`](https://youtrack.jetbrains.com/issue/KT-73079) K2: Internal compiler error when conflicting type aliases are present
-   [`KT-73456`](https://youtrack.jetbrains.com/issue/KT-73456) Expected FirResolvedContractDescription but FirRawContractDescriptionImpl found for FirSimpleFunctionImpl
-   [`KT-73259`](https://youtrack.jetbrains.com/issue/KT-73259) Expected FirResolvedContractDescription but FirLegacyRawContractDescriptionImpl found for FirSimpleFunctionImpl
-   [`KT-72740`](https://youtrack.jetbrains.com/issue/KT-72740) FirDanglingModifierList: `lazyResolveToPhase(STATUS)` cannot be called from a transformer with a phase STATUS
-   [`KT-66132`](https://youtrack.jetbrains.com/issue/KT-66132) K2: FirRegularClass expected, but FirFileImpl found | Containing declaration is not found
-   [`KT-72196`](https://youtrack.jetbrains.com/issue/KT-72196) K2. KMP. IllegalStateException: expect-actual matching is only possible for code with sources
-   [`KT-72652`](https://youtrack.jetbrains.com/issue/KT-72652) `FirProvider#getContainingClass` should support `FirDanglingModifierSymbol`
-   [`KT-73105`](https://youtrack.jetbrains.com/issue/KT-73105) Lazy resolve contract violation (BODY_RESOLVE from BODY_RESOLVE)
-   [`KT-66261`](https://youtrack.jetbrains.com/issue/KT-66261) K2: Analysis API: "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is null" with MULTIPLE_LABELS_ARE_FORBIDDEN K2 error
-   [`KT-72315`](https://youtrack.jetbrains.com/issue/KT-72315) K2. KIWA on usage of always-true OR in guard condition
-   [`KT-65707`](https://youtrack.jetbrains.com/issue/KT-65707) K2 IDE: unresolved calls of callables imported with typealias as qualifier
-   [`KT-61516`](https://youtrack.jetbrains.com/issue/KT-61516) K2: Provide an LL FIR implementation for `getContainingClassSymbol` (in `FirHelpers`)
-   [`KT-72853`](https://youtrack.jetbrains.com/issue/KT-72853) Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirContextReceiverImpl(Source) but FirArgumentListImpl found
-   [`KT-64215`](https://youtrack.jetbrains.com/issue/KT-64215) K2: do not resolve type annotations of receiver if it is used as an implicit return type
-   [`KT-64248`](https://youtrack.jetbrains.com/issue/KT-64248) K2: do not resolve type annotations of context receiver if it is used as an implicit return type
-   [`KT-72821`](https://youtrack.jetbrains.com/issue/KT-72821) Add assertion to diagnostic tests to check that all declarations have BODY_RESOLVE phase at the end
-   [`KT-64056`](https://youtrack.jetbrains.com/issue/KT-64056) K2:  K2: FirLazyBodiesCalculator shouldn't calculate annotation arguments on type phase
-   [`KT-71651`](https://youtrack.jetbrains.com/issue/KT-71651) K2 IDE: False positive NON_LOCAL_SUSPENSION_POINT in suspend function call
-   [`KT-72164`](https://youtrack.jetbrains.com/issue/KT-72164) K2. IllegalArgumentException when pre and post increment are used simultaneously in assignment
-   [`KT-71174`](https://youtrack.jetbrains.com/issue/KT-71174) Illegal scope used
-   [`KT-72407`](https://youtrack.jetbrains.com/issue/KT-72407) FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing
-   [`KT-72228`](https://youtrack.jetbrains.com/issue/KT-72228) K2: Reformat doesn't work in project with Kotlin `2.0.21`
-   [`KT-69671`](https://youtrack.jetbrains.com/issue/KT-69671) TYPES phase contract violation through JavaSymbolProvider
-   [`KT-71348`](https://youtrack.jetbrains.com/issue/KT-71348) K2: KotlinIllegalStateExceptionWithAttachments: 'By now the annotations argument mapping should have been resolved' during code inspection
-   [`KT-72024`](https://youtrack.jetbrains.com/issue/KT-72024) FirClassVarianceChecker: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource
-   [`KT-71746`](https://youtrack.jetbrains.com/issue/KT-71746) K2 IDE. `ISE: Zero or multiple overrides found for descriptor in FirRegularClassSymbol serializing/ExternalSerializer` and red code on `@Serializer`(forClass) \` usage

##### Analysis API. Infrastructure

-   [`KT-72922`](https://youtrack.jetbrains.com/issue/KT-72922) KotlinFakeClsStubsCache project leakage
-   [`KT-71988`](https://youtrack.jetbrains.com/issue/KT-71988) Improve scripts test coverage by LL FIR
-   [`KT-64687`](https://youtrack.jetbrains.com/issue/KT-64687) K2: Analysis API: migrate AbstractFirLibraryModuleDeclarationResolveTest to kotlin repo

##### Analysis API. Light Classes

-   [`KT-73492`](https://youtrack.jetbrains.com/issue/KT-73492) K2. FP error in Java file when using `@JvmSuppressWildcards` annotation without arguments
-   [`KT-66763`](https://youtrack.jetbrains.com/issue/KT-66763) K2: Get rid of context receivers in Analysis API and LL API
-   [`KT-71781`](https://youtrack.jetbrains.com/issue/KT-71781) SLC: migrate SLC from KotlinModificationTrackerService to KotlinModificationTrackerFactory
-   [`KT-67963`](https://youtrack.jetbrains.com/issue/KT-67963) K2: PsiInvalidElementAccessException on redeclaration of class with constructor
-   [`KT-71407`](https://youtrack.jetbrains.com/issue/KT-71407) K2: Do not report `@JvmField` default value as PsiField initializer in K2
-   [`KT-72078`](https://youtrack.jetbrains.com/issue/KT-72078) K2 PSI change for constructor parameter with value class type

##### Analysis API. Providers and Caches

-   [`KT-69247`](https://youtrack.jetbrains.com/issue/KT-69247) Analysis API: Invalidate sessions after builtins modification events
-   [`KT-72704`](https://youtrack.jetbrains.com/issue/KT-72704) ISE: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter'(53) in array owner: LLFirBuiltinsAndCloneableSession for Builtins for JS/wasm-js (JS)
-   [`KT-67148`](https://youtrack.jetbrains.com/issue/KT-67148) Analysis API: Introduce a weak reference cache for the original `KtSymbol` in `KtSymbolPointer`
-   [`KT-73395`](https://youtrack.jetbrains.com/issue/KT-73395) Analysis API: `JavaElementPsiSourceWithSmartPointer` contains strong references to PSI
-   [`KT-72390`](https://youtrack.jetbrains.com/issue/KT-72390) Kotlin project full of red code
-   [`KT-72388`](https://youtrack.jetbrains.com/issue/KT-72388) KaFirStopWorldCacheCleaner: Control-flow exceptions
-   [`KT-72644`](https://youtrack.jetbrains.com/issue/KT-72644) "PSI has changed since creation" reason is misleading

##### Analysis API. Standalone

-   [`KT-73776`](https://youtrack.jetbrains.com/issue/KT-73776) Analysis API Standalone: Application services are missing registrations in tests and Dokka
-   [`KT-70346`](https://youtrack.jetbrains.com/issue/KT-70346) Analysis API Standalone: Remove the custom class loader option in Standalone session creation

##### Analysis API. Stubs and Decompilation

-   [`KT-69398`](https://youtrack.jetbrains.com/issue/KT-69398) K2 IDE: SOE on editing top level private variable name
-   [`KT-72897`](https://youtrack.jetbrains.com/issue/KT-72897) Analysis API: Smart PSI element pointers for `KtEnumEntry` stubs cannot be restored
-   [`KT-71565`](https://youtrack.jetbrains.com/issue/KT-71565) KtClassOrObject should use isLocal from greenStub

##### Analysis API. Surface

##### New Features

-   [`KT-73414`](https://youtrack.jetbrains.com/issue/KT-73414) Analysis API: Support typealiased constructors in KaConstructorSymbol
-   [`KT-70301`](https://youtrack.jetbrains.com/issue/KT-70301) Analysis API: 'KaSamConstructorSymbol' does not allow to find the constructed SAM type
-   [`KT-68236`](https://youtrack.jetbrains.com/issue/KT-68236) Analysis API: add `isExternal` property for KtPropertySymbol
-   [`KT-68598`](https://youtrack.jetbrains.com/issue/KT-68598) Analysis API: missed getClassLikeSymbolByClassId API

##### Performance Improvements

-   [`KT-74112`](https://youtrack.jetbrains.com/issue/KT-74112) UI freeze: `AnyThreadWriteThreadingSupport.getWritePermit`
-   [`KT-73942`](https://youtrack.jetbrains.com/issue/KT-73942) Extend resolveToSymbols cache to all references
-   [`KT-73622`](https://youtrack.jetbrains.com/issue/KT-73622) Cache `resolveToSymbols` result
-   [`KT-72684`](https://youtrack.jetbrains.com/issue/KT-72684) Drop explicit resolve from KaFirJavaInteroperabilityComponent#asPsiTypeElement
-   [`KT-60486`](https://youtrack.jetbrains.com/issue/KT-60486) Analysis API: optimize KaExpressionTypeProvider.returnType for simple cases

##### Fixes

-   [`KT-70114`](https://youtrack.jetbrains.com/issue/KT-70114) K2: Analysis API: do not lazy resolve declarations without deprecation to get it deprecation
-   [`KT-73406`](https://youtrack.jetbrains.com/issue/KT-73406) \[Analysis API] Allow extending KaModule resolution scope for all KaModules
-   [`KT-65850`](https://youtrack.jetbrains.com/issue/KT-65850) Cover Analysis API with KDocs
-   [`KT-72099`](https://youtrack.jetbrains.com/issue/KT-72099) Analysis API: implement an API to retrieve default imports
-   [`KT-73662`](https://youtrack.jetbrains.com/issue/KT-73662) KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl
-   [`KT-70108`](https://youtrack.jetbrains.com/issue/KT-70108) Analysis API: "KaScopeProvider.scopeContext" provides scopes from implicit companion objects with inaccessible classifiers
-   [`KT-68954`](https://youtrack.jetbrains.com/issue/KT-68954) Remove JAR publications with old artifact names (high-level-api family)
-   [`KT-70134`](https://youtrack.jetbrains.com/issue/KT-70134) Analysis API: Port API documentation from the guide to KDoc
-   [`KT-72973`](https://youtrack.jetbrains.com/issue/KT-72973) Introduce KaSymbolOrigin.TYPE_ALIAS_CONSTRUCTOR
-   [`KT-70356`](https://youtrack.jetbrains.com/issue/KT-70356) analyzeCopy with IGNORE_SELF cannot find private members
-   [`KT-66783`](https://youtrack.jetbrains.com/issue/KT-66783) Analysis API: `KtFirSymbolProvider` creates symbols when given PSI from unrelated modules
-   [`KT-72937`](https://youtrack.jetbrains.com/issue/KT-72937) Migrate KaFirReceiverParameterSymbol to KaFirSymbol/KaFirKtBasedSymbol
-   [`KT-70243`](https://youtrack.jetbrains.com/issue/KT-70243) K2 IDE: PsiMethod.callableSymbol returns `null` for constructor
-   [`KT-66608`](https://youtrack.jetbrains.com/issue/KT-66608) Support `OperatorFunctionChecks#isOperator` in AA
-   [`KT-73068`](https://youtrack.jetbrains.com/issue/KT-73068) Analysis API: A `KaFirJavaFieldSymbol` for a static Java field is open instead of final
-   [`KT-73055`](https://youtrack.jetbrains.com/issue/KT-73055) Get rid of the deprecated Analysis API API
-   [`KT-65065`](https://youtrack.jetbrains.com/issue/KT-65065) Provide `KtTypeReference#getShortTypeText()`
-   [`KT-63800`](https://youtrack.jetbrains.com/issue/KT-63800) AA: this reference shortener doesn't simplify label
-   [`KT-72793`](https://youtrack.jetbrains.com/issue/KT-72793) Analysis API: 'expressionType' returns raw type for typealiased constructors calls
-   [`KT-72658`](https://youtrack.jetbrains.com/issue/KT-72658) `resolveToCall` doesn't work for `KtSafeQualifiedExpression`
-   [`KT-69930`](https://youtrack.jetbrains.com/issue/KT-69930) K2 IDE: Kotlin/JS project: ISE: "Unsupported type DYNAMIC_TYPE"
-   [`KT-71373`](https://youtrack.jetbrains.com/issue/KT-71373) Make KaSessionProvider the internal API
-   [`KT-71869`](https://youtrack.jetbrains.com/issue/KT-71869) KaClassSymbol.superTypes for kotlin.Any contains kotlin.Any itself (K1-only)
-   [`KT-64190`](https://youtrack.jetbrains.com/issue/KT-64190) K2 IDE: Analysis API: KDoc link leads to a function instead of interface
-   [`KT-72075`](https://youtrack.jetbrains.com/issue/KT-72075) `defaultType` should be available for `KaClassifierSymbol` instead of `KaNamedClassSymbol`
-   [`KT-72002`](https://youtrack.jetbrains.com/issue/KT-72002) Analysis API: psi KaTypeParameterSymbol for default Java constructor is null

##### Backend. Native. Debug

-   [`KT-73306`](https://youtrack.jetbrains.com/issue/KT-73306) Native: add a way to specify a dir for the debug compilation unit file
-   [`KT-68536`](https://youtrack.jetbrains.com/issue/KT-68536) Native: bridges and trampolines affect stepping in the debugger
-   [`KT-72398`](https://youtrack.jetbrains.com/issue/KT-72398) Native: use `DW_AT_trampoline` for `objc2kotlin_*` functions instead of `KonanHook` in `konan_lldb.py`

##### Backend. Wasm

-   [`KT-71868`](https://youtrack.jetbrains.com/issue/KT-71868) K/Wasm: support generating debug information in DWARF format
-   [`KT-71645`](https://youtrack.jetbrains.com/issue/KT-71645) \[Wasm] Check wasm test runner for groupByPackage=true case
-   [`KT-72232`](https://youtrack.jetbrains.com/issue/KT-72232) Wasm, IC: Compilation exception on renaming of file
-   [`KT-73907`](https://youtrack.jetbrains.com/issue/KT-73907) Wasm: Duplication of files in browser distribution
-   [`KT-72223`](https://youtrack.jetbrains.com/issue/KT-72223) Compiler generates an invalid glue-code for externals with backquoted identifiers
-   [`KT-73015`](https://youtrack.jetbrains.com/issue/KT-73015) \[Wasm, IC] Implement possibility for readonly IC cache
-   [`KT-71763`](https://youtrack.jetbrains.com/issue/KT-71763) K/Wasm: compiler generates incorrect code for is check on JsAny
-   [`KT-72156`](https://youtrack.jetbrains.com/issue/KT-72156) custom-formatters.js exists in JAR after publishToMavenLocal but not in the published artifact in Maven public
-   [`KT-71037`](https://youtrack.jetbrains.com/issue/KT-71037) \[Wasm, IC] Investigate how make kotlin.test not fully loaded in IC

##### Compiler

##### New Features

-   [`KT-74049`](https://youtrack.jetbrains.com/issue/KT-74049) Introduce special override rule to allow overriding T! with T & Any
-   [`KT-73256`](https://youtrack.jetbrains.com/issue/KT-73256) Implement `all` meta-target for annotations
-   [`KT-73255`](https://youtrack.jetbrains.com/issue/KT-73255) Change defaulting rule for annotations
-   [`KT-61447`](https://youtrack.jetbrains.com/issue/KT-61447) Support context receivers overloads in Kotlin multiplatform
-   [`KT-67034`](https://youtrack.jetbrains.com/issue/KT-67034) Warning when a property hides a Java field from superclass
-   [`KT-71092`](https://youtrack.jetbrains.com/issue/KT-71092) Native: Write out used dependencies
-   [`KT-71094`](https://youtrack.jetbrains.com/issue/KT-71094) Kotlin/Native incremental compilation: fail compilation if cache build failed
-   [`KT-71569`](https://youtrack.jetbrains.com/issue/KT-71569) Improve diagnostic precision for OPT_IN_ARGUMENT_IS_NOT_MARKER

##### Performance Improvements

-   [`KT-73434`](https://youtrack.jetbrains.com/issue/KT-73434) Slow / infinite compile involving ConeInferenceContext
-   [`KT-73328`](https://youtrack.jetbrains.com/issue/KT-73328) Do not spill `this` to a local variable in coroutines
-   [`KT-69995`](https://youtrack.jetbrains.com/issue/KT-69995) K2: Slow compilation when star projecting mutually recursive bounds from java
-   [`KT-73687`](https://youtrack.jetbrains.com/issue/KT-73687) Inefficient KtCommonFile#getFileAnnotationList
-   [`KT-45452`](https://youtrack.jetbrains.com/issue/KT-45452) K/N optimization: inline simple functions that aren't marked with `inline` keyword
-   [`KT-64898`](https://youtrack.jetbrains.com/issue/KT-64898) K2: toFirProperty call in PsiRawFirBuilder forces AST loading
-   [`KT-71673`](https://youtrack.jetbrains.com/issue/KT-71673) Consider making EnhancementSymbolsCache. enhancedFunctions using simple cache
-   [`KT-71973`](https://youtrack.jetbrains.com/issue/KT-71973) KtPsiUtil#getEnclosingElementForLocalDeclaration shouldn't iterate over directories

##### Fixes

-   [`KT-75965`](https://youtrack.jetbrains.com/issue/KT-75965) The iOS app did not run successfully in Release mode
-   [`KT-57696`](https://youtrack.jetbrains.com/issue/KT-57696) Deprecate JvmDefault annotation with level HIDDEN
-   [`KT-75578`](https://youtrack.jetbrains.com/issue/KT-75578) K2: False negative \[SUPER_CALL_WITH_DEFAULT_PARAMETERS] when calling the upper-class implementation of a method with the default value argument
-   [`KT-74764`](https://youtrack.jetbrains.com/issue/KT-74764) Native: merge init nodes generated within the same LLVM module for the same klib
-   [`KT-75444`](https://youtrack.jetbrains.com/issue/KT-75444) Contradictions in the constraint system are ignored in case of multiple constraints from forking points
-   [`KT-75649`](https://youtrack.jetbrains.com/issue/KT-75649) K2: NPE on assigning platform type value to non-nullable lateinit var
-   [`KT-75483`](https://youtrack.jetbrains.com/issue/KT-75483) Native: redundant unboxing generated with smart cast
-   [`KT-73028`](https://youtrack.jetbrains.com/issue/KT-73028) K2. FileAnalysisException on private property in Context
-   [`KT-73937`](https://youtrack.jetbrains.com/issue/KT-73937) Context parameters: IllegalArgumentException: source must not be null on lateinit var with a context
-   [`KT-74104`](https://youtrack.jetbrains.com/issue/KT-74104) Native: SynchronizedLazyImpl  produces NPE on 2.1.20-Beta1 on mingwX64
-   [`KT-71752`](https://youtrack.jetbrains.com/issue/KT-71752) K2: Absent non-null check for platform types in assignments
-   [`KT-75526`](https://youtrack.jetbrains.com/issue/KT-75526) Regression in K2 scripting: local name doesn't shadow one from the implicit receiver
-   [`KT-68131`](https://youtrack.jetbrains.com/issue/KT-68131) K2: build Grazie monorepo main branch
-   [`KT-72618`](https://youtrack.jetbrains.com/issue/KT-72618) Cannot define operator inc/dec in class context
-   [`KT-74739`](https://youtrack.jetbrains.com/issue/KT-74739) Native: "IllegalArgumentException: All constructors should've been lowered: FUNCTION_REFERENCE"
-   [`KT-68768`](https://youtrack.jetbrains.com/issue/KT-68768) K2: unsuccessful inference fork with jspecify annotations
-   [`KT-71943`](https://youtrack.jetbrains.com/issue/KT-71943) K2: IAE "source must not be null" in FirJvmModuleAccessibilityQualifiedAccessChecker
-   [`KT-75111`](https://youtrack.jetbrains.com/issue/KT-75111) False negative "This declaration needs opt-in" for usage of enum entry with OptIn marker in another module
-   [`KT-73831`](https://youtrack.jetbrains.com/issue/KT-73831) Do not choose `field` target in annotation classes
-   [`KT-73494`](https://youtrack.jetbrains.com/issue/KT-73494) Enable first-only-warn annotation defaulting mode
-   [`KT-74929`](https://youtrack.jetbrains.com/issue/KT-74929) False positive TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER if it is used with T\&Any
-   [`KT-74227`](https://youtrack.jetbrains.com/issue/KT-74227) K2: "Cannot infer type for this parameter. Please specify it explicitly" caused by lambda in another lambda with a parameterized function type
-   [`KT-70789`](https://youtrack.jetbrains.com/issue/KT-70789) CLI error "mixing legacy and modern plugin arguments is prohibited" on using -Xcompiler-plugin unless default scripting plugin is disabled
-   [`KT-73903`](https://youtrack.jetbrains.com/issue/KT-73903) Design 'replaceWith' / 'test-only' kinds for the 'LanguageFeature' class
-   [`KT-74474`](https://youtrack.jetbrains.com/issue/KT-74474) K2: Report more precise diagnostic when last expression of non-unit lambda is a statement
-   [`KT-74478`](https://youtrack.jetbrains.com/issue/KT-74478) K2: False negative RETURN TYPE_MISMATCH if the last statement of a lambda is indexed assignment
-   [`KT-67480`](https://youtrack.jetbrains.com/issue/KT-67480) K/N: a separate inlining phase after the lowerings
-   [`KT-72154`](https://youtrack.jetbrains.com/issue/KT-72154) Dokka fails with `not array: KClass<out Annotation>` on Kotlin 2.1.20-dev with `@SubclassOptInRequired`
-   [`KT-72040`](https://youtrack.jetbrains.com/issue/KT-72040) Extra checkers: false-positive unused parameter warnings on anonymous lambda parameters
-   [`KT-74203`](https://youtrack.jetbrains.com/issue/KT-74203) K2: False negative NO_ELSE_IN_WHEN of a generic type with star projection <\*> bounded by a sealed hierarchy
-   [`KT-63720`](https://youtrack.jetbrains.com/issue/KT-63720) Coroutine debugger: do not optimise out local variables
-   [`KT-74024`](https://youtrack.jetbrains.com/issue/KT-74024) K2: Prohibit declaring local type aliases
-   [`KT-73146`](https://youtrack.jetbrains.com/issue/KT-73146) Context parameters CLI & diagnostics
-   [`KT-73251`](https://youtrack.jetbrains.com/issue/KT-73251) Warn users about removal of context classes and constructors
-   [`KT-72222`](https://youtrack.jetbrains.com/issue/KT-72222) Context parameters parsing & resolution part 1
-   [`KT-61175`](https://youtrack.jetbrains.com/issue/KT-61175) K2: FirReceiverParameter does not extend FirDeclaration
-   [`KT-73858`](https://youtrack.jetbrains.com/issue/KT-73858) Compose  / iOS: NullPointerException on building
-   [`KT-73864`](https://youtrack.jetbrains.com/issue/KT-73864) \[Native] Decouple `IrType.computePrimitiveBinaryTypeOrNull` from backend.native
-   [`KT-73122`](https://youtrack.jetbrains.com/issue/KT-73122) Move the upgrade references lowering to be first one in Native pipeline
-   [`KT-73608`](https://youtrack.jetbrains.com/issue/KT-73608) K2: "Initializer type mismatch" with map and typealias to object
-   [`KT-73691`](https://youtrack.jetbrains.com/issue/KT-73691) DCE removes static initializer function, which is actually called
-   [`KT-74147`](https://youtrack.jetbrains.com/issue/KT-74147) K2: False negative INCONSISTENT_TYPE_PARAMETER_VALUES
-   [`KT-73454`](https://youtrack.jetbrains.com/issue/KT-73454) K2: Fix type parameters mapping for typealiases with inner RHS
-   [`KT-73043`](https://youtrack.jetbrains.com/issue/KT-73043) K2 Compiler does not allow references to inner constructors with typealiases
-   [`KT-74040`](https://youtrack.jetbrains.com/issue/KT-74040) Compilation of inner class usage does not check the visibility of parent class during compilation in different rounds
-   [`KT-74195`](https://youtrack.jetbrains.com/issue/KT-74195) Fully qualified names in error messages make them complicated
-   [`KT-74221`](https://youtrack.jetbrains.com/issue/KT-74221) Make `FirSupertypesChecker` a platform checker
-   [`KT-72962`](https://youtrack.jetbrains.com/issue/KT-72962) Consider enabling ConsiderForkPointsWhenCheckingContradictions LF earlier
-   [`KT-74242`](https://youtrack.jetbrains.com/issue/KT-74242) Freeze on `runCatching` call in `finally` block inside SAM conversion
-   [`KT-29222`](https://youtrack.jetbrains.com/issue/KT-29222) FIR: consider folding binary expression chains
-   [`KT-73760`](https://youtrack.jetbrains.com/issue/KT-73760) Cannot implement two Java interfaces with `@NotNull`-annotated type argument and Kotlin's plain (nullable) type parameter
-   [`KT-58933`](https://youtrack.jetbrains.com/issue/KT-58933) Applying suggested signature from WRONG_NULLABILITY_FOR_JAVA_OVERRIDE leads to red code
-   [`KT-74107`](https://youtrack.jetbrains.com/issue/KT-74107) K2: Calling type alias constructor with inner RHS in static scope causes runtime crash
-   [`KT-74244`](https://youtrack.jetbrains.com/issue/KT-74244) Context parameters: context isn't checked for expect/actual property declaration
-   [`KT-74276`](https://youtrack.jetbrains.com/issue/KT-74276) Update ASM from 9.0 to 9.6.1
-   [`KT-72737`](https://youtrack.jetbrains.com/issue/KT-72737) Avoid function references creation in lowerings after FunctionReferenceLowering
-   [`KT-72295`](https://youtrack.jetbrains.com/issue/KT-72295) K2: Generated accessors for delegated property should have property source
-   [`KT-73150`](https://youtrack.jetbrains.com/issue/KT-73150) Investigate/test approximation of context parameter type in completion
-   [`KT-73862`](https://youtrack.jetbrains.com/issue/KT-73862) \[Native] Decouple NativePreSerializationLoweringContext from backend.native
-   [`KT-70507`](https://youtrack.jetbrains.com/issue/KT-70507) Should parentheses prevent from plus/set operator desugaring?
-   [`KT-72677`](https://youtrack.jetbrains.com/issue/KT-72677) K2 IDE / Kotlin Debugger: “Couldn't find virtual file for p1/MainKt$foo$iface$1” on evaluating inline function from another module
-   [`KT-72672`](https://youtrack.jetbrains.com/issue/KT-72672) K2 IDE / Kotlin Debugger: “Couldn't find virtual file” on evaluating inline function for enum class entries from test module
-   [`KT-73912`](https://youtrack.jetbrains.com/issue/KT-73912) Cannot evaluate inline methods from another module in KMP project
-   [`KT-73765`](https://youtrack.jetbrains.com/issue/KT-73765) K2: Prohibit nested type aliases with inner RHS when it captures type parameters implicitly
-   [`KT-73869`](https://youtrack.jetbrains.com/issue/KT-73869) \[Native] Move KonanSymbols out of `backend.native`
-   [`KT-73823`](https://youtrack.jetbrains.com/issue/KT-73823) Kotlin/Native: IndexOutOfBounds for java.util.Map::getOrDefault
-   [`KT-73755`](https://youtrack.jetbrains.com/issue/KT-73755) K2: type mismatch error contains unsubstituted type parameter types
-   [`KT-72837`](https://youtrack.jetbrains.com/issue/KT-72837) ERROR_IN_CONTRACT_DESCRIPTION message contains compiler internals
-   [`KT-73771`](https://youtrack.jetbrains.com/issue/KT-73771) K2: Infinite compilation caused by buildList without type
-   [`KT-67520`](https://youtrack.jetbrains.com/issue/KT-67520) Change of behaviour of inline function with safe cast on value type
-   [`KT-67518`](https://youtrack.jetbrains.com/issue/KT-67518) Value classes leak their carrier type implementation details via inlining
-   [`KT-71767`](https://youtrack.jetbrains.com/issue/KT-71767) Generate default compatibility bridges in -Xjvm-default=all/all-compatibility mode
-   [`KT-73716`](https://youtrack.jetbrains.com/issue/KT-73716) Context parameters expose visibility
-   [`KT-73671`](https://youtrack.jetbrains.com/issue/KT-73671) Context parameters: val/var on context parameter on a property is possible
-   [`KT-73510`](https://youtrack.jetbrains.com/issue/KT-73510) Context parameters: It is possible to declare a context for init block
-   [`KT-72305`](https://youtrack.jetbrains.com/issue/KT-72305) K2: Report error when using synthetic properties in case of mapped collections
-   [`KT-72429`](https://youtrack.jetbrains.com/issue/KT-72429) StackOverflowError when compiling large files
-   [`KT-72500`](https://youtrack.jetbrains.com/issue/KT-72500) K2 Debugger: NSME on evaluating lambda with a call to internal class field
-   [`KT-73845`](https://youtrack.jetbrains.com/issue/KT-73845) K2: IllegalArgumentException during FIR2IR transformation when processing nested default values in annotations
-   [`KT-73538`](https://youtrack.jetbrains.com/issue/KT-73538) K2 IDE / Kotlin Debugger: ISE “couldn't find inline method" on evaluating internal inline function with default arg from main module in test module
-   [`KT-73347`](https://youtrack.jetbrains.com/issue/KT-73347) K2: Expected is FirResolvedDeclarationStatus
-   [`KT-71226`](https://youtrack.jetbrains.com/issue/KT-71226) K2 Evaluator: Code fragment compilation with unresolved classes does not fail with exception
-   [`KT-73902`](https://youtrack.jetbrains.com/issue/KT-73902) Clean-up code around lateinit inline/value classes
-   [`KT-73693`](https://youtrack.jetbrains.com/issue/KT-73693) K2: DslMarker checker doesn't report violation for callable reference with bound receiver
-   [`KT-73667`](https://youtrack.jetbrains.com/issue/KT-73667) K2: DslMarker checker ignores function type annotations for invokeExtension
-   [`KT-72797`](https://youtrack.jetbrains.com/issue/KT-72797) K2 IDE / Kotlin Debugger: AE “No such value argument slot in IrCallImpl” on evaluating inc()-operator for private field
-   [`KT-68388`](https://youtrack.jetbrains.com/issue/KT-68388) Compiler crash on convesion to fun interface with extension receiver
-   [`KT-73801`](https://youtrack.jetbrains.com/issue/KT-73801) False positive CONFLICTING_OVERLOADS between base suspend fun and derived property
-   [`KT-62833`](https://youtrack.jetbrains.com/issue/KT-62833) K2: Run smoke FP tests with SLOW_ASSERTIONS enabled
-   [`KT-54068`](https://youtrack.jetbrains.com/issue/KT-54068) Context receivers with lambda nesting result in Type mismatch
-   [`KT-51383`](https://youtr

</details>

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-21 01:23:02 +00:00
fengmk2
f6132ad818 test(server): increase test parallelization from 3 to 8 nodes (#11043) 2025-03-21 01:07:22 +00:00
CatsJuice
fbcb313de8 feat(core): delete all readwise highlights when disconnect (#10975)
close AF-2306
2025-03-20 23:20:59 +00:00
CatsJuice
e37328c83b feat(core): readwise integration tags setting (#10946)
close AF-2307, AF-2262
2025-03-20 23:20:58 +00:00
CatsJuice
f1c8a88a7c feat(core): readwise import settings ui (#10913)
close AF-2308
2025-03-20 23:20:58 +00:00
CatsJuice
48f79d6467 feat(core): adjust property table's style to match design (#10849)
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/LakojjjzZNf6ogjOVwKE/278b9dbf-a089-4007-bf35-088301a29d89.png)
2025-03-20 23:20:57 +00:00
CatsJuice
e4bc43df67 feat(core): integration property ui (#10844)
close AF-2258, AF-2256
2025-03-20 23:20:57 +00:00
renovate
0773a719d5 chore: bump up all non-major dependencies (#10920)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@ai-sdk/google](https://sdk.vercel.ai/docs) ([source](https://redirect.github.com/vercel/ai)) | [`1.1.19` -> `1.1.26`](https://renovatebot.com/diffs/npm/@ai-sdk%2fgoogle/1.1.19/1.1.26) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@ai-sdk%2fgoogle/1.1.26?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@ai-sdk%2fgoogle/1.1.26?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@ai-sdk%2fgoogle/1.1.19/1.1.26?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@ai-sdk%2fgoogle/1.1.19/1.1.26?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@playwright/test](https://playwright.dev) ([source](https://redirect.github.com/microsoft/playwright)) | [`=1.51.0` -> `=1.51.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.51.0/1.51.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.51.0/1.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.51.0/1.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@playwright/test](https://playwright.dev) ([source](https://redirect.github.com/microsoft/playwright)) | [`=1.51.0` -> `=1.51.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.51.0/1.51.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.51.0/1.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.51.0/1.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | 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.33` -> `0.0.34`](https://renovatebot.com/diffs/npm/@react-email%2fcomponents/0.0.33/0.0.34) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@react-email%2fcomponents/0.0.34?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@react-email%2fcomponents/0.0.34?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@react-email%2fcomponents/0.0.33/0.0.34?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@react-email%2fcomponents/0.0.33/0.0.34?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@sentry/electron](https://redirect.github.com/getsentry/sentry-electron) | [`6.1.0` -> `6.2.0`](https://renovatebot.com/diffs/npm/@sentry%2felectron/6.1.0/6.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2felectron/6.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2felectron/6.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2felectron/6.1.0/6.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2felectron/6.1.0/6.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://redirect.github.com/getsentry/sentry-javascript)) | [`9.5.0` -> `9.6.1`](https://renovatebot.com/diffs/npm/@sentry%2freact/9.5.0/9.6.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/9.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/9.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/9.5.0/9.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/9.5.0/9.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://redirect.github.com/getsentry/sentry-javascript)) | [`9.5.0` -> `9.6.1`](https://renovatebot.com/diffs/npm/@sentry%2freact/9.5.0/9.6.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/9.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/9.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/9.5.0/9.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/9.5.0/9.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@slack/web-api](https://tools.slack.dev/node-slack-sdk/web-api) ([source](https://redirect.github.com/slackapi/node-slack-sdk)) | [`7.8.0` -> `7.9.0`](https://renovatebot.com/diffs/npm/@slack%2fweb-api/7.8.0/7.9.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@slack%2fweb-api/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@slack%2fweb-api/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@slack%2fweb-api/7.8.0/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@slack%2fweb-api/7.8.0/7.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@storybook/addon-essentials](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/essentials) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials)) | [`8.6.6` -> `8.6.7`](https://renovatebot.com/diffs/npm/@storybook%2faddon-essentials/8.6.6/8.6.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-essentials/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-essentials/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-essentials/8.6.6/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-essentials/8.6.6/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-interactions](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/interactions) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions)) | [`8.6.6` -> `8.6.7`](https://renovatebot.com/diffs/npm/@storybook%2faddon-interactions/8.6.6/8.6.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-interactions/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-interactions/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-interactions/8.6.6/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-interactions/8.6.6/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-links](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/links) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/links)) | [`8.6.6` -> `8.6.7`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/8.6.6/8.6.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-links/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-links/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-links/8.6.6/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-links/8.6.6/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-mdx-gfm](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/gfm) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/gfm)) | [`8.6.6` -> `8.6.7`](https://renovatebot.com/diffs/npm/@storybook%2faddon-mdx-gfm/8.6.6/8.6.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-mdx-gfm/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-mdx-gfm/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-mdx-gfm/8.6.6/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-mdx-gfm/8.6.6/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/react](https://redirect.github.com/storybookjs/storybook/tree/next/code/renderers/react) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/renderers/react)) | [`8.6.6` -> `8.6.7`](https://renovatebot.com/diffs/npm/@storybook%2freact/8.6.6/8.6.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact/8.6.6/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact/8.6.6/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/react-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/frameworks/react-vite) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite)) | [`8.6.6` -> `8.6.7`](https://renovatebot.com/diffs/npm/@storybook%2freact-vite/8.6.6/8.6.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact-vite/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact-vite/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact-vite/8.6.6/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact-vite/8.6.6/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@swc/core](https://swc.rs) ([source](https://redirect.github.com/swc-project/swc)) | [`1.11.9` -> `1.11.11`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.11.9/1.11.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.11.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fcore/1.11.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fcore/1.11.9/1.11.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.11.9/1.11.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@types/react](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)) | [`19.0.10` -> `19.0.12`](https://renovatebot.com/diffs/npm/@types%2freact/19.0.10/19.0.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/19.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2freact/19.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2freact/19.0.10/19.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/19.0.10/19.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@vitejs/plugin-react-swc](https://redirect.github.com/vitejs/vite-plugin-react-swc) | [`3.8.0` -> `3.8.1`](https://renovatebot.com/diffs/npm/@vitejs%2fplugin-react-swc/3.8.0/3.8.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitejs%2fplugin-react-swc/3.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitejs%2fplugin-react-swc/3.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitejs%2fplugin-react-swc/3.8.0/3.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitejs%2fplugin-react-swc/3.8.0/3.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@vitest/browser](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/browser#readme) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/browser)) | [`3.0.8` -> `3.0.9`](https://renovatebot.com/diffs/npm/@vitest%2fbrowser/3.0.8/3.0.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fbrowser/3.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fbrowser/3.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fbrowser/3.0.8/3.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fbrowser/3.0.8/3.0.9?slim=true)](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.0.8` -> `3.0.9`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/3.0.8/3.0.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fcoverage-istanbul/3.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fcoverage-istanbul/3.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fcoverage-istanbul/3.0.8/3.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fcoverage-istanbul/3.0.8/3.0.9?slim=true)](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.0.8` -> `3.0.9`](https://renovatebot.com/diffs/npm/@vitest%2fui/3.0.8/3.0.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fui/3.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fui/3.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fui/3.0.8/3.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fui/3.0.8/3.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [ai](https://sdk.vercel.ai/docs) ([source](https://redirect.github.com/vercel/ai)) | [`4.1.51` -> `4.1.63`](https://renovatebot.com/diffs/npm/ai/4.1.51/4.1.63) | [![age](https://developer.mend.io/api/mc/badges/age/npm/ai/4.1.63?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ai/4.1.63?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ai/4.1.51/4.1.63?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ai/4.1.51/4.1.63?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [bullmq](https://bullmq.io/) ([source](https://redirect.github.com/taskforcesh/bullmq)) | [`5.43.1` -> `5.44.0`](https://renovatebot.com/diffs/npm/bullmq/5.43.1/5.44.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/bullmq/5.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/bullmq/5.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/bullmq/5.43.1/5.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/bullmq/5.43.1/5.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [foxact](https://foxact.skk.moe) ([source](https://redirect.github.com/SukkaW/foxact)) | [`0.2.44` -> `0.2.45`](https://renovatebot.com/diffs/npm/foxact/0.2.44/0.2.45) | [![age](https://developer.mend.io/api/mc/badges/age/npm/foxact/0.2.45?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/foxact/0.2.45?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/foxact/0.2.44/0.2.45?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/foxact/0.2.44/0.2.45?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [graphql-scalars](https://redirect.github.com/Urigo/graphql-scalars) | [`1.24.1` -> `1.24.2`](https://renovatebot.com/diffs/npm/graphql-scalars/1.24.1/1.24.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/graphql-scalars/1.24.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/graphql-scalars/1.24.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/graphql-scalars/1.24.1/1.24.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/graphql-scalars/1.24.1/1.24.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [lucide-react](https://lucide.dev) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.482.0` -> `^0.483.0`](https://renovatebot.com/diffs/npm/lucide-react/0.482.0/0.483.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.483.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-react/0.483.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-react/0.482.0/0.483.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.482.0/0.483.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [mimalloc](https://redirect.github.com/purpleprotocol/mimalloc_rust) | `0.1.43` -> `0.1.44` | [![age](https://developer.mend.io/api/mc/badges/age/crate/mimalloc/0.1.44?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/mimalloc/0.1.44?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/mimalloc/0.1.43/0.1.44?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/mimalloc/0.1.43/0.1.44?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [nanoid](https://redirect.github.com/ai/nanoid) | [`5.1.4` -> `5.1.5`](https://renovatebot.com/diffs/npm/nanoid/5.1.4/5.1.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nanoid/5.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nanoid/5.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nanoid/5.1.4/5.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nanoid/5.1.4/5.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [nanoid](https://redirect.github.com/ai/nanoid) | [`5.1.4` -> `5.1.5`](https://renovatebot.com/diffs/npm/nanoid/5.1.4/5.1.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nanoid/5.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nanoid/5.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nanoid/5.1.4/5.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nanoid/5.1.4/5.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [nestjs-cls](https://papooch.github.io/nestjs-cls/) ([source](https://redirect.github.com/Papooch/nestjs-cls)) | [`5.4.0` -> `5.4.1`](https://renovatebot.com/diffs/npm/nestjs-cls/5.4.0/5.4.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nestjs-cls/5.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nestjs-cls/5.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nestjs-cls/5.4.0/5.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nestjs-cls/5.4.0/5.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [openai](https://redirect.github.com/openai/openai-node) | [`4.87.3` -> `4.88.0`](https://renovatebot.com/diffs/npm/openai/4.87.3/4.88.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/openai/4.88.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/openai/4.88.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/openai/4.87.3/4.88.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/openai/4.87.3/4.88.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [playwright](https://playwright.dev) ([source](https://redirect.github.com/microsoft/playwright)) | [`=1.51.0` -> `=1.51.1`](https://renovatebot.com/diffs/npm/playwright/1.51.0/1.51.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright/1.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright/1.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright/1.51.0/1.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright/1.51.0/1.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [react-day-picker](https://daypicker.dev) ([source](https://redirect.github.com/gpbl/react-day-picker)) | [`9.6.2` -> `9.6.3`](https://renovatebot.com/diffs/npm/react-day-picker/9.6.2/9.6.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-day-picker/9.6.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-day-picker/9.6.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-day-picker/9.6.2/9.6.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-day-picker/9.6.2/9.6.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [sinon](https://sinonjs.org/) ([source](https://redirect.github.com/sinonjs/sinon)) | [`19.0.2` -> `19.0.4`](https://renovatebot.com/diffs/npm/sinon/19.0.2/19.0.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/sinon/19.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/sinon/19.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/sinon/19.0.2/19.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/sinon/19.0.2/19.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [storybook](https://redirect.github.com/storybookjs/storybook/tree/next/code/lib/cli) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/lib/cli)) | [`8.6.6` -> `8.6.7`](https://renovatebot.com/diffs/npm/storybook/8.6.6/8.6.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/storybook/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/storybook/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/storybook/8.6.6/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/storybook/8.6.6/8.6.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [text-splitter](https://redirect.github.com/benbrandt/text-splitter) | `0.24.1` -> `0.24.2` | [![age](https://developer.mend.io/api/mc/badges/age/crate/text-splitter/0.24.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/text-splitter/0.24.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/text-splitter/0.24.1/0.24.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/text-splitter/0.24.1/0.24.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [typedoc](https://typedoc.org) ([source](https://redirect.github.com/TypeStrong/TypeDoc)) | [`^0.27.4` -> `^0.28.0`](https://renovatebot.com/diffs/npm/typedoc/0.27.9/0.28.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typedoc/0.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typedoc/0.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typedoc/0.27.9/0.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typedoc/0.27.9/0.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [typedoc-plugin-markdown](https://typedoc-plugin-markdown.org) ([source](https://redirect.github.com/typedoc2md/typedoc-plugin-markdown/tree/HEAD/packages/typedoc-plugin-markdown)) | [`4.5.0` -> `4.5.2`](https://renovatebot.com/diffs/npm/typedoc-plugin-markdown/4.5.0/4.5.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typedoc-plugin-markdown/4.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typedoc-plugin-markdown/4.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typedoc-plugin-markdown/4.5.0/4.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typedoc-plugin-markdown/4.5.0/4.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [uniffi](https://mozilla.github.io/uniffi-rs) ([source](https://redirect.github.com/mozilla/uniffi-rs)) | `0.29.0` -> `0.29.1` | [![age](https://developer.mend.io/api/mc/badges/age/crate/uniffi/0.29.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/uniffi/0.29.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/uniffi/0.29.0/0.29.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/uniffi/0.29.0/0.29.1?slim=true)](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.0.8` -> `3.0.9`](https://renovatebot.com/diffs/npm/vitest/3.0.8/3.0.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/3.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest/3.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest/3.0.8/3.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/3.0.8/3.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [net.java.dev.jna:jna](https://redirect.github.com/java-native-access/jna) | `5.16.0` -> `5.17.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/net.java.dev.jna:jna/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/net.java.dev.jna:jna/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/net.java.dev.jna:jna/5.16.0/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/net.java.dev.jna:jna/5.16.0/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |

---

### Release Notes

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

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

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

##### Patch Changes

-   [`0bd5bc6`](https://redirect.github.com/vercel/ai/commit/0bd5bc6): feat (ai): support model-generated files
-   Updated dependencies \[[`0bd5bc6`](https://redirect.github.com/vercel/ai/commit/0bd5bc6)]
    -   [@&#8203;ai-sdk/provider](https://redirect.github.com/ai-sdk/provider)[@&#8203;1](https://redirect.github.com/1).0.12
    -   [@&#8203;ai-sdk/provider-utils](https://redirect.github.com/ai-sdk/provider-utils)[@&#8203;2](https://redirect.github.com/2).1.14

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

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

##### Patch Changes

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

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

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

##### Patch Changes

-   [`5261762`](https://redirect.github.com/vercel/ai/commit/5261762): fix (provider/google): ensure correct finishReason for tool calls in streaming response

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

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

##### Patch Changes

-   [`413f5a7`](https://redirect.github.com/vercel/ai/commit/413f5a7): feat (providers/google): add gemma 3 model id

### [`v1.1.22`](https://redirect.github.com/vercel/ai/releases/tag/%40ai-sdk/react%401.1.22)

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

##### Patch Changes

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

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

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

##### Patch Changes

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

### [`v1.1.20`](https://redirect.github.com/vercel/ai/releases/tag/%40ai-sdk/react%401.1.20)

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

##### Patch Changes

-   [`6255fbc`](https://redirect.github.com/vercel/ai/commit/6255fbc): fix (ai/react): update messages when initialMessages changes

</details>

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

### [`v1.51.1`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.51.1)

[Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.51.0...v1.51.1)

##### Highlights

[https://github.com/microsoft/playwright/issues/35093](https://redirect.github.com/microsoft/playwright/issues/35093) - \[Regression]: TimeoutOverflowWarning: [`2149630`](https://redirect.github.com/microsoft/playwright/commit/2149630296).634 does not fit into a 32-bit signed integer
[https://github.com/microsoft/playwright/issues/35138](https://redirect.github.com/microsoft/playwright/issues/35138) - \[Regression]: TypeError: Cannot read properties of undefined (reading 'expectInfo')

#### Browser Versions

-   Chromium 134.0.6998.35
-   Mozilla Firefox 135.0
-   WebKit 18.4

This version was also tested against the following stable channels:

-   Google Chrome 133
-   Microsoft Edge 133

</details>

<details>
<summary>resend/react-email (@&#8203;react-email/components)</summary>

### [`v0.0.34`](https://redirect.github.com/resend/react-email/releases/tag/%40react-email/components%400.0.34): @&#8203;react-email/components 0.0.34

[Compare Source](https://redirect.github.com/resend/react-email/compare/@react-email/components@0.0.33...@react-email/components@0.0.34)

#### What's Changed

-   Updated dependencies \[[`bfe1936`](https://redirect.github.com/resend/react-email/commit/bfe1936)]
    -   [@&#8203;react-email/text](https://redirect.github.com/react-email/text)[@&#8203;0](https://redirect.github.com/0).1.0

**Full Changelog**: https://github.com/resend/react-email/compare/[@&#8203;react-email/components](https://redirect.github.com/react-email/components)[@&#8203;0](https://redirect.github.com/0).0.33...[@&#8203;react-email/components](https://redirect.github.com/react-email/components)[@&#8203;0](https://redirect.github.com/0).0.34

</details>

<details>
<summary>getsentry/sentry-electron (@&#8203;sentry/electron)</summary>

### [`v6.2.0`](https://redirect.github.com/getsentry/sentry-electron/blob/HEAD/CHANGELOG.md#620)

[Compare Source](https://redirect.github.com/getsentry/sentry-electron/compare/6.1.0...6.2.0)

-   feat: Update from
    [v9.1.0](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.1.0) to
    [v9.6.0](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.6.0)
-   feat: Use new `registerPreloadScript` API in Electron >= v35 ([#&#8203;1098](https://redirect.github.com/getsentry/sentry-electron/issues/1098))
-   feat: Add `gpuContextIntegration` ([#&#8203;1097](https://redirect.github.com/getsentry/sentry-electron/issues/1097))
-   feat: Parse crashpad metadata from minidumps and include in electron context
    ([#&#8203;1095](https://redirect.github.com/getsentry/sentry-electron/issues/1095))

</details>

<details>
<summary>getsentry/sentry-javascript (@&#8203;sentry/react)</summary>

### [`v9.6.1`](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.6.1)

[Compare Source](https://redirect.github.com/getsentry/sentry-javascript/compare/9.6.0...9.6.1)

-   feat(deps): bump [@&#8203;prisma/instrumentation](https://redirect.github.com/prisma/instrumentation) from 6.4.1 to 6.5.0 ([#&#8203;15714](https://redirect.github.com/getsentry/sentry-javascript/pull/15714))
-   feat(deps): bump [@&#8203;sentry/cli](https://redirect.github.com/sentry/cli) from 2.42.2 to 2.42.3 ([#&#8203;15711](https://redirect.github.com/getsentry/sentry-javascript/pull/15711))
-   fix(nextjs): Re-patch router if it is overridden by Next.js ([#&#8203;15721](https://redirect.github.com/getsentry/sentry-javascript/pull/15721))
-   fix(nuxt): Add Nitro Rollup plugin to inject Sentry server config ([#&#8203;15710](https://redirect.github.com/getsentry/sentry-javascript/pull/15710))
-   chore(deps): Bump rollup to 4.35.0 ([#&#8203;15651](https://redirect.github.com/getsentry/sentry-javascript/pull/15651))

#### Bundle size 📦

| Path                                                             | Size              |
| ---------------------------------------------------------------- | ----------------- |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser)                                                  | 23.15 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) - with treeshaking flags                         | 22.94 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing)                                  | 36.21 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay)                          | 73.39 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay) - with treeshaking flags | 66.81 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay with Canvas)              | 78.01 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay, Feedback)                | 90.57 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Feedback)                                 | 40.3 KB   |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. sendFeedback)                             | 27.79 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. FeedbackAsync)                            | 32.58 KB  |
| [@&#8203;sentry/react](https://redirect.github.com/sentry/react)                                                    | 24.97 KB  |
| [@&#8203;sentry/react](https://redirect.github.com/sentry/react) (incl. Tracing)                                    | 38.1 KB   |
| [@&#8203;sentry/vue](https://redirect.github.com/sentry/vue)                                                      | 27.4 KB   |
| [@&#8203;sentry/vue](https://redirect.github.com/sentry/vue) (incl. Tracing)                                      | 37.9 KB   |
| [@&#8203;sentry/svelte](https://redirect.github.com/sentry/svelte)                                                   | 23.18 KB  |
| CDN Bundle                                                       | 24.36 KB  |
| CDN Bundle (incl. Tracing)                                       | 36.26 KB  |
| CDN Bundle (incl. Tracing, Replay)                               | 71.27 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback)                     | 76.45 KB  |
| CDN Bundle - uncompressed                                        | 71.19 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                        | 107.57 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                | 218.83 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed      | 231.39 KB |
| [@&#8203;sentry/nextjs](https://redirect.github.com/sentry/nextjs) (client)                                          | 39.38 KB  |
| [@&#8203;sentry/sveltekit](https://redirect.github.com/sentry/sveltekit) (client)                                       | 36.63 KB  |
| [@&#8203;sentry/node](https://redirect.github.com/sentry/node)                                                     | 142.29 KB |
| [@&#8203;sentry/node](https://redirect.github.com/sentry/node) - without tracing                                   | 95.71 KB  |
| [@&#8203;sentry/aws-serverless](https://redirect.github.com/sentry/aws-serverless)                                           | 120.06 KB |

### [`v9.6.0`](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.6.0)

[Compare Source](https://redirect.github.com/getsentry/sentry-javascript/compare/9.5.0...9.6.0)

##### Important Changes

-   **feat(tanstackstart): Add `@sentry/tanstackstart-react` package and make `@sentry/tanstackstart` package a utility package ([#&#8203;15629](https://redirect.github.com/getsentry/sentry-javascript/pull/15629))**

    Since TanStack Start is supposed to be a generic framework that supports libraries like React and Solid, the `@sentry/tanstackstart` SDK package was renamed to `@sentry/tanstackstart-react` to reflect that the SDK is specifically intended to be used for React TanStack Start applications.
    Note that the TanStack Start SDK is still in alpha status and may be subject to breaking changes in non-major package updates.

##### Other Changes

-   feat(astro): Accept all vite-plugin options ([#&#8203;15638](https://redirect.github.com/getsentry/sentry-javascript/pull/15638))
-   feat(deps): bump [@&#8203;sentry/webpack-plugin](https://redirect.github.com/sentry/webpack-plugin) from 3.2.1 to 3.2.2 ([#&#8203;15627](https://redirect.github.com/getsentry/sentry-javascript/pull/15627))
-   feat(tanstackstart): Refine initial API ([#&#8203;15574](https://redirect.github.com/getsentry/sentry-javascript/pull/15574))
-   fix(core): Ensure `fill` only patches functions ([#&#8203;15632](https://redirect.github.com/getsentry/sentry-javascript/pull/15632))
-   fix(nextjs): Consider `pageExtensions` when looking for instrumentation file ([#&#8203;15701](https://redirect.github.com/getsentry/sentry-javascript/pull/15701))
-   fix(remix): Null-check `options` ([#&#8203;15610](https://redirect.github.com/getsentry/sentry-javascript/pull/15610))
-   fix(sveltekit): Correctly parse angle bracket type assertions for auto instrumentation ([#&#8203;15578](https://redirect.github.com/getsentry/sentry-javascript/pull/15578))
-   fix(sveltekit): Guard process variable ([#&#8203;15605](https://redirect.github.com/getsentry/sentry-javascript/pull/15605))

Work in this release was contributed by [@&#8203;angelikatyborska](https://redirect.github.com/angelikatyborska) and [@&#8203;nwalters512](https://redirect.github.com/nwalters512). Thank you for your contributions!

#### Bundle size 📦

| Path                                                             | Size              |
| ---------------------------------------------------------------- | ----------------- |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser)                                                  | 23.15 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) - with treeshaking flags                         | 22.94 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing)                                  | 36.21 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay)                          | 73.39 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay) - with treeshaking flags | 66.8 KB   |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay with Canvas)              | 78.01 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay, Feedback)                | 90.57 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Feedback)                                 | 40.3 KB   |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. sendFeedback)                             | 27.79 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. FeedbackAsync)                            | 32.58 KB  |
| [@&#8203;sentry/react](https://redirect.github.com/sentry/react)                                                    | 24.97 KB  |
| [@&#8203;sentry/react](https://redirect.github.com/sentry/react) (incl. Tracing)                                    | 38.1 KB   |
| [@&#8203;sentry/vue](https://redirect.github.com/sentry/vue)                                                      | 27.4 KB   |
| [@&#8203;sentry/vue](https://redirect.github.com/sentry/vue) (incl. Tracing)                                      | 37.9 KB   |
| [@&#8203;sentry/svelte](https://redirect.github.com/sentry/svelte)                                                   | 23.18 KB  |
| CDN Bundle                                                       | 24.36 KB  |
| CDN Bundle (incl. Tracing)                                       | 36.26 KB  |
| CDN Bundle (incl. Tracing, Replay)                               | 71.27 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback)                     | 76.45 KB  |
| CDN Bundle - uncompressed                                        | 71.19 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                        | 107.57 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                | 218.84 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed      | 231.4 KB  |
| [@&#8203;sentry/nextjs](https://redirect.github.com/sentry/nextjs) (client)                                          | 39.27 KB  |
| [@&#8203;sentry/sveltekit](https://redirect.github.com/sentry/sveltekit) (client)                                       | 36.63 KB  |
| [@&#8203;sentry/node](https://redirect.github.com/sentry/node)                                                     | 142.15 KB |
| [@&#8203;sentry/node](https://redirect.github.com/sentry/node) - without tracing                                   | 95.58 KB  |
| [@&#8203;sentry/aws-serverless](https://redirect.github.com/sentry/aws-serverless)                                           | 119.92 KB |

</details>

<details>
<summary>slackapi/node-slack-sdk (@&#8203;slack/web-api)</summary>

### [`v7.9.0`](https://redirect.github.com/slackapi/node-slack-sdk/compare/@slack/web-api@7.8.0...@slack/web-api@7.9.0)

[Compare Source](https://redirect.github.com/slackapi/node-slack-sdk/compare/@slack/web-api@7.8.0...@slack/web-api@7.9.0)

</details>

<details>
<summary>storybookjs/storybook (@&#8203;storybook/addon-essentials)</summary>

### [`v8.6.7`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#867)

[Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v8.6.6...v8.6.7)

-   React-Native-Web: Fix errors in CLI template stories - [#&#8203;30821](https://redirect.github.com/storybookjs/storybook/pull/30821), thanks [@&#8203;dannyhw](https://redirect.github.com/dannyhw)!

</details>

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

### [`v1.11.11`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#11111---2025-03-17)

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

##### Bug Fixes

-   **(es/ast)** Fix Typo in API ([#&#8203;10210](https://redirect.github.com/swc-project/swc/issues/10210)) ([8eb87ba](8eb87ba896))

-   **(es/minifier)** Do not drop numbers incorrectly ([#&#8203;10211](https://redirect.github.com/swc-project/swc/issues/10211)) ([80ccd86](80ccd861a2))

-   **(es/minifier)** Allow TypeScript nodes to fix `styled-jsx` ([#&#8203;10221](https://redirect.github.com/swc-project/swc/issues/10221)) ([9d87d4d](9d87d4d8e4))

##### Features

-   **(es/minifier)** Default to the smallest size ([#&#8203;10218](https://redirect.github.com/swc-project/swc/issues/10218)) ([800f51a](800f51aae5))

##### Miscellaneous Tasks

-   **(es/minifier)** Make `test.sh` faster ([#&#8203;10209](https://redirect.github.com/swc-project/swc/issues/10209)) ([f28d96e](f28d96e356))

##### Refactor

-   **(es/minifier)** Move some deps to dev deps ([#&#8203;10216](https://redirect.github.com/swc-project/swc/issues/10216)) ([1dcdbbc](1dcdbbc78d))

##### Testing

-   **(es/minifier)** Add full tests back ([#&#8203;10212](https://redirect.github.com/swc-project/swc/issues/10212)) ([e6c04b4](e6c04b4f58))

-   **(es/minifier)** Remove `full` tests with too large input ([#&#8203;10213](https://redirect.github.com/swc-project/swc/issues/10213)) ([99b590f](99b590f869))

### [`v1.11.10`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#11110---2025-03-17)

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

##### Bug Fixes

-   **(es/proposal)** Fix declarations for `explicit-resource-management` ([#&#8203;10198](https://redirect.github.com/swc-project/swc/issues/10198)) ([99ba555](99ba555c81))

-   **(es/types)** Add missing types for `jsc.transform.react.refresh` ([#&#8203;10206](https://redirect.github.com/swc-project/swc/issues/10206)) ([e71b000](e71b000392))

-   **(typescript)** Skip the body of ArrowExpr in type usage analysis  ([#&#8203;10187](https://redirect.github.com/swc-project/swc/issues/10187)) ([9aca205](9aca205c77))

##### Documentation

-   **(es/minifier)** Make `minifier` example utilize comments ([#&#8203;10195](https://redirect.github.com/swc-project/swc/issues/10195)) ([ec3ebe7](ec3ebe78ff))

##### Features

-   **(es/fast-parser)** Implement the initial version ([#&#8203;10185](https://redirect.github.com/swc-project/swc/issues/10185)) ([44e7c39](44e7c39fda))

##### Miscellaneous Tasks

-   **(es/minifier)** Fix lints & `size.sh` ([#&#8203;10191](https://redirect.github.com/swc-project/swc/issues/10191)) ([e862c32](e862c329fc))

##### Performance

-   **(es/minifier)** Do not repeat applying pure minifier on last ([#&#8203;10196](https://redirect.github.com/swc-project/swc/issues/10196)) ([e6b7cee](e6b7cee6cd))

##### Refactor

-   **(es/minifier)** Remove code for infinite loop ([#&#8203;10194](https://redirect.github.com/swc-project/swc/issues/10194)) ([fcc6884](fcc6884242))

##### Testing

-   **(es/minifier)** Update test inputs ([#&#8203;10193](https://redirect.github.com/swc-project/swc/issues/10193)) ([97d8337](97d83372dc))

-   **(es/minifier)** Add a benchmark for real-world inputs ([#&#8203;10204](https://redirect.github.com/swc-project/swc/issues/10204)) ([97f2180](97f2180e86))

-   **(es/minifier)** Disable real-world benchmarks on CI ([#&#8203;10205](https://redirect.github.com/swc-project/swc/issues/10205)) ([c5f1cbe](c5f1cbe467))

-   **(es/minifier)** Test only sizes for large inputs ([#&#8203;10208](https://redirect.github.com/swc-project/swc/issues/10208)) ([bec3e3e](bec3e3e960))

</details>

<details>
<summary>vitejs/vite-plugin-react-swc (@&#8203;vitejs/plugin-react-swc)</summary>

### [`v3.8.1`](https://redirect.github.com/vitejs/vite-plugin-react-swc/blob/HEAD/CHANGELOG.md#381)

[Compare Source](https://redirect.github.com/vitejs/vite-plugin-react-swc/compare/v3.8.0...v3.8.1)

##### Remove WebContainers warning [#&#8203;268](https://redirect.github.com/vitejs/vite-plugin-react-swc/pull/268)

SWC is now supported in WebContainers 🎉

</details>

<details>
<summary>vitest-dev/vitest (@&#8203;vitest/browser)</summary>

### [`v3.0.9`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v3.0.9)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.8...v3.0.9)

#####    🐞 Bug Fixes

-   Typings of `ctx.skip()` as `never`  -  by [@&#8203;sirlancelot](https://redirect.github.com/sirlancelot) in [https://github.com/vitest-dev/vitest/issues/7608](https://redirect.github.com/vitest-dev/vitest/issues/7608) [<samp>(09f35)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/09f35301)
-   Cleanup vitest in public `resolveConfig` API  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7623](https://redirect.github.com/vitest-dev/vitest/issues/7623) [<samp>(db14a)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/db14ab71)
-   Fix `toHaveBeenCalledWith(asymmetricMatcher)` with `undefined` arguments  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7624](https://redirect.github.com/vitest-dev/vitest/issues/7624) [<samp>(0fb21)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/0fb21faa)
-   Race condition in RPC filesystem cache.  -  by [@&#8203;dts](https://redirect.github.com/

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDAuMCIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-20 17:03:05 +00:00
Saul-Mirone
57388e4cf7 feat(editor): footnote inline package (#11049) 2025-03-20 16:18:22 +00:00
Saul-Mirone
e5e429e7b2 feat(editor): add inline packages (#11048) 2025-03-20 13:47:35 +00:00
Brooooooklyn
aa620af40f feat(native): mix the input and output audio (#11037) 2025-03-20 13:11:27 +00:00
pengx17
fad49bb070 feat(editor): audio block (#10947)
AudioMedia entity for loading & controlling a single audio media
AudioMediaManagerService: Global audio state synchronization across tabs
AudioAttachmentService + AudioAttachmentBlock for manipulating AttachmentBlock in affine - e.g., filling transcription (using mock endpoint for now)
Added AudioBlock + AudioPlayer for rendering audio block in affine (new transcription block whose renderer is provided in affine)

fix AF-2292
fix AF-2337
2025-03-20 12:46:15 +00:00
zzj3720
8a5393ea50 fix(editor): some bugs of member column (#11033)
fix: BS-2840
2025-03-20 12:24:25 +00:00
Saul-Mirone
66ea3038af refactor(editor): align rich text util apis (#11039) 2025-03-20 10:40:11 +00:00
Saul-Mirone
77e659d0b0 feat(editor): std inline extensions (#11038) 2025-03-20 10:40:11 +00:00
darkskygit
b24376a9f7 feat(server): impl context model (#11027) 2025-03-20 10:24:28 +00:00
Saul-Mirone
c1ec17ccba feat(editor): add block meta for more blocks (#11034) 2025-03-20 10:08:01 +00:00
fundon
27a8afa33f chore(editor): remove redundant line styles components (#10980)
* Moved `edgeless-line-styles-panel` and `edgeless-line-width-panel` into components pkg
2025-03-20 09:48:02 +00:00
fengmk2
42745f059d feat(server): send mention email (#10859)
close CLOUD-170
2025-03-20 09:26:42 +00:00
donteatfriedrice
5ea65b1709 feat(editor): support converting inline link to embed iframe block (#11030)
To close [BS-2846](https://linear.app/affine-design/issue/BS-2846/支持-inline-link-转成-embed-iframe-block)
2025-03-20 08:56:25 +00:00
donteatfriedrice
f4202a7976 refactor(editor): move embed iframe config and service extension to shared (#11029) 2025-03-20 08:56:25 +00:00
L-Sun
da63d51b7e refactor(editor): group and expose parameters of createButtonPopper (#10999) 2025-03-20 08:37:59 +00:00
akumatus
6ff19ca307 feat(core): hybird search for docs, tags and collections (#11008)
Close [BS-2466](https://linear.app/affine-design/issue/BS-2466).

![截屏2025-03-19 18.25.38.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/15ba2b7d-2d91-408a-8e7d-93f845017bcb.png)
2025-03-20 08:21:25 +00:00
forehalo
03364f9d03 chore(server): allow adjust selfhost team quantity (#11022)
close CLOUD-165
2025-03-20 08:04:10 +00:00
zzj3720
c355644d47 fix(editor): some bugs of attachment column (#11031)
fix: BS-2838, BS-2837, BS-2836
2025-03-20 07:48:26 +00:00
JimmFly
d47bb64597 feat(core): add no access to share menu (#10927) 2025-03-20 07:31:11 +00:00
darkskygit
c16ae2d5b4 feat(server): audio transcription (#10733) 2025-03-20 07:12:27 +00:00
akumatus
bd5d930490 feat(core): document search shows up to three results (#11002)
Close [BS-2828](https://linear.app/affine-design/issue/BS-2828).

![截屏2025-03-19 17.49.11.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/9548afcc-5707-435f-93b2-25e42fddc97f.png)
2025-03-20 06:55:56 +00:00
yoyoyohamapi
8cfdc48b57 refactor(core): ai message style (#10950)
### TL;DR
Refactor style of AI chat message

> CLOSE AF-2338, AF-2328, AF-2327

### What Changed
* Adjust style of chat action message
* Adjust style of chat error message
* Refactor style of chat message box
2025-03-20 06:39:27 +00:00
yoyoyohamapi
99491eb3c5 refactor(core): reorganize chat-panel components (#10935)
### TL;DR
Split complex chat message component into smaller, reusable units with ​finer granularity

> CLOSE AF-2323 AF-2326

### What Changed
* Split messages into components:
  * `<chat-message-assistant />`
  * `<chat-message-user />`
  * `<chat-message-action />`
* Split message content into types:
  * `<chat-content-images />`
  * `<chat-content-rich-text />`
  * `<chat-content-pure-text />`
2025-03-20 06:39:27 +00:00
fundon
1f2caca3f5 fix(editor): should not show toolbar when elements have been deleted (#11026)
Closes: [BS-2691](https://linear.app/affine-design/issue/BS-2691/[bug]-当-edgeless-为空的时候,点击-space-会在左上角出现一个莫名的-toolbar)
2025-03-20 06:01:57 +00:00
Saul-Mirone
92d76ba571 refactor(editor): merge inline to std (#11025) 2025-03-20 05:46:56 +00:00
yoyoyohamapi
5aa36efab0 refactor(core): simplify chat panel user message rendering (#10910)
### TL;DR
Refactor style of  user chat message

> CLOSE AF-2323 AF-2324 AF-2325

### What Changed
* Refactor style of user message.
* Refactor style of image message.
2025-03-20 04:59:10 +00:00
donteatfriedrice
e83f7eba00 feat(editor): add embed iframe provider google docs (#10998)
Related [BS-2835](https://linear.app/affine-design/issue/BS-2835/支持更多-embed-iframe-providers)
2025-03-20 04:42:26 +00:00
EYHN
bfe2525b50 fix(core): public user avatar missing (#11023) 2025-03-20 04:25:56 +00:00
Saul-Mirone
75580e881b refactor(editor): move gfx frame title to widget (#11021) 2025-03-20 04:10:56 +00:00
EYHN
120e193c58 feat(core): add notifications settings (#11004) 2025-03-20 03:52:56 +00:00
donteatfriedrice
46ed76ecb0 feat(editor): add embed iframe provider excalidraw (#10997) 2025-03-20 03:14:42 +00:00
CatsJuice
54ee2ee5ec fix(component): correct notification card's border radius (#10802) 2025-03-20 02:54:27 +00:00
EYHN
55cb4dc5e7 feat(core): adjust guard service support loading state (#10989) 2025-03-20 10:53:41 +08:00
fundon
b88e7f0e35 chore(editor): remove redundant card-style-panel component (#10973)
Moved `CardStylePanel` into `CardStyleDropdownMenu`.
2025-03-20 02:08:22 +00:00
fundon
1c0c698375 chore(editor): remove redundant edgeless-align-panel component (#10972) 2025-03-20 02:08:22 +00:00
fundon
8b995ea420 chore(editor): remove edgeless element toolbar (#10900) 2025-03-20 02:08:21 +00:00
fundon
831f290f84 refactor(editor): edgeless toolbar chevron down icon (#10898) 2025-03-20 02:08:20 +00:00
fundon
a7acd5c5b1 refactor(editor): fix edgeless toolbar theme (#10897) 2025-03-20 02:08:20 +00:00
fundon
ccc210f88a refactor(core): edgeless toolbar ai action config extension (#10884) 2025-03-20 02:08:19 +00:00
fundon
ac705c724e refactor(editor): edgeless toolbar linked doc custom config extension (#10883) 2025-03-20 02:08:19 +00:00
fundon
a004a2cfab refactor(editor): edgeless toolbar more actions (#10882) 2025-03-20 02:08:18 +00:00
fundon
39704aac66 refactor(editor): edgeless toolbar alignment actions (#10881) 2025-03-20 02:08:18 +00:00
fundon
e4b8b367ce refactor(editor): edgeless toolbar add frame action (#10880) 2025-03-20 02:08:17 +00:00
fundon
4a4893a380 refactor(editor): edgeless toolbar add group action and release group action (#10879) 2025-03-20 02:08:17 +00:00
fundon
07a64eb004 refactor(editor): edgeless toolbar lock and unlock actions (#10878) 2025-03-20 02:08:16 +00:00
fundon
bd9b78f7d2 refactor(editor): edgeless toolbar quick connect action (#10876) 2025-03-20 02:08:16 +00:00
fundon
54bc60aa4d refactor(editor): edgeless shape toolbar config extension (#10821) 2025-03-20 02:08:16 +00:00
fundon
1acc7e5a9e refactor(editor): edgeless text toolbar config extension (#10811) 2025-03-20 02:08:15 +00:00
Saul-Mirone
cdd405bbe5 refactor(editor): improve edgeless editors (#11019) 2025-03-20 01:49:56 +00:00
Saul-Mirone
258c70cf07 refactor(editor): store should not rely on inline (#11017) 2025-03-20 01:33:29 +00:00
akumatus
ee337a16af feat(core): support collection search for ai chat (#10987)
Close [BS-2787](https://linear.app/affine-design/issue/BS-2787).
Close [BS-2788](https://linear.app/affine-design/issue/BS-2788).

![截屏2025-03-19 14.15.54.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/573450f9-791b-4cd9-9c75-df93bf9966b4.png)
2025-03-20 00:34:12 +00:00
forehalo
f889886b31 refactor(server): e2e utilities (#11000) 2025-03-19 17:00:20 +00:00
forehalo
21c4a29f55 refactor(server): mail service (#10934) 2025-03-19 17:00:19 +00:00
forehalo
b3a245f47a chore(server): better internal error stack (#11009) 2025-03-19 16:41:56 +00:00
Saul-Mirone
b3c6333694 refactor(editor): remove note block service (#11015) 2025-03-20 01:04:20 +09:00
Saul-Mirone
2701be8d08 refactor(editor): remove empty block services (#11014) 2025-03-20 01:04:20 +09:00
Saul-Mirone
76dc55f328 refactor(editor): remove legacy block service spec slots (#11013) 2025-03-20 01:04:18 +09:00
doouding
1c8d25bc29 feat: add ElementTransformManager for edgeless element basic manipulation (#10824)
### Overview:
We've been working with some legacy code in the default-tool and edgeless-selected-rect modules, which are responsible for fundamental operations like moving, resizing, and rotating elements. Currently, these operations are hardcoded, making it challenging to extend functionalities without diving deep into the code.

### What's Changing:
Introducing `ElementTransformManager` to streamline the handling of basic transformations (move, resize, rotate) while allowing the business logic to dictate when these actions occur.

Providing two ways to extend the transformations behaviour:
- Extends inside element view definition: Elements can decide how to handle move/resize events, such as enforcing size constraints.
- Extension mechanism provided by this manager: Adjust or completely override default drag behaviors, like snapping elements into alignment.

### Code Examples:
Delegate element movement to TransformManager:
```typescript
class DefaultTool {
  override dragStart(event) {
    if(this.dragType === DragType.ContentMoving) {
      const transformManager = this.std.get(TransformManagerIdentifier);
      transformManager.startDrag({ selectedElements, event });
    }
  }
}
```

 Enforce minimum width inside view definition:
```typescript
class EdgelessNoteBlock extends GfxBlockComponent {
  onResizeDelta({ dw, dh }) {
    const bound = this.model.elementBound;
    bound.w = Math.min(MAX_WIDTH, bound.w + dw);
    bound.h = Math.min(MAX_HEIGHT, bound.h + dh);
    this.model.xywh = bound.serialize();
  }
}
```

Use extension to implement element snapping:
```typescript
import { TransformerExtension } from '@blocksuite/std/gfx';

// Just extends the TransformerExtension
class SnapManager extends TransformerExtension {
  static override key = 'snap-manager';
  onDragInitialize() {
    return {
      onDragMove(context) {
        const { dx, dy } = this.getAlignmentMoveDistance(context.elements);
        context.dx = dx;
        context.dy = dy;
      }
    }
  }
}
```

### Others

The migration will be divided into several PRs. This PR mostly focus on refactoring elements movement part of `default-tool`.
- Delegate elements movement to `TransformManager`
- Rewrite the default tool extension into `TransformManager` extension
- Add drag handler interface to gfx view (both `GfxBlockComponent` and `GfxElementModelView`) to allow element to define how it gonna react on drag
2025-03-19 15:30:06 +00:00
fengmk2
89a0880bb3 feat(server): record pending updates count to metrics (#10991)
close CLOUD-161
2025-03-19 15:10:25 +00:00
fundon
c98f0900cc refactor(editor): edgeless mindmap toolbar config extension (#10803) 2025-03-19 14:50:55 +00:00
fundon
7f34667b78 refactor(editor): edgeless connector toolbar config extension (#10798) 2025-03-19 14:50:55 +00:00
darkskygit
b099546164 feat(server): copilot job models (#10732) 2025-03-19 14:34:14 +00:00
forehalo
dd31ef95db chore: bump otel packages in a group (#11001) 2025-03-19 14:17:02 +00:00
donteatfriedrice
f6e32d8894 feat(editor): add embed iframe provider miro (#10996) 2025-03-19 13:57:30 +00:00
Saul-Mirone
ee65d66d67 refactor(editor): remove code block service (#11010) 2025-03-19 13:38:10 +00:00
Saul-Mirone
1c6a876e6a refactor(editor): improve config extension (#11006) 2025-03-19 13:38:10 +00:00
Saul-Mirone
c1e16aeaa7 refactor(editor): remove paragraph service (#11003) 2025-03-19 13:38:09 +00:00
Brooooooklyn
9a697dc9bb chore(server): change the embedding params (#10994) 2025-03-19 13:18:59 +00:00
forehalo
33d57b455a chore(server): revert access control in sync module (#11011) 2025-03-19 12:58:56 +00:00
fundon
03ffc688c3 refactor(editor): edgeless brush toolbar config extension (#10796) 2025-03-19 12:34:19 +00:00
fundon
c44a339bd9 refactor(editor): edgeless group toolbar config extension (#10787) 2025-03-19 12:34:19 +00:00
fundon
f87cc0f599 refactor(editor): edgeless frame toolbar config extension (#10769) 2025-03-19 12:34:18 +00:00
fundon
e320552594 refactor(editor): edgeless note toolbar config extension (#10719) 2025-03-19 12:34:18 +00:00
fundon
b5406fa57a refactor(editor): edgeless image toolbar config extension (#10718) 2025-03-19 12:34:18 +00:00
fundon
e686a6aecc refactor(editor): edgeless internal embed card toolbar config extension (#10717) 2025-03-19 12:34:17 +00:00
fengmk2
ddd6c97b08 refactor(server): improve workspace content retrieval from database (#10964) 2025-03-19 12:16:53 +00:00
Saul-Mirone
a9b53839a6 refactor(editor): improve std structure (#10993) 2025-03-19 11:37:55 +00:00
L-Sun
9211fbf68c refactor(editor): move surface-ref toolbar to its block folder (#10938) 2025-03-19 10:54:22 +00:00
yoyoyohamapi
afc4158f47 refactor(core): separate rendering logic for user and assistant messages (#10909)
### TL;DR

Separate rendering logic for user and assistant messages.

> CLOSE AF-2323

### What Changed
- Rendering user message with `<chat-panel-message-user />` component.
- Rendering assistant message with `<chat-panel-message-assistant />` Component
2025-03-19 10:28:56 +00:00
fundon
a8ac3bdb3e fix(editor): adjust creation position to avoid being blocked by banner (#10992)
![Screenshot 2025-03-19 at 16.25.57.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/8ypiIKZXudF5a0tIgIzf/c06e5d3c-40c3-4277-bb6d-57aa75a6fb1f.png)
2025-03-19 10:01:53 +00:00
Saul-Mirone
ae3cb61943 chore: align vitest versions (#10990) 2025-03-19 08:57:24 +00:00
fengmk2
d00fd8316d refactor(server): remove unused randomDoc method (#10985)
close CLOUD-177
2025-03-19 06:45:22 +00:00
fundon
0442430971 refactor(editor): edgeless html embed card toolbar config extension (#10716) 2025-03-19 05:03:00 +00:00
doodlewind
80f62a995b perf(editor): improve resize frame rate (#10967)
This PR improves panel toggling FPS by minimizing DOM and canvas updates during resizing.

[Screen Recording 2025-03-18 at 11.57.45 PM.mov <span class="graphite__hidden">(uploaded via Graphite)</span> <img class="graphite__hidden" src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/lEGcysB4lFTEbCwZ8jMv/d36beeab-a2e4-4fd6-923a-705ce7fbcdf7.mov" />](https://app.graphite.dev/media/video/lEGcysB4lFTEbCwZ8jMv/d36beeab-a2e4-4fd6-923a-705ce7fbcdf7.mov)

### What changed?

- Added a debounced resize handling mechanism using RxJS's `debounceTime` operator
- Implemented a new resize strategy that preserves the top-left corner position during resizing
- Added state tracking for resize operations with `_isResizing` flag and `_initialTopLeft` coordinates
2025-03-19 04:42:23 +00:00
akumatus
47206b8d47 feat(core): support tag search for ai chat (#10965)
Close [BS-2785](https://linear.app/affine-design/issue/BS-2785).
Close [BS-2786](https://linear.app/affine-design/issue/BS-2786).

![截屏2025-03-18 21.22.34.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/fae7216a-0402-4f14-a63c-b89f5223fc72.png)
2025-03-19 04:22:11 +00:00
akumatus
b470eafd55 feat(core): add keyboard event listener to ai popover (#10952)
Close [BS-2827](https://linear.app/affine-design/issue/BS-2827).
2025-03-19 04:22:10 +00:00
akumatus
efe7e1d527 feat(core): add tags and collections menu item (#10951)
Close [BS-2827](https://linear.app/affine-design/issue/BS-2827).

![截屏2025-03-18 15.22.02.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/18a3cdc1-e0dd-46e6-a113-e9e1ae27c98d.png)
2025-03-19 04:22:09 +00:00
fundon
7f4b56e05c refactor(editor): edgeless external embed card toolbar config extension (#10712) 2025-03-19 04:05:36 +00:00
CatsJuice
284aae9b52 fix(core): remove unexpected comma (#10984) 2025-03-19 03:49:53 +00:00
L-Sun
68bc2db560 fix(editor): descendant elements are missing in edgelessToCanvas (#10933)
### Before

![CleanShot 2025-03-17 at 20.24.39@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/MyRfgiN4RuBxJfrza3SG/c097d8b2-69df-4965-8e49-3798e930e779.png)

### After

![CleanShot 2025-03-17 at 20.24.17@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/MyRfgiN4RuBxJfrza3SG/6af03a7d-1e64-4ced-ac4d-e7cbc5648da6.png)
2025-03-19 03:35:06 +00:00
pengx17
a118cbd036 fix(editor): chat panel text render link preview base url (#10791)
fix AF-2322
2025-03-19 03:19:09 +00:00
donteatfriedrice
3a2d386275 feat(editor): support add embed iframe block in mobile (#10955)
To close [BS-2664](https://linear.app/affine-design/issue/BS-2664/iframe-embed-block-移动端支持)
2025-03-19 02:58:51 +00:00
pengx17
6b73e8ebb5 fix(core): allow unused blobs to preview in new tab (#10874)
fix AF-2330
2025-03-19 02:40:06 +00:00
fundon
d8567e669a refactor(editor): edgeless bookmark toolbar config extension (#10711) 2025-03-19 02:24:26 +00:00
JimmFly
70fe521300 fix(core): copy link should not have mode (#10904) 2025-03-19 01:50:34 +00:00
fundon
251d1d8782 refactor(editor): edgeless attacment toolbar config extension (#10710) 2025-03-19 00:52:22 +00:00
fundon
3cce147c60 refactor(editor): improve query methods in toolbar context (#10714) 2025-03-19 00:52:22 +00:00
doodlewind
02d707feab fix(editor): adapt font size in turbo renderer (#10858) 2025-03-18 19:01:48 +00:00
fundon
cb37d25d7b refactor(editor): edgeless element toolbar with new pattern (#10511) 2025-03-18 15:36:25 +00:00
zzj3720
3939cc1c52 feat(editor): support file column and member column for database block (#10932)
close: BS-2630, BS-2631, BS-2629, BS-2632, BS-2635
2025-03-18 14:51:45 +00:00
Saul-Mirone
321e3449ec fix(editor): block can be null in widget (#10959)
Closes: [BS-2826](https://linear.app/affine-design/issue/BS-2826/typeerror-thisblock-is-null)
2025-03-18 10:58:19 +00:00
darkskygit
b7ab49a263 chore(server): improve stream read (#10960) 2025-03-18 10:24:59 +00:00
JimmFly
0cb06668cd refactor(core): split the billing component into a separate file (#10924)
refactor(core): split the billing component into a separate file
feat(core): show subscription status in billing settings
![CleanShot 2025-03-17 at 17 02 59@2x](https://github.com/user-attachments/assets/4b3ee6e7-45ad-4d50-b9a5-55d658611e07)
![CleanShot 2025-03-17 at 17 00 33@2x](https://github.com/user-attachments/assets/995fd1d6-de1c-4df2-b66e-4823721adf14)
2025-03-18 10:05:45 +00:00
fengmk2
4fc3e92205 feat(server): separate storage quota limit and blob size limit (#10957)
close CLOUD-171
2025-03-18 09:28:50 +00:00
fengmk2
86c4e0705f fix(server): convert 4xx status HttpError to UserFriendlyError (#10956) 2025-03-18 09:28:50 +00:00
Saul-Mirone
5cb2abab76 docs(editor): add doc for reactive types in store (#10958) 2025-03-18 09:07:42 +00:00
CatsJuice
ff8c3d1cee feat(core): intilize integration module and basic readwise impl (#10726)
close AF-2257, AF-2261, AF-2260, AF-2259

### Feat

- New `Integration` Module
- Basic Readwise integration
  - connect
  - import
  - disconnect
- Common Integration UI
- Common Integration Writer  (Transform markdown to AFFiNE Doc)

### Not Implemented

>  will be implemented in down-stack
- delete docs when disconnect
- readwise settiing UI
- integration property rendering
2025-03-18 08:13:58 +00:00
Saul-Mirone
ef00a158fc docs(editor): improve documentation for store class (#10949) 2025-03-18 07:57:58 +00:00
pengx17
99370573c8 refactor(editor): use stable stringify for snapshots (#10948) 2025-03-18 05:41:20 +00:00
L-Sun
83af78d9ee chore(editor): update icon color of link doc card (#10943)
Close [BS-2679](https://linear.app/affine-design/issue/BS-2679/card-view-icon-color-incorrect)
2025-03-18 05:00:26 +00:00
Oleg
804d08423b feat(core): improve text preview in editor settings (#10070) 2025-03-18 13:00:13 +08:00
darkskygit
e09b5fee12 feat(server): init gemini provider & transcript action (#10731) 2025-03-18 04:28:18 +00:00
pengx17
a016630a82 feat(electron): create recording through tray (#10526)
- added tray menu for controlling recording status
- recording watcher for monitoring system audio input events
2025-03-18 04:12:30 +00:00
akumatus
05329e96c7 fix(core): add timeout params to graphql request options (#10919)
Close [BS-2813](https://linear.app/affine-design/issue/BS-2813).
2025-03-18 03:53:47 +00:00
Saul-Mirone
9f3cf271e3 feat(editor): support user provided role and role schema (#10939)
Let me analyze the key changes in this diff:

1. **Role System Changes**:
- Changed from a fixed enum of roles (`root`, `hub`, `content`) to a more flexible string-based system
- Removed strict role hierarchy validation rules (hub/content/root relationships)
- Added support for role-based matching using `@` prefix (e.g., `@root`, `@content`)

2. **Schema Validation Updates**:
- Added new `_matchFlavourOrRole` method to handle both flavour and role-based matching
- Updated `_validateParent` to consider both roles and flavours when validating parent-child relationships
- Simplified `_validateRole` by removing specific role hierarchy constraints

3. **Block Schema Changes**:
- Updated parent/children references in various block schemas to use the new `@` prefix notation
- Changed parent definitions from `['affine:page']` to `['@root']` in several blocks
- Updated children definitions to use role-based references (e.g., `['@content']`)

4. **Test Updates**:
- Added new test cases for role-based schema validation
- Introduced new test block schemas (`TestRoleBlockSchema`, `TestParagraphBlockSchema`) to verify role-based functionality

This appears to be a significant architectural change that makes the block schema system more flexible by:
1. Moving away from hardcoded role hierarchies
2. Introducing a more dynamic role-based relationship system
3. Supporting both flavour-based and role-based parent-child relationships
4. Using the `@` prefix convention to distinguish role references from flavour references

The changes make the system more extensible while maintaining backward compatibility with existing flavour-based relationships.
2025-03-18 01:58:59 +00:00
fengmk2
4a3180ee04 feat(server): display date in yyyy-MM-dd format on email (#10916) 2025-03-18 01:00:14 +00:00
fengmk2
3f0981a6fa feat(server): add settings resolver (#10797)
close CLOUD-166
2025-03-18 00:41:21 +00:00
fengmk2
5dcbae6f86 feat(server): add settings model (#10755)
close CLOUD-166
2025-03-18 00:41:21 +00:00
Saul-Mirone
3de7d85eea feat(editor): improve api for store, and add docs (#10941) 2025-03-17 16:30:59 +00:00
darkskygit
b0aa2c90fd feat(server): tag and collection record for context (#10926)
fix CLOUD-174
2025-03-17 14:17:01 +00:00
L-Sun
3dbeebd6ba fix(editor): background of surface-ref disappeared when it was re-rendered (#10931)
This PR fixed the background of surface-ref dis
2025-03-17 14:00:17 +00:00
L-Sun
cc8ec72f2c feat(editor): insert a mindmap slash menu action (#10930)
Close [BS-2516](https://linear.app/affine-design/issue/BS-2516/添加mind-map入口)
2025-03-17 13:19:56 +00:00
Saul-Mirone
1d04438049 docs(editor): scaffolding docs generator (#10925) 2025-03-17 12:51:08 +00:00
akumatus
363c9799f3 fix(core): chat-panel ui (#10928)
Close [AF-2332](https://linear.app/affine-design/issue/AF-2332).
Close [AF-2333](https://linear.app/affine-design/issue/AF-2333).
2025-03-17 10:53:55 +00:00
L-Sun
d80f1e8067 feat(editor): insert a blank frame slash menu action (#10899)
Close [BS-2517](https://linear.app/affine-design/issue/BS-2517/%E6%B7%BB%E5%8A%A0frame%E5%85%A5%E5%8F%A3)

### What changes:
- add a insert blank frame action to slash menu
- move `EdgelessFrameManager` and `FrameOverlay` extensions to `FrameBlockSpec`
- make `FrameBlockSpec` as a part of `CommonBlockSpecs` such that we can use `EdgelessFrameManager` to create a frame more easily

https://github.com/user-attachments/assets/ddff5866-8933-4ce5-aaf4-873661407ee4
2025-03-17 10:32:55 +00:00
forehalo
8b67496951 refactor(server): saving past_due subscription in db (#10908)
close CLOUD-122
2025-03-17 10:17:14 +00:00
forehalo
9b5d12dc71 test(server): new test facilities (#10870)
close CLOUD-142
2025-03-17 10:02:12 +00:00
darkskygit
92db9a693a fix(server): catch panic for context parsing (#10912)
fix AF-2335
fix CLOUD-173
2025-03-17 09:44:57 +00:00
EYHN
b401012d85 feat(core): user service loading state (#10922) 2025-03-17 09:28:25 +00:00
EYHN
7dbc9b42b7 feat(nbstore): add debug log for incorrect writing (#10697) 2025-03-17 09:09:27 +00:00
liuyi
aa70759f44 build(server): no build seed script (#10923) 2025-03-17 17:08:55 +08:00
darkskygit
44bede23e5 fix(server): operation name record (#10914) 2025-03-17 08:48:40 +00:00
renovate
7c99135da3 chore: bump up all non-major dependencies (#10886)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [electron](https://redirect.github.com/electron/electron) | [`35.0.1` -> `35.0.2`](https://renovatebot.com/diffs/npm/electron/35.0.1/35.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/35.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/35.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/35.0.1/35.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/35.0.1/35.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [html-validate](https://html-validate.org) ([source](https://gitlab.com/html-validate/html-validate)) | [`9.5.1` -> `9.5.2`](https://renovatebot.com/diffs/npm/html-validate/9.5.1/9.5.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/html-validate/9.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/html-validate/9.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/html-validate/9.5.1/9.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/html-validate/9.5.1/9.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [inquirer](https://redirect.github.com/SBoudrias/Inquirer.js/blob/main/packages/inquirer/README.md) ([source](https://redirect.github.com/SBoudrias/Inquirer.js)) | [`12.4.3` -> `12.5.0`](https://renovatebot.com/diffs/npm/inquirer/12.4.3/12.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/inquirer/12.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/inquirer/12.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/inquirer/12.4.3/12.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/inquirer/12.4.3/12.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [keyv](https://redirect.github.com/jaredwray/keyv) | [`5.3.1` -> `5.3.2`](https://renovatebot.com/diffs/npm/keyv/5.3.1/5.3.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/keyv/5.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/keyv/5.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/keyv/5.3.1/5.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/keyv/5.3.1/5.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [nanoid](https://redirect.github.com/ai/nanoid) | [`5.1.3` -> `5.1.4`](https://renovatebot.com/diffs/npm/nanoid/5.1.3/5.1.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nanoid/5.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nanoid/5.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nanoid/5.1.3/5.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nanoid/5.1.3/5.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [nanoid](https://redirect.github.com/ai/nanoid) | [`5.1.3` -> `5.1.4`](https://renovatebot.com/diffs/npm/nanoid/5.1.3/5.1.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nanoid/5.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nanoid/5.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nanoid/5.1.3/5.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nanoid/5.1.3/5.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [napi](https://redirect.github.com/napi-rs/napi-rs) | `3.0.0-alpha.31` -> `3.0.0-alpha.33` | [![age](https://developer.mend.io/api/mc/badges/age/crate/napi/3.0.0-alpha.33?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi/3.0.0-alpha.33?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi/3.0.0-alpha.31/3.0.0-alpha.33?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi/3.0.0-alpha.31/3.0.0-alpha.33?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [napi-derive](https://redirect.github.com/napi-rs/napi-rs) | `3.0.0-alpha.28` -> `3.0.0-alpha.29` | [![age](https://developer.mend.io/api/mc/badges/age/crate/napi-derive/3.0.0-alpha.29?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/napi-derive/3.0.0-alpha.29?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/napi-derive/3.0.0-alpha.28/3.0.0-alpha.29?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/napi-derive/3.0.0-alpha.28/3.0.0-alpha.29?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [piscina](https://redirect.github.com/piscinajs/piscina) | [`5.0.0-alpha.1` -> `5.0.0-alpha.2`](https://renovatebot.com/diffs/npm/piscina/5.0.0-alpha.1/5.0.0-alpha.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/piscina/5.0.0-alpha.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/piscina/5.0.0-alpha.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/piscina/5.0.0-alpha.1/5.0.0-alpha.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/piscina/5.0.0-alpha.1/5.0.0-alpha.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [typedoc](https://typedoc.org) ([source](https://redirect.github.com/TypeStrong/TypeDoc)) | [`^0.27.4` -> `^0.28.0`](https://renovatebot.com/diffs/npm/typedoc/0.27.9/0.28.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typedoc/0.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typedoc/0.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typedoc/0.27.9/0.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typedoc/0.27.9/0.28.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [net.java.dev.jna:jna](https://redirect.github.com/java-native-access/jna) | `5.16.0` -> `5.17.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/net.java.dev.jna:jna/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/net.java.dev.jna:jna/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/net.java.dev.jna:jna/5.16.0/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/net.java.dev.jna:jna/5.16.0/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |

---

### Release Notes

<details>
<summary>electron/electron (electron)</summary>

### [`v35.0.2`](https://redirect.github.com/electron/electron/releases/tag/v35.0.2): electron v35.0.2

[Compare Source](https://redirect.github.com/electron/electron/compare/v35.0.1...v35.0.2)

##### Release Notes for v35.0.2

##### Fixes

-   Fixed an issue where Web Workers crashed on unhandled rejections. [#&#8203;46020](https://redirect.github.com/electron/electron/pull/46020) <span style="font-size:small;">(Also in [34](https://redirect.github.com/electron/electron/pull/46019), [36](https://redirect.github.com/electron/electron/pull/46021))</span>
-   Fixed an issue where packages could be mistakenly not found in asar. [#&#8203;46022](https://redirect.github.com/electron/electron/pull/46022) <span style="font-size:small;">(Also in [36](https://redirect.github.com/electron/electron/pull/46023))</span>
-   Fixed title changes to not occur while navigating within a page. [#&#8203;46035](https://redirect.github.com/electron/electron/pull/46035) <span style="font-size:small;">(Also in [34](https://redirect.github.com/electron/electron/pull/46034), [36](https://redirect.github.com/electron/electron/pull/46036))</span>

##### Other Changes

-   Fixed an issue where Electron could fail to load on some older Linux distributions. [#&#8203;45983](https://redirect.github.com/electron/electron/pull/45983) <span style="font-size:small;">(Also in [34](https://redirect.github.com/electron/electron/pull/45982), [36](https://redirect.github.com/electron/electron/pull/45984))</span>
-   Updated Chromium to 134.0.6998.88. [#&#8203;45972](https://redirect.github.com/electron/electron/pull/45972)

</details>

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

### [`v9.5.2`](https://gitlab.com/html-validate/html-validate/blob/HEAD/CHANGELOG.md#952-2025-03-17)

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

##### Bug Fixes

-   **jest:** increase internal timeout for `.toHTMLValidate()` from 10s to 30s ([f5f9917](f5f9917cbf)), closes [#&#8203;298](https://gitlab.com/html-validate/html-validate/issues/298)

</details>

<details>
<summary>SBoudrias/Inquirer.js (inquirer)</summary>

### [`v12.5.0`](https://redirect.github.com/SBoudrias/Inquirer.js/compare/inquirer@12.4.3...inquirer@12.5.0)

[Compare Source](https://redirect.github.com/SBoudrias/Inquirer.js/compare/inquirer@12.4.3...inquirer@12.5.0)

</details>

<details>
<summary>ai/nanoid (nanoid)</summary>

### [`v5.1.4`](https://redirect.github.com/ai/nanoid/blob/HEAD/CHANGELOG.md#514)

[Compare Source](https://redirect.github.com/ai/nanoid/compare/5.1.3...5.1.4)

-   Fixed latest version on npm after 3.x release.

</details>

<details>
<summary>napi-rs/napi-rs (napi)</summary>

### [`v3.0.0-alpha.33`](https://redirect.github.com/napi-rs/napi-rs/releases/tag/napi%403.0.0-alpha.33)

[Compare Source](https://redirect.github.com/napi-rs/napi-rs/compare/napi@3.0.0-alpha.32...napi@3.0.0-alpha.33)

#### What's Changed

-   fix(napi): re-create async runtime by [@&#8203;Brooooooklyn](https://redirect.github.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/2519](https://redirect.github.com/napi-rs/napi-rs/pull/2519)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi-derive@3.0.0-alpha.29...napi@3.0.0-alpha.33

### [`v3.0.0-alpha.32`](https://redirect.github.com/napi-rs/napi-rs/releases/tag/napi%403.0.0-alpha.32)

[Compare Source](https://redirect.github.com/napi-rs/napi-rs/compare/napi@3.0.0-alpha.31...napi@3.0.0-alpha.32)

#### What's Changed

-   fix(deps): update rust crate ctor to 0.4.0 by [@&#8203;renovate](https://redirect.github.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/2482](https://redirect.github.com/napi-rs/napi-rs/pull/2482)
-   feat(napi): tokio multi-thread mode on wasi by [@&#8203;Brooooooklyn](https://redirect.github.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/2501](https://redirect.github.com/napi-rs/napi-rs/pull/2501)
-   fix(napi): js call callback in ThreadsafeFunction should not be Send by [@&#8203;SyMind](https://redirect.github.com/SyMind) in [https://github.com/napi-rs/napi-rs/pull/2510](https://redirect.github.com/napi-rs/napi-rs/pull/2510)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@3.0.0-alpha.31...napi@3.0.0-alpha.32

</details>

<details>
<summary>piscinajs/piscina (piscina)</summary>

### [`v5.0.0-alpha.2`](https://redirect.github.com/piscinajs/piscina/blob/HEAD/CHANGELOG.md#500-alpha2-2025-03-16)

[Compare Source](https://redirect.github.com/piscinajs/piscina/compare/v5.0.0-alpha.1...v5.0.0-alpha.2)

##### Features

-   Allow long-running threads ([#&#8203;757](https://redirect.github.com/piscinajs/piscina/issues/757)) ([f0f4fd3](f0f4fd39d5))

</details>

<details>
<summary>TypeStrong/TypeDoc (typedoc)</summary>

### [`v0.28.0`](https://redirect.github.com/TypeStrong/TypeDoc/blob/HEAD/CHANGELOG.md#v0280-2025-03-15)

[Compare Source](https://redirect.github.com/TypeStrong/TypeDoc/compare/v0.27.9...v0.28.0)

##### Breaking Changes

-   TypeDoc now expects all input globs paths to be specified with `/` path separators, [#&#8203;2825](https://redirect.github.com/TypeStrong/TypeDoc/issues/2825).
-   TypeDoc's `--entryPointStrategy merge` mode now requires JSON from at least version 0.28.0.
-   Removed `jp` translations from `lang`, to migrate switch to `ja`.
-   File name references in `intentionallyNotExported` now use a package name/package relative path instead of an absolute path for matching.
-   The `source-order` sort ordering now considers package names / package relative paths instead of using the absolute paths to a file.
-   TypeDoc will only check for a project README file next to the discovered `package.json` file if `--readme` is not set
    this change improves handling of monorepo setups where some packages have readme files and others do not, [#&#8203;2875](https://redirect.github.com/TypeStrong/TypeDoc/issues/2875).
-   Function-like variable exports will now only be automatically converted as function types if
    they are initialized with a function expression. TypeDoc can be instructed to convert them as functions
    with the `@function` tag, [#&#8203;2881](https://redirect.github.com/TypeStrong/TypeDoc/issues/2881).
-   Object literal type alias types will now be converted in a way which causes them to be rendered more similarly
    to how interfaces are rendered, [#&#8203;2817](https://redirect.github.com/TypeStrong/TypeDoc/issues/2817).

##### API Breaking Changes

-   `ProjectReflection.getReflectionFromSymbol` and `ProjectReflection.getSymbolFromReflection` have been moved to `Context`
-   `Path` and `PathArray` parameter types now always contain normalized paths.
-   Introduced a `Router` which is used for URL creation. `Reflection.url`,
    `Reflection.anchor`, and `Reflection.hasOwnDocument` have been removed.
-   `Deserializer.reviveProject(s)` no longer accepts an option to add project documents.
-   `Deserializer.reviveProjects` now requires an `alwaysCreateEntryPointModule` option.
-   `Comment.serializeDisplayParts` no longer requires a serializer argument.
-   `ReflectionSymbolId.fileName` is now optional, TypeDoc now stores a combination of a package name and package relative path instead.
    The `fileName` property will be present when initially created, but is not serialized.
-   Removed `DeclarationReflection.relevanceBoost` attribute which was added for plugins, but never used.
-   `i18n` proxy is no longer passed to many functions, instead, reference `i18n` exported from the module directly.
-   `ReflectionKind.singularString` and `ReflectionKind.pluralString` now returns translated strings.
    The methods on `Internationalization` to do this previously have been removed.
-   The HTML output structure for the search box has changed to support the new modal.
-   `DefaultThemeRenderContext`'s `typeDeclaration` and `typeDetailsIfUseful`
    methods now require both a reflection and a type in order to support
    `@expandType`

##### Features

-   Add support for TypeScript 5.8.x
-   The search modal in the HTML output has been rewritten to provide better mobile support
-   Added a `--router` option which can be used to modify TypeDoc's output folder
    structure. This can be extended with plugins, [#&#8203;2111](https://redirect.github.com/TypeStrong/TypeDoc/issues/2111).
-   Introduced the `@primaryExport` modifier tag to provide more fine grained
    control over export conversion order, [#&#8203;2856](https://redirect.github.com/TypeStrong/TypeDoc/issues/2856)
-   Introduced `packagesRequiringDocumentation` option for `validation.notDocumented`, TypeDoc will expect comments to be present for symbols in the specified packages.
-   TypeDoc now exports a `typedoc/browser` entrypoint for parsing and using serialized JSON files, [#&#8203;2528](https://redirect.github.com/TypeStrong/TypeDoc/issues/2528).
-   Type `packageOptions` as `Partial<TypeDocOptions>`, [#&#8203;2878](https://redirect.github.com/TypeStrong/TypeDoc/issues/2878).
-   TypeDoc will now warn if an option which should only be set at the root level is set in `packageOptions`, [#&#8203;2878](https://redirect.github.com/TypeStrong/TypeDoc/issues/2878).
-   Introduced `@function` tag to force TypeDoc to convert variable declarations with a type annotation as functions, [#&#8203;2881](https://redirect.github.com/TypeStrong/TypeDoc/issues/2881).
-   Exposed a `TypeDoc` global object in the HTML theme which can be used to prevent TypeDoc from using `localStorage`, [#&#8203;2872](https://redirect.github.com/TypeStrong/TypeDoc/issues/2872).
-   Introduced `@preventInline` and `@inlineType` tags for further control extending the `@inline` tag, [#&#8203;2862](https://redirect.github.com/TypeStrong/TypeDoc/issues/2862).
-   Introduced `@preventExpand` and `@expandType` tags for further control extending the `@expand` tag, [#&#8203;2862](https://redirect.github.com/TypeStrong/TypeDoc/issues/2862).
-   API: Introduced `DefaultThemeRenderContext.reflectionIcon` for more granular control over displayed reflection icons.

##### Bug Fixes

-   TypeDoc will now only create references for symbols re-exported from modules.
-   Variable-functions will now prefer placing the comment on the signature if there is only one signature present, [#&#8203;2824](https://redirect.github.com/TypeStrong/TypeDoc/issues/2824).
-   User filter settings will no longer sometimes cause the search to have fewer visible results than expected.
-   Fixed handling of expando functions which were also merged with a namespace, [#&#8203;2876](https://redirect.github.com/TypeStrong/TypeDoc/issues/2876).
-   Fixed rendering of function types within arrays and union types, [#&#8203;2892](https://redirect.github.com/TypeStrong/TypeDoc/issues/2892).
-   Fixed an issue where if the theme JS didn't load, the page wouldn't be shown, [#&#8203;2894](https://redirect.github.com/TypeStrong/TypeDoc/issues/2894).

##### Thanks!

-   [@&#8203;crimx](https://redirect.github.com/crimx)
-   [@&#8203;jsmith2-coveo](https://redirect.github.com/jsmith2-coveo)
-   [@&#8203;phoneticallySAARTHaK](https://redirect.github.com/phoneticallySAARTHaK)
-   [@&#8203;XeroAlpha](https://redirect.github.com/XeroAlpha)

</details>

<details>
<summary>java-native-access/jna (net.java.dev.jna:jna)</summary>

### [`v5.17.0`](https://redirect.github.com/java-native-access/jna/blob/HEAD/CHANGES.md#Release-5170)

[Compare Source](https://redirect.github.com/java-native-access/jna/compare/5.16.0...5.17.0)

\================

## Features

-   [#&#8203;1658](https://redirect.github.com/java-native-access/jna/pull/1658):  Add win32 power event constants, types, and functions - [@&#8203;eranl](https://redirect.github.com/eranl).

## Bug Fixes

-   [#&#8203;1647](https://redirect.github.com/java-native-access/jna/issues/1647): Fix calls to jnidispatch on Android with 16KB page size (part 2) - [@&#8203;BugsBeGone](https://redirect.github.com/BugsBeGone).

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDAuMCIsInVwZGF0ZWRJblZlciI6IjM5LjIwMC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-17 07:11:58 +00:00
Saul-Mirone
d5a5df5e49 test(editor): move blocksuite test to tests folder (#10917) 2025-03-17 06:40:25 +00:00
liuyi
0f83566504 chore(server): data mocking and seeding (#10864) 2025-03-17 14:15:34 +08:00
doodlewind
81af7a0571 docs(editor): add guide for extension usage (#10911)
The guide is baed on #10847 to improve the code quality for migrating extensions using LLM.
2025-03-17 05:38:10 +00:00
Saul-Mirone
808c053c3c feat(editor): add block meta for table block (#10915) 2025-03-17 05:20:10 +00:00
donteatfriedrice
6eb34d70c1 feat(editor): support bookmark block convert to embed iframe block (#10907) 2025-03-17 05:00:55 +00:00
Saul-Mirone
8bd4125c96 feat(editor): enable block meta for code, image, list block (#10905) 2025-03-17 03:29:51 +00:00
CatsJuice
8822acf041 fix(core): correct template setting item text (#10902) 2025-03-17 02:21:08 +00:00
L-Sun
c1301be1f5 fix(editor): repeat instantiation of std (#10896) 2025-03-17 01:04:51 +00:00
Saul-Mirone
7e6ff8d9c6 chore(editor): remove unused npm scripts (#10895) 2025-03-16 17:48:49 +00:00
Saul-Mirone
2f5e801097 fix(editor): missing export (#10893) 2025-03-16 16:09:35 +00:00
Saul-Mirone
96add08ff4 fix(editor): should include node types (#10892) 2025-03-16 14:25:20 +00:00
hackerESQ
fff15222d9 feat(core): add transparent as default shape fill (#10801) 2025-03-16 20:58:50 +09:00
donteatfriedrice
d7d512084e feat(editor): embed iframe error status card in surface (#10869)
To close [BS-2806](https://linear.app/affine-design/issue/BS-2806/iframe-embed-block-edgeless-loading-and-error-status)
2025-03-16 09:05:04 +00:00
donteatfriedrice
7ecb1f510d feat(editor): embed iframe loading status card in surface (#10868) 2025-03-16 09:05:04 +00:00
Saul-Mirone
26285f7dcb feat(editor): unify block props api (#10888)
Closes: [BS-2707](https://linear.app/affine-design/issue/BS-2707/统一使用props获取和更新block-prop)
2025-03-16 05:48:34 +00:00
Oleg
8f9e5bf0aa fix(editor): minor ui bugs (#10841)
Co-authored-by: Mirone <Saul-Mirone@outlook.com>
2025-03-15 19:15:56 +09:00
donteatfriedrice
1d4ee1e383 feat(editor): support embed iframe block in edgeless (#10830)
To close:
[BS-2665](https://linear.app/affine-design/issue/BS-2665/iframe-embed-block-edgeless-mode-支持)
[BS-2666](https://linear.app/affine-design/issue/BS-2666/iframe-embed-block-edgeless-toolbar)
[BS-2667](https://linear.app/affine-design/issue/BS-2667/iframe-embed-block-edgeless-mode-拖拽调整支持)
[BS-2789](https://linear.app/affine-design/issue/BS-2789/iframe-embed-block-edgeless-block-component)
2025-03-15 09:23:02 +00:00
renovate
b4f49a234f chore: bump up all non-major dependencies (#10885)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@capacitor/android](https://capacitorjs.com) ([source](https://redirect.github.com/ionic-team/capacitor)) | [`7.0.1` -> `7.1.0`](https://renovatebot.com/diffs/npm/@capacitor%2fandroid/7.0.1/7.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@capacitor%2fandroid/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@capacitor%2fandroid/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@capacitor%2fandroid/7.0.1/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capacitor%2fandroid/7.0.1/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@capacitor/cli](https://capacitorjs.com) ([source](https://redirect.github.com/ionic-team/capacitor)) | [`7.0.1` -> `7.1.0`](https://renovatebot.com/diffs/npm/@capacitor%2fcli/7.0.1/7.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@capacitor%2fcli/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@capacitor%2fcli/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@capacitor%2fcli/7.0.1/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capacitor%2fcli/7.0.1/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@capacitor/core](https://capacitorjs.com) ([source](https://redirect.github.com/ionic-team/capacitor)) | [`7.0.1` -> `7.1.0`](https://renovatebot.com/diffs/npm/@capacitor%2fcore/7.0.1/7.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@capacitor%2fcore/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@capacitor%2fcore/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@capacitor%2fcore/7.0.1/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capacitor%2fcore/7.0.1/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@capacitor/ios](https://capacitorjs.com) ([source](https://redirect.github.com/ionic-team/capacitor)) | [`7.0.1` -> `7.1.0`](https://renovatebot.com/diffs/npm/@capacitor%2fios/7.0.1/7.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@capacitor%2fios/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@capacitor%2fios/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@capacitor%2fios/7.0.1/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capacitor%2fios/7.0.1/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@capgo/inappbrowser](https://redirect.github.com/Cap-go/capacitor-inappbrowser) | [`7.2.21` -> `7.3.0`](https://renovatebot.com/diffs/npm/@capgo%2finappbrowser/7.2.21/7.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@capgo%2finappbrowser/7.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@capgo%2finappbrowser/7.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@capgo%2finappbrowser/7.2.21/7.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capgo%2finappbrowser/7.2.21/7.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@chromatic-com/storybook](https://redirect.github.com/chromaui/addon-visual-tests) | [`3.2.5` -> `3.2.6`](https://renovatebot.com/diffs/npm/@chromatic-com%2fstorybook/3.2.5/3.2.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@chromatic-com%2fstorybook/3.2.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@chromatic-com%2fstorybook/3.2.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@chromatic-com%2fstorybook/3.2.5/3.2.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@chromatic-com%2fstorybook/3.2.5/3.2.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@napi-rs/cli](https://redirect.github.com/napi-rs/napi-rs) | [`3.0.0-alpha.73` -> `3.0.0-alpha.75`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.73/3.0.0-alpha.75) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.75?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fcli/3.0.0-alpha.75?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fcli/3.0.0-alpha.73/3.0.0-alpha.75?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fcli/3.0.0-alpha.73/3.0.0-alpha.75?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@shoelace-style/shoelace](https://redirect.github.com/shoelace-style/shoelace) | [`2.20.0` -> `2.20.1`](https://renovatebot.com/diffs/npm/@shoelace-style%2fshoelace/2.20.0/2.20.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@shoelace-style%2fshoelace/2.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@shoelace-style%2fshoelace/2.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@shoelace-style%2fshoelace/2.20.0/2.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@shoelace-style%2fshoelace/2.20.0/2.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@storybook/addon-essentials](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/essentials) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials)) | [`8.6.4` -> `8.6.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-essentials/8.6.4/8.6.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-essentials/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-essentials/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-essentials/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-essentials/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-interactions](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/interactions) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions)) | [`8.6.4` -> `8.6.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-interactions/8.6.4/8.6.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-interactions/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-interactions/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-interactions/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-interactions/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-links](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/links) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/links)) | [`8.6.4` -> `8.6.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/8.6.4/8.6.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-links/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-links/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-links/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-links/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-mdx-gfm](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/gfm) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/gfm)) | [`8.6.4` -> `8.6.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-mdx-gfm/8.6.4/8.6.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-mdx-gfm/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-mdx-gfm/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-mdx-gfm/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-mdx-gfm/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/react](https://redirect.github.com/storybookjs/storybook/tree/next/code/renderers/react) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/renderers/react)) | [`8.6.4` -> `8.6.6`](https://renovatebot.com/diffs/npm/@storybook%2freact/8.6.4/8.6.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/react-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/frameworks/react-vite) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite)) | [`8.6.4` -> `8.6.6`](https://renovatebot.com/diffs/npm/@storybook%2freact-vite/8.6.4/8.6.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact-vite/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact-vite/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact-vite/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact-vite/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@swc/core](https://swc.rs) ([source](https://redirect.github.com/swc-project/swc)) | [`1.11.8` -> `1.11.9`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.11.8/1.11.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.11.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fcore/1.11.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fcore/1.11.8/1.11.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.11.8/1.11.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@tailwindcss/postcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss)) | [`4.0.13` -> `4.0.14`](https://renovatebot.com/diffs/npm/@tailwindcss%2fpostcss/4.0.13/4.0.14) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2fpostcss/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tailwindcss%2fpostcss/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tailwindcss%2fpostcss/4.0.13/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2fpostcss/4.0.13/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@tailwindcss/vite](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite)) | [`4.0.13` -> `4.0.14`](https://renovatebot.com/diffs/npm/@tailwindcss%2fvite/4.0.13/4.0.14) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2fvite/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tailwindcss%2fvite/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tailwindcss%2fvite/4.0.13/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2fvite/4.0.13/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@toeverything/theme](https://redirect.github.com/toeverything/design) | [`1.1.12` -> `1.1.13`](https://renovatebot.com/diffs/npm/@toeverything%2ftheme/1.1.12/1.1.13) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@toeverything%2ftheme/1.1.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@toeverything%2ftheme/1.1.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@toeverything%2ftheme/1.1.12/1.1.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@toeverything%2ftheme/1.1.12/1.1.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [bullmq](https://bullmq.io/) ([source](https://redirect.github.com/taskforcesh/bullmq)) | [`5.41.9` -> `5.43.1`](https://renovatebot.com/diffs/npm/bullmq/5.41.9/5.43.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/bullmq/5.43.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/bullmq/5.43.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/bullmq/5.41.9/5.43.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/bullmq/5.41.9/5.43.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [cmdk](https://redirect.github.com/pacocoursey/cmdk) ([source](https://redirect.github.com/pacocoursey/cmdk/tree/HEAD/cmdk)) | [`1.0.4` -> `1.1.1`](https://renovatebot.com/diffs/npm/cmdk/1.0.4/1.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/cmdk/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/cmdk/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/cmdk/1.0.4/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/cmdk/1.0.4/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [fast-xml-parser](https://redirect.github.com/NaturalIntelligence/fast-xml-parser) | [`5.0.8` -> `5.0.9`](https://renovatebot.com/diffs/npm/fast-xml-parser/5.0.8/5.0.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/fast-xml-parser/5.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/fast-xml-parser/5.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/fast-xml-parser/5.0.8/5.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/fast-xml-parser/5.0.8/5.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [file-type](https://redirect.github.com/sindresorhus/file-type) | [`20.4.0` -> `20.4.1`](https://renovatebot.com/diffs/npm/file-type/20.4.0/20.4.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/file-type/20.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/file-type/20.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/file-type/20.4.0/20.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/file-type/20.4.0/20.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [html-validate](https://html-validate.org) ([source](https://gitlab.com/html-validate/html-validate)) | [`9.5.0` -> `9.5.1`](https://renovatebot.com/diffs/npm/html-validate/9.5.0/9.5.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/html-validate/9.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/html-validate/9.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/html-validate/9.5.0/9.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/html-validate/9.5.0/9.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [i18next](https://www.i18next.com) ([source](https://redirect.github.com/i18next/i18next)) | [`24.2.2` -> `24.2.3`](https://renovatebot.com/diffs/npm/i18next/24.2.2/24.2.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/i18next/24.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/i18next/24.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/i18next/24.2.2/24.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/i18next/24.2.2/24.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [libc](https://redirect.github.com/rust-lang/libc) | `0.2.170` -> `0.2.171` | [![age](https://developer.mend.io/api/mc/badges/age/crate/libc/0.2.171?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/libc/0.2.171?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/libc/0.2.170/0.2.171?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/libc/0.2.170/0.2.171?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [lint-staged](https://redirect.github.com/lint-staged/lint-staged) | [`15.4.3` -> `15.5.0`](https://renovatebot.com/diffs/npm/lint-staged/15.4.3/15.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lint-staged/15.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lint-staged/15.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lint-staged/15.4.3/15.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lint-staged/15.4.3/15.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [lucide-react](https://lucide.dev) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.479.0` -> `^0.482.0`](https://renovatebot.com/diffs/npm/lucide-react/0.479.0/0.482.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.482.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-react/0.482.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-react/0.479.0/0.482.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.479.0/0.482.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [mixpanel](https://redirect.github.com/mixpanel/mixpanel-node) | [`0.18.0` -> `0.18.1`](https://renovatebot.com/diffs/npm/mixpanel/0.18.0/0.18.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/mixpanel/0.18.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/mixpanel/0.18.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/mixpanel/0.18.0/0.18.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/mixpanel/0.18.0/0.18.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [mixpanel-browser](https://redirect.github.com/mixpanel/mixpanel-js) | [`2.61.1` -> `2.61.2`](https://renovatebot.com/diffs/npm/mixpanel-browser/2.61.1/2.61.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/mixpanel-browser/2.61.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/mixpanel-browser/2.61.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/mixpanel-browser/2.61.1/2.61.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/mixpanel-browser/2.61.1/2.61.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [nest-commander](https://nest-commander.jaymcdoniel.dev) ([source](https://redirect.github.com/jmcdo29/nest-commander/tree/HEAD/pacakges/nest-commander)) | [`3.16.1` -> `3.17.0`](https://renovatebot.com/diffs/npm/nest-commander/3.16.1/3.17.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nest-commander/3.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nest-commander/3.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nest-commander/3.16.1/3.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nest-commander/3.16.1/3.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [once_cell](https://redirect.github.com/matklad/once_cell) | `1.20.3` -> `1.21.1` | [![age](https://developer.mend.io/api/mc/badges/age/crate/once_cell/1.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/once_cell/1.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/once_cell/1.20.3/1.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/once_cell/1.20.3/1.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | minor |
| [python](https://redirect.github.com/actions/python-versions) | `3.12` -> `3.13` | [![age](https://developer.mend.io/api/mc/badges/age/github-releases/actions%2fpython-versions/3.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/github-releases/actions%2fpython-versions/3.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/github-releases/actions%2fpython-versions/3.12.9/3.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/github-releases/actions%2fpython-versions/3.12.9/3.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | uses-with | minor |
| [react-day-picker](https://daypicker.dev) ([source](https://redirect.github.com/gpbl/react-day-picker)) | [`9.6.1` -> `9.6.2`](https://renovatebot.com/diffs/npm/react-day-picker/9.6.1/9.6.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-day-picker/9.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-day-picker/9.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-day-picker/9.6.1/9.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-day-picker/9.6.1/9.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [storybook](https://redirect.github.com/storybookjs/storybook/tree/next/code/lib/cli) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/lib/cli)) | [`8.6.4` -> `8.6.6`](https://renovatebot.com/diffs/npm/storybook/8.6.4/8.6.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/storybook/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/storybook/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/storybook/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/storybook/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [tailwindcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss)) | [`4.0.13` -> `4.0.14`](https://renovatebot.com/diffs/npm/tailwindcss/4.0.13/4.0.14) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tailwindcss/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tailwindcss/4.0.13/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/4.0.13/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [tailwindcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss)) | [`4.0.13` -> `4.0.14`](https://renovatebot.com/diffs/npm/tailwindcss/4.0.13/4.0.14) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tailwindcss/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tailwindcss/4.0.13/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/4.0.13/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [tokio](https://tokio.rs) ([source](https://redirect.github.com/tokio-rs/tokio)) | `1.44.0` -> `1.44.1` | [![age](https://developer.mend.io/api/mc/badges/age/crate/tokio/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tokio/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tokio/1.44.0/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tokio/1.44.0/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [undici](https://undici.nodejs.org) ([source](https://redirect.github.com/nodejs/undici)) | [`7.4.0` -> `7.5.0`](https://renovatebot.com/diffs/npm/undici/7.4.0/7.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/undici/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/undici/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/undici/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/undici/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [uuid](https://redirect.github.com/uuid-rs/uuid) | `1.15.1` -> `1.16.0` | [![age](https://developer.mend.io/api/mc/badges/age/crate/uuid/1.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/uuid/1.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/uuid/1.15.1/1.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/uuid/1.15.1/1.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | minor |
| [vite](https://vite.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`6.2.1` -> `6.2.2`](https://renovatebot.com/diffs/npm/vite/6.2.1/6.2.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/6.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/6.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/6.2.1/6.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/6.2.1/6.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [vite](https://vite.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`6.2.1` -> `6.2.2`](https://renovatebot.com/diffs/npm/vite/6.2.1/6.2.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/6.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/6.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/6.2.1/6.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/6.2.1/6.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |

---

### Release Notes

<details>
<summary>ionic-team/capacitor (@&#8203;capacitor/android)</summary>

### [`v7.1.0`](https://redirect.github.com/ionic-team/capacitor/blob/HEAD/CHANGELOG.md#710-2025-03-12)

[Compare Source](https://redirect.github.com/ionic-team/capacitor/compare/7.0.1...7.1.0)

##### Bug Fixes

-   **android:** add EdgeToEdge compatibility ([#&#8203;7871](https://redirect.github.com/ionic-team/capacitor/issues/7871)) ([64a8bc4](64a8bc40de))
-   **android:** sanitize portable file name ([#&#8203;7894](https://redirect.github.com/ionic-team/capacitor/issues/7894)) ([5f09297](5f092970e3))
-   **cli:** don't run bundle if not installed ([#&#8203;7896](https://redirect.github.com/ionic-team/capacitor/issues/7896)) ([ee55f6c](ee55f6c546))
-   **core:** use getPlatform instead of platform in cordova.js ([#&#8203;7902](https://redirect.github.com/ionic-team/capacitor/issues/7902)) ([277db7b](277db7b48c))
-   **http:** boundary not added for Request objects ([#&#8203;7897](https://redirect.github.com/ionic-team/capacitor/issues/7897)) ([bdaa6f3](bdaa6f3c38))
-   **ios:** don't check isMediaExtension on range requests ([#&#8203;7868](https://redirect.github.com/ionic-team/capacitor/issues/7868)) ([028caa5](028caa5378))
-   **ios:** listen for CapacitorViewDidAppear ([#&#8203;7850](https://redirect.github.com/ionic-team/capacitor/issues/7850)) ([e24ffb7](e24ffb7d4d))
-   **ios:** Reset plugin listeners when WebView process is terminated ([#&#8203;7905](https://redirect.github.com/ionic-team/capacitor/issues/7905)) ([d039157](d039157672))

##### Features

-   Add function to inject external JS into WebView before document load ([#&#8203;7864](https://redirect.github.com/ionic-team/capacitor/issues/7864)) ([ec0954c](ec0954c197))
-   **android:** add adjustMarginsForEdgeToEdge configuration option ([#&#8203;7885](https://redirect.github.com/ionic-team/capacitor/issues/7885)) ([1ea86d1](1ea86d166a))
-   **cli:** add more configurations to build command ([#&#8203;7769](https://redirect.github.com/ionic-team/capacitor/issues/7769)) ([90f95d1](90f95d1a82))

#### [7.0.1](https://redirect.github.com/ionic-team/capacitor/compare/7.0.0...7.0.1) (2025-01-21)

##### Bug Fixes

-   make migrate use 7.0.0 ([#&#8203;7837](https://redirect.github.com/ionic-team/capacitor/issues/7837)) ([5dc309e](5dc309ea8d))
-   use Capacitor 7 for SPM dependency ([#&#8203;7835](https://redirect.github.com/ionic-team/capacitor/issues/7835)) ([640c3cb](640c3cb22a))

</details>

<details>
<summary>Cap-go/capacitor-inappbrowser (@&#8203;capgo/inappbrowser)</summary>

### [`v7.3.0`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#730-2025-03-13)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.21...7.3.0)

##### Features

-   make the plugin crash free the max possible ([8ac2a84](8ac2a8455a))

##### [7.2.21](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.20...7.2.21) (2025-03-10)

##### Bug Fixes

-   **deps:** update dependency androidx.coordinatorlayout:coordinatorlayout to v1.3.0 ([#&#8203;290](https://redirect.github.com/Cap-go/capacitor-inappbrowser/issues/290)) ([61feebb](61feebb67e))

##### [7.2.20](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.19...7.2.20) (2025-03-03)

##### [7.2.19](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.18...7.2.19) (2025-03-03)

##### Bug Fixes

-   **deps:** update dependency androidx.constraintlayout:constraintlayout to v2.2.1 ([#&#8203;287](https://redirect.github.com/Cap-go/capacitor-inappbrowser/issues/287)) ([df45e17](df45e171ce))

##### [7.2.18](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.17...7.2.18) (2025-02-27)

##### Bug Fixes

-   renovate ([797cb7f](797cb7fbf6))

##### [7.2.17](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.16...7.2.17) (2025-02-18)

##### Bug Fixes

-   scoll issue ([e90cba3](e90cba3d35))

##### [7.2.16](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.15...7.2.16) (2025-02-10)

##### Bug Fixes

-   **deps:** update dependency androidx.constraintlayout:constraintlayout to v2.2.0 ([#&#8203;282](https://redirect.github.com/Cap-go/capacitor-inappbrowser/issues/282)) ([69fab8c](69fab8c94d))

##### [7.2.15](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.14...7.2.15) (2025-02-10)

##### [7.2.14](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.13...7.2.14) (2025-02-09)

##### Bug Fixes

-   handle Android back button properly ([cffb6fe](cffb6fe97c))

##### [7.2.13](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.12...7.2.13) (2025-02-09)

##### Bug Fixes

-   lint issue ([aefe361](aefe361bf2))

##### [7.2.12](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.11...7.2.12) (2025-02-09)

##### Bug Fixes

-   add missing class ([78056b0](78056b036d))

##### [7.2.11](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.10...7.2.11) (2025-02-09)

##### Bug Fixes

-   remove wrong implementation ([c63b329](c63b3291a6))

##### [7.2.10](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.9...7.2.10) (2025-02-08)

##### Bug Fixes

-   eslint config ([2c7e3a3](2c7e3a3750))

##### [7.2.9](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.8...7.2.9) (2025-02-08)

##### Bug Fixes

-   author ([9cd5e8e](9cd5e8ef27))

##### [7.2.8](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.7...7.2.8) (2025-02-08)

##### Bug Fixes

-   lint ([6a07cd2](6a07cd2c7d))

##### [7.2.7](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.6...7.2.7) (2025-02-08)

##### Bug Fixes

-   use latest ([f9d8687](f9d8687cbd))

##### [7.2.6](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.5...7.2.6) (2025-02-08)

##### Bug Fixes

-   package list ([f59719e](f59719e12a))

##### [7.2.5](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.4...7.2.5) (2025-02-08)

##### Bug Fixes

-   remove old lock ([f0920a7](f0920a7527))

##### [7.2.4](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.3...7.2.4) (2025-02-08)

##### Bug Fixes

-   git ignore ([3f5f878](3f5f8788fc))

##### [7.2.3](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.2...7.2.3) (2025-02-08)

##### Bug Fixes

-   switch to new plugin definition ([c63bb32](c63bb32867))

##### [7.2.2](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.1...7.2.2) (2025-02-08)

##### Bug Fixes

-   lock ([96f9231](96f9231ed7))

##### [7.2.1](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.0...7.2.1) (2025-02-08)

##### Bug Fixes

-   json typo ([b531feb](b531feb62f))
-   remove pnpm ([f587f10](f587f102aa))

</details>

<details>
<summary>chromaui/addon-visual-tests (@&#8203;chromatic-com/storybook)</summary>

### [`v3.2.6`](https://redirect.github.com/chromaui/addon-visual-tests/releases/tag/v3.2.6)

[Compare Source](https://redirect.github.com/chromaui/addon-visual-tests/compare/v3.2.5...v3.2.6)

##### 🐛 Bug Fix

-   Fix SSO url [#&#8203;363](https://redirect.github.com/chromaui/addon-visual-tests/pull/363) ([@&#8203;kasperpeulen](https://redirect.github.com/kasperpeulen))

##### Authors: 1

-   Kasper Peulen ([@&#8203;kasperpeulen](https://redirect.github.com/kasperpeulen))

</details>

<details>
<summary>napi-rs/napi-rs (@&#8203;napi-rs/cli)</summary>

### [`v3.0.0-alpha.75`](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.74...@napi-rs/cli@3.0.0-alpha.75)

[Compare Source](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.74...@napi-rs/cli@3.0.0-alpha.75)

### [`v3.0.0-alpha.74`](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.73...@napi-rs/cli@3.0.0-alpha.74)

[Compare Source](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.73...@napi-rs/cli@3.0.0-alpha.74)

</details>

<details>
<summary>shoelace-style/shoelace (@&#8203;shoelace-style/shoelace)</summary>

### [`v2.20.1`](https://redirect.github.com/shoelace-style/shoelace/releases/tag/v2.20.1)

[Compare Source](https://redirect.github.com/shoelace-style/shoelace/compare/v2.20.0...v2.20.1)

#### Commits

-   [`19537b1`](https://redirect.github.com/shoelace-style/shoelace/commit/19537b1): Fix a11y issues for closing components with focused children (Christian Schilling) [#&#8203;2383](https://redirect.github.com/shoelace-style/shoelace/pull/2383)
-   [`61c73cd`](https://redirect.github.com/shoelace-style/shoelace/commit/61c73cd): Add ticket number to changelog (Christian Schilling) [#&#8203;2383](https://redirect.github.com/shoelace-style/shoelace/pull/2383)
-   Nested tab groups broken in v2.19.1 ([#&#8203;2367](https://redirect.github.com/shoelace-style/shoelace/issues/2367)) [#&#8203;2367](https://redirect.github.com/shoelace-style/shoelace/pull/2367) ([Christian Schilling](6f09a75567))
-   [`d83d620`](https://redirect.github.com/shoelace-style/shoelace/commit/d83d620): Remove log statement (Christian Schilling) [#&#8203;2383](https://redirect.github.com/shoelace-style/shoelace/pull/2383)
-   [`0a48bc5`](https://redirect.github.com/shoelace-style/shoelace/commit/0a48bc5): Merge remote-tracking branch 'upstream/next' into fix/a11y-errors-for-blur (Christian Schilling) [#&#8203;2383](https://redirect.github.com/shoelace-style/shoelace/pull/2383)
-   [`91235cb`](https://redirect.github.com/shoelace-style/shoelace/commit/91235cb): Fixes dropdown closing on tab key ([#&#8203;2371](https://redirect.github.com/shoelace-style/shoelace/issues/2371)) (Gabriel Belgamo) [#&#8203;2371](https://redirect.github.com/shoelace-style/shoelace/pull/2371)
-   [`1b9104d`](https://redirect.github.com/shoelace-style/shoelace/commit/1b9104d): update changelog (Cory LaViska)
-   [`5ef3c91`](https://redirect.github.com/shoelace-style/shoelace/commit/5ef3c91): fix contextElement guard ([#&#8203;2399](https://redirect.github.com/shoelace-style/shoelace/issues/2399)) (Diego Ferreiro Val) [#&#8203;2399](https://redirect.github.com/shoelace-style/shoelace/pull/2399)
-   [`ee42086`](https://redirect.github.com/shoelace-style/shoelace/commit/ee42086): update changelog (Cory LaViska)
-   [`e09277e`](https://redirect.github.com/shoelace-style/shoelace/commit/e09277e): Fixes closable sl-alert can be closed on whole vertical area without visual indication ([#&#8203;2375](https://redirect.github.com/shoelace-style/shoelace/issues/2375)) (Susanne Kirchner) [#&#8203;2375](https://redirect.github.com/shoelace-style/shoelace/pull/2375)
-   [`eef4c17`](https://redirect.github.com/shoelace-style/shoelace/commit/eef4c17): update changelog (Cory LaViska)
-   [`d2ce983`](https://redirect.github.com/shoelace-style/shoelace/commit/d2ce983): Merge branch 'fix/a11y-errors-for-blur' of https://github.com/schilchSICKAG/shoelace into schilchSICKAG-fix/a11y-errors-for-blur (Cory LaViska) [#&#8203;2383](https://redirect.github.com/shoelace-style/shoelace/pull/2383)
-   [`5be9540`](https://redirect.github.com/shoelace-style/shoelace/commit/5be9540): Merge branch 'schilchSICKAG-fix/a11y-errors-for-blur' into next (Cory LaViska)
-   [`0cf1984`](https://redirect.github.com/shoelace-style/shoelace/commit/0cf1984): update docs to fix types (Cory LaViska)
-   [`bcf08a8`](https://redirect.github.com/shoelace-style/shoelace/commit/bcf08a8): Carousel accessibility ([#&#8203;2364](https://redirect.github.com/shoelace-style/shoelace/issues/2364)) (Matt McLean) [#&#8203;2364](https://redirect.github.com/shoelace-style/shoelace/pull/2364)
-   [`d1f94ab`](https://redirect.github.com/shoelace-style/shoelace/commit/d1f94ab): update changelog (Cory LaViska)
-   [`3142d14`](https://redirect.github.com/shoelace-style/shoelace/commit/3142d14): update version (Cory LaViska)
-   [`fb59fda`](https://redirect.github.com/shoelace-style/shoelace/commit/fb59fda): 2.20.1 (Cory LaViska)

</details>

<details>
<summary>storybookjs/storybook (@&#8203;storybook/addon-essentials)</summary>

### [`v8.6.6`](https://redirect.github.com/storybookjs/storybook/compare/v8.6.5...9a7a7953fca0f05be3806318c7676940ed4fc102)

[Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v8.6.5...v8.6.6)

### [`v8.6.5`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#865)

[Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v8.6.4...v8.6.5)

-   Addon A11y: Promote [@&#8203;storybook/global](https://redirect.github.com/storybook/global) to full dependency - [#&#8203;30723](https://redirect.github.com/storybookjs/storybook/pull/30723), thanks [@&#8203;mrginglymus](https://redirect.github.com/mrginglymus)!
-   Angular: Add `@angular-devkit/build-angular` to installed packages - [#&#8203;30790](https://redirect.github.com/storybookjs/storybook/pull/30790), thanks [@&#8203;kasperpeulen](https://redirect.github.com/kasperpeulen)!
-   CLI: Fix test install in RNW projects - [#&#8203;30786](https://redirect.github.com/storybookjs/storybook/pull/30786), thanks [@&#8203;shilman](https://redirect.github.com/shilman)!
-   Core: Replace 'min' instead of 'm' in printDuration - [#&#8203;30668](https://redirect.github.com/storybookjs/storybook/pull/30668), thanks [@&#8203;wlewis-formative](https://redirect.github.com/wlewis-formative)!
-   Next.js: Use latest version when init in empty directory - [#&#8203;30659](https://redirect.github.com/storybookjs/storybook/pull/30659), thanks [@&#8203;valentinpalkovic](https://redirect.github.com/valentinpalkovic)!
-   Svelte: Fix Vite crashing on virtual module imports - [#&#8203;26838](https://redirect.github.com/storybookjs/storybook/pull/26838), thanks [@&#8203;rChaoz](https://redirect.github.com/rChaoz)!
-   Svelte: Fix automatic argTypes inference coming up empty with `svelte2tsx@0.7.35` - [#&#8203;30784](https://redirect.github.com/storybookjs/storybook/pull/30784), thanks [@&#8203;JReinhold](https://redirect.github.com/JReinhold)!
-   Universal Store: Don't use `crypto.randomUUID` - [#&#8203;30781](https://redirect.github.com/storybookjs/storybook/pull/30781), thanks [@&#8203;JReinhold](https://redirect.github.com/JReinhold)!

</details>

<details>
<summary>storybookjs/storybook (@&#8203;storybook/addon-interactions)</summary>

### [`v8.6.6`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#866)

[Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v8.6.5...v8.6.6)

-   Angular: Make sure that polyfills are loaded before the storybook is loaded - [#&#8203;30811](https://redirect.github.com/storybookjs/storybook/pull/30811), thanks [@&#8203;kasperpeulen](https://redirect.github.com/kasperpeulen)!
-   CSF: Fix CSF subcomponent type - [#&#8203;30729](https://redirect.github.com/storybookjs/storybook/pull/30729), thanks [@&#8203;filipemelo2002](https://redirect.github.com/filipemelo2002)!

### [`v8.6.5`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#865)

[Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v8.6.4...v8.6.5)

-   Addon A11y: Promote [@&#8203;storybook/global](https://redirect.github.com/storybook/global) to full dependency - [#&#8203;30723](https://redirect.github.com/storybookjs/storybook/pull/30723), thanks [@&#8203;mrginglymus](https://redirect.github.com/mrginglymus)!
-   Angular: Add `@angular-devkit/build-angular` to installed packages - [#&#8203;30790](https://redirect.github.com/storybookjs/storybook/pull/30790), thanks [@&#8203;kasperpeulen](https://redirect.github.com/kasperpeulen)!
-   CLI: Fix test install in RNW projects - [#&#8203;30786](https://redirect.github.com/storybookjs/storybook/pull/30786), thanks [@&#8203;shilman](https://redirect.github.com/shilman)!
-   Core: Replace 'min' instead of 'm' in printDuration - [#&#8203;30668](https://redirect.github.com/storybookjs/storybook/pull/30668), thanks [@&#8203;wlewis-formative](https://redirect.github.com/wlewis-formative)!
-   Next.js: Use latest version when init in empty directory - [#&#8203;30659](https://redirect.github.com/storybookjs/storybook/pull/30659), thanks [@&#8203;valentinpalkovic](https://redirect.github.com/valentinpalkovic)!
-   Svelte: Fix Vite crashing on virtual module imports - [#&#8203;26838](https://redirect.github.com/storybookjs/storybook/pull/26838), thanks [@&#8203;rChaoz](https://redirect.github.com/rChaoz)!
-   Svelte: Fix automatic argTypes inference coming up empty with `svelte2tsx@0.7.35` - [#&#8203;30784](https://redirect.github.com/storybookjs/storybook/pull/30784), thanks [@&#8203;JReinhold](https://redirect.github.com/JReinhold)!
-   Universal Store: Don't use `crypto.randomUUID` - [#&#8203;30781](https://redirect.github.com/storybookjs/storybook/pull/30781), thanks [@&#8203;JReinhold](https://redirect.github.com/JReinhold)!

</details>

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

### [`v1.11.9`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#1119---2025-03-12)

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

##### Bug Fixes

-   **(es/compat)** Hoist `arguments` in object method while lowering async functions ([#&#8203;10167](https://redirect.github.com/swc-project/swc/issues/10167)) ([e764df2](e764df2480))

-   **(es/minifier)** Check array inline for indexed with dynamic key ([#&#8203;10184](https://redirect.github.com/swc-project/swc/issues/10184)) ([c2fe4bf](c2fe4bf2d3))

##### Features

-   **(es/module)** Support more `import.meta` properties ([#&#8203;10179](https://redirect.github.com/swc-project/swc/issues/10179)) ([11727a6](11727a62e4))

-   **(ts/fast-strip)** Throw js object instead of map ([#&#8203;10186](https://redirect.github.com/swc-project/swc/issues/10186)) ([2da0142](2da0142217))

##### Performance

-   **(es/fast-lexer)** Optimize `read_identifier` ([#&#8203;10170](https://redirect.github.com/swc-project/swc/issues/10170)) ([d97f7b2](d97f7b233f))

-   **(es/fast-lexer)** Use `memchr` for `skip_line_comments` ([#&#8203;10173](https://redirect.github.com/swc-project/swc/issues/10173)) ([35194e3](35194e3008))

-   **(es/fast-lexer)** Use SIMD properly for string literals ([#&#8203;10172](https://redirect.github.com/swc-project/swc/issues/10172)) ([be60338](be60338267))

-   **(es/fast-lexer)** Add length-based fast path for keywords ([#&#8203;10176](https://redirect.github.com/swc-project/swc/issues/10176)) ([1f70af8](1f70af842e))

-   **(es/fast-lexer)** Optimize memory layout of cursor ([#&#8203;10175](https://redirect.github.com/swc-project/swc/issues/10175)) ([aa20494](aa20494982))

-   **(es/fast-lexer)** Remove bound checks ([#&#8203;10174](https://redirect.github.com/swc-project/swc/issues/10174)) ([bccdafc](bccdafc0c3))

-   **(es/fast-lexer)** Replace PHF with static keyword lookup table ([#&#8203;10181](https://redirect.github.com/swc-project/swc/issues/10181)) ([56d065e](56d065ebcb))

-   **(es/fast-lexer)** Optimize SIMD vector initialization with initialing `u8x16` once. ([#&#8203;10183](https://redirect.github.com/swc-project/swc/issues/10183)) ([435197c](435197cc84))

</details>

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

### [`v4.0.14`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#4014---2025-03-13)

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

##### Fixed

-   Do not extract candidates with JS string interpolation `${` ([#&#8203;17142](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17142))
-   Fix extraction of variants containing `.` character ([#&#8203;17153](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17153))
-   Fix extracting candidates in Clojure/ClojureScript ([#&#8203;17087](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17087))

</details>

<details>
<summary>toeverything/design (@&#8203;toeverything/theme)</summary>

### [`v1.1.13`](https://redirect.github.com/toeverything/design/compare/1.1.12...1.1.13)

[Compare Source](https://redirect.github.com/toeverything/design/compare/1.1.12...1.1.13)

</details>

<details>
<summary>taskforcesh/bullmq (bullmq)</summary>

### [`v5.43.1`](https://redirect.github.com/taskforcesh/bullmq/releases/tag/v5.43.1)

[Compare Source](https://redirect.git

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDAuMCIsInVwZGF0ZWRJblZlciI6IjM5LjIwMC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-15 08:35:01 +00:00
renovate
7967ca4247 chore: bump up all non-major dependencies (#10877)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@capacitor/android](https://capacitorjs.com) ([source](https://redirect.github.com/ionic-team/capacitor)) | [`7.0.1` -> `7.1.0`](https://renovatebot.com/diffs/npm/@capacitor%2fandroid/7.0.1/7.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@capacitor%2fandroid/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@capacitor%2fandroid/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@capacitor%2fandroid/7.0.1/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capacitor%2fandroid/7.0.1/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@capacitor/cli](https://capacitorjs.com) ([source](https://redirect.github.com/ionic-team/capacitor)) | [`7.0.1` -> `7.1.0`](https://renovatebot.com/diffs/npm/@capacitor%2fcli/7.0.1/7.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@capacitor%2fcli/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@capacitor%2fcli/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@capacitor%2fcli/7.0.1/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capacitor%2fcli/7.0.1/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@capacitor/core](https://capacitorjs.com) ([source](https://redirect.github.com/ionic-team/capacitor)) | [`7.0.1` -> `7.1.0`](https://renovatebot.com/diffs/npm/@capacitor%2fcore/7.0.1/7.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@capacitor%2fcore/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@capacitor%2fcore/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@capacitor%2fcore/7.0.1/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capacitor%2fcore/7.0.1/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@capacitor/ios](https://capacitorjs.com) ([source](https://redirect.github.com/ionic-team/capacitor)) | [`7.0.1` -> `7.1.0`](https://renovatebot.com/diffs/npm/@capacitor%2fios/7.0.1/7.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@capacitor%2fios/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@capacitor%2fios/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@capacitor%2fios/7.0.1/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capacitor%2fios/7.0.1/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@capgo/inappbrowser](https://redirect.github.com/Cap-go/capacitor-inappbrowser) | [`7.2.21` -> `7.3.0`](https://renovatebot.com/diffs/npm/@capgo%2finappbrowser/7.2.21/7.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@capgo%2finappbrowser/7.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@capgo%2finappbrowser/7.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@capgo%2finappbrowser/7.2.21/7.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capgo%2finappbrowser/7.2.21/7.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@chromatic-com/storybook](https://redirect.github.com/chromaui/addon-visual-tests) | [`3.2.5` -> `3.2.6`](https://renovatebot.com/diffs/npm/@chromatic-com%2fstorybook/3.2.5/3.2.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@chromatic-com%2fstorybook/3.2.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@chromatic-com%2fstorybook/3.2.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@chromatic-com%2fstorybook/3.2.5/3.2.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@chromatic-com%2fstorybook/3.2.5/3.2.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@napi-rs/cli](https://redirect.github.com/napi-rs/napi-rs) | [`3.0.0-alpha.73` -> `3.0.0-alpha.75`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.73/3.0.0-alpha.75) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.75?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fcli/3.0.0-alpha.75?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fcli/3.0.0-alpha.73/3.0.0-alpha.75?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fcli/3.0.0-alpha.73/3.0.0-alpha.75?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@shoelace-style/shoelace](https://redirect.github.com/shoelace-style/shoelace) | [`2.20.0` -> `2.20.1`](https://renovatebot.com/diffs/npm/@shoelace-style%2fshoelace/2.20.0/2.20.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@shoelace-style%2fshoelace/2.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@shoelace-style%2fshoelace/2.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@shoelace-style%2fshoelace/2.20.0/2.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@shoelace-style%2fshoelace/2.20.0/2.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@storybook/addon-essentials](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/essentials) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials)) | [`8.6.4` -> `8.6.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-essentials/8.6.4/8.6.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-essentials/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-essentials/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-essentials/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-essentials/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-interactions](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/interactions) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions)) | [`8.6.4` -> `8.6.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-interactions/8.6.4/8.6.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-interactions/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-interactions/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-interactions/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-interactions/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-links](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/links) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/links)) | [`8.6.4` -> `8.6.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/8.6.4/8.6.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-links/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-links/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-links/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-links/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-mdx-gfm](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/gfm) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/gfm)) | [`8.6.4` -> `8.6.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-mdx-gfm/8.6.4/8.6.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-mdx-gfm/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-mdx-gfm/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-mdx-gfm/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-mdx-gfm/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/react](https://redirect.github.com/storybookjs/storybook/tree/next/code/renderers/react) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/renderers/react)) | [`8.6.4` -> `8.6.6`](https://renovatebot.com/diffs/npm/@storybook%2freact/8.6.4/8.6.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/react-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/frameworks/react-vite) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite)) | [`8.6.4` -> `8.6.6`](https://renovatebot.com/diffs/npm/@storybook%2freact-vite/8.6.4/8.6.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact-vite/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact-vite/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact-vite/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact-vite/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@swc/core](https://swc.rs) ([source](https://redirect.github.com/swc-project/swc)) | [`1.11.8` -> `1.11.9`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.11.8/1.11.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.11.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fcore/1.11.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fcore/1.11.8/1.11.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.11.8/1.11.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@tailwindcss/postcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss)) | [`4.0.13` -> `4.0.14`](https://renovatebot.com/diffs/npm/@tailwindcss%2fpostcss/4.0.13/4.0.14) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2fpostcss/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tailwindcss%2fpostcss/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tailwindcss%2fpostcss/4.0.13/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2fpostcss/4.0.13/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@tailwindcss/vite](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite)) | [`4.0.13` -> `4.0.14`](https://renovatebot.com/diffs/npm/@tailwindcss%2fvite/4.0.13/4.0.14) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2fvite/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tailwindcss%2fvite/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tailwindcss%2fvite/4.0.13/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2fvite/4.0.13/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@toeverything/theme](https://redirect.github.com/toeverything/design) | [`1.1.12` -> `1.1.13`](https://renovatebot.com/diffs/npm/@toeverything%2ftheme/1.1.12/1.1.13) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@toeverything%2ftheme/1.1.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@toeverything%2ftheme/1.1.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@toeverything%2ftheme/1.1.12/1.1.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@toeverything%2ftheme/1.1.12/1.1.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [bullmq](https://bullmq.io/) ([source](https://redirect.github.com/taskforcesh/bullmq)) | [`5.41.9` -> `5.43.1`](https://renovatebot.com/diffs/npm/bullmq/5.41.9/5.43.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/bullmq/5.43.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/bullmq/5.43.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/bullmq/5.41.9/5.43.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/bullmq/5.41.9/5.43.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [cmdk](https://redirect.github.com/pacocoursey/cmdk) ([source](https://redirect.github.com/pacocoursey/cmdk/tree/HEAD/cmdk)) | [`1.0.4` -> `1.1.1`](https://renovatebot.com/diffs/npm/cmdk/1.0.4/1.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/cmdk/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/cmdk/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/cmdk/1.0.4/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/cmdk/1.0.4/1.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [fast-xml-parser](https://redirect.github.com/NaturalIntelligence/fast-xml-parser) | [`5.0.8` -> `5.0.9`](https://renovatebot.com/diffs/npm/fast-xml-parser/5.0.8/5.0.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/fast-xml-parser/5.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/fast-xml-parser/5.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/fast-xml-parser/5.0.8/5.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/fast-xml-parser/5.0.8/5.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [file-type](https://redirect.github.com/sindresorhus/file-type) | [`20.4.0` -> `20.4.1`](https://renovatebot.com/diffs/npm/file-type/20.4.0/20.4.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/file-type/20.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/file-type/20.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/file-type/20.4.0/20.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/file-type/20.4.0/20.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [html-validate](https://html-validate.org) ([source](https://gitlab.com/html-validate/html-validate)) | [`9.5.0` -> `9.5.1`](https://renovatebot.com/diffs/npm/html-validate/9.5.0/9.5.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/html-validate/9.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/html-validate/9.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/html-validate/9.5.0/9.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/html-validate/9.5.0/9.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [i18next](https://www.i18next.com) ([source](https://redirect.github.com/i18next/i18next)) | [`24.2.2` -> `24.2.3`](https://renovatebot.com/diffs/npm/i18next/24.2.2/24.2.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/i18next/24.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/i18next/24.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/i18next/24.2.2/24.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/i18next/24.2.2/24.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [libc](https://redirect.github.com/rust-lang/libc) | `0.2.170` -> `0.2.171` | [![age](https://developer.mend.io/api/mc/badges/age/crate/libc/0.2.171?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/libc/0.2.171?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/libc/0.2.170/0.2.171?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/libc/0.2.170/0.2.171?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [lint-staged](https://redirect.github.com/lint-staged/lint-staged) | [`15.4.3` -> `15.5.0`](https://renovatebot.com/diffs/npm/lint-staged/15.4.3/15.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lint-staged/15.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lint-staged/15.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lint-staged/15.4.3/15.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lint-staged/15.4.3/15.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [lucide-react](https://lucide.dev) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.479.0` -> `^0.482.0`](https://renovatebot.com/diffs/npm/lucide-react/0.479.0/0.482.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.482.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-react/0.482.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-react/0.479.0/0.482.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.479.0/0.482.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [mixpanel](https://redirect.github.com/mixpanel/mixpanel-node) | [`0.18.0` -> `0.18.1`](https://renovatebot.com/diffs/npm/mixpanel/0.18.0/0.18.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/mixpanel/0.18.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/mixpanel/0.18.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/mixpanel/0.18.0/0.18.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/mixpanel/0.18.0/0.18.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [mixpanel-browser](https://redirect.github.com/mixpanel/mixpanel-js) | [`2.61.1` -> `2.61.2`](https://renovatebot.com/diffs/npm/mixpanel-browser/2.61.1/2.61.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/mixpanel-browser/2.61.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/mixpanel-browser/2.61.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/mixpanel-browser/2.61.1/2.61.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/mixpanel-browser/2.61.1/2.61.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [nest-commander](https://nest-commander.jaymcdoniel.dev) ([source](https://redirect.github.com/jmcdo29/nest-commander/tree/HEAD/pacakges/nest-commander)) | [`3.16.1` -> `3.17.0`](https://renovatebot.com/diffs/npm/nest-commander/3.16.1/3.17.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nest-commander/3.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nest-commander/3.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nest-commander/3.16.1/3.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nest-commander/3.16.1/3.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [once_cell](https://redirect.github.com/matklad/once_cell) | `1.20.3` -> `1.21.1` | [![age](https://developer.mend.io/api/mc/badges/age/crate/once_cell/1.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/once_cell/1.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/once_cell/1.20.3/1.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/once_cell/1.20.3/1.21.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | minor |
| [python](https://redirect.github.com/actions/python-versions) | `3.12` -> `3.13` | [![age](https://developer.mend.io/api/mc/badges/age/github-releases/actions%2fpython-versions/3.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/github-releases/actions%2fpython-versions/3.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/github-releases/actions%2fpython-versions/3.12.9/3.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/github-releases/actions%2fpython-versions/3.12.9/3.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | uses-with | minor |
| [react-day-picker](https://daypicker.dev) ([source](https://redirect.github.com/gpbl/react-day-picker)) | [`9.6.1` -> `9.6.2`](https://renovatebot.com/diffs/npm/react-day-picker/9.6.1/9.6.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-day-picker/9.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-day-picker/9.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-day-picker/9.6.1/9.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-day-picker/9.6.1/9.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [storybook](https://redirect.github.com/storybookjs/storybook/tree/next/code/lib/cli) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/lib/cli)) | [`8.6.4` -> `8.6.6`](https://renovatebot.com/diffs/npm/storybook/8.6.4/8.6.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/storybook/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/storybook/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/storybook/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/storybook/8.6.4/8.6.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [tailwindcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss)) | [`4.0.13` -> `4.0.14`](https://renovatebot.com/diffs/npm/tailwindcss/4.0.13/4.0.14) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tailwindcss/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tailwindcss/4.0.13/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/4.0.13/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [tailwindcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss)) | [`4.0.13` -> `4.0.14`](https://renovatebot.com/diffs/npm/tailwindcss/4.0.13/4.0.14) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tailwindcss/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tailwindcss/4.0.13/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/4.0.13/4.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [tokio](https://tokio.rs) ([source](https://redirect.github.com/tokio-rs/tokio)) | `1.44.0` -> `1.44.1` | [![age](https://developer.mend.io/api/mc/badges/age/crate/tokio/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tokio/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tokio/1.44.0/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tokio/1.44.0/1.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [undici](https://undici.nodejs.org) ([source](https://redirect.github.com/nodejs/undici)) | [`7.4.0` -> `7.5.0`](https://renovatebot.com/diffs/npm/undici/7.4.0/7.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/undici/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/undici/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/undici/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/undici/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [uuid](https://redirect.github.com/uuid-rs/uuid) | `1.15.1` -> `1.16.0` | [![age](https://developer.mend.io/api/mc/badges/age/crate/uuid/1.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/uuid/1.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/uuid/1.15.1/1.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/uuid/1.15.1/1.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | minor |
| [vite](https://vite.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`6.2.1` -> `6.2.2`](https://renovatebot.com/diffs/npm/vite/6.2.1/6.2.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/6.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/6.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/6.2.1/6.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/6.2.1/6.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [vite](https://vite.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`6.2.1` -> `6.2.2`](https://renovatebot.com/diffs/npm/vite/6.2.1/6.2.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/6.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/6.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/6.2.1/6.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/6.2.1/6.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |

---

### Release Notes

<details>
<summary>ionic-team/capacitor (@&#8203;capacitor/android)</summary>

### [`v7.1.0`](https://redirect.github.com/ionic-team/capacitor/blob/HEAD/CHANGELOG.md#710-2025-03-12)

[Compare Source](https://redirect.github.com/ionic-team/capacitor/compare/7.0.1...7.1.0)

##### Bug Fixes

-   **android:** add EdgeToEdge compatibility ([#&#8203;7871](https://redirect.github.com/ionic-team/capacitor/issues/7871)) ([64a8bc4](64a8bc40de))
-   **android:** sanitize portable file name ([#&#8203;7894](https://redirect.github.com/ionic-team/capacitor/issues/7894)) ([5f09297](5f092970e3))
-   **cli:** don't run bundle if not installed ([#&#8203;7896](https://redirect.github.com/ionic-team/capacitor/issues/7896)) ([ee55f6c](ee55f6c546))
-   **core:** use getPlatform instead of platform in cordova.js ([#&#8203;7902](https://redirect.github.com/ionic-team/capacitor/issues/7902)) ([277db7b](277db7b48c))
-   **http:** boundary not added for Request objects ([#&#8203;7897](https://redirect.github.com/ionic-team/capacitor/issues/7897)) ([bdaa6f3](bdaa6f3c38))
-   **ios:** don't check isMediaExtension on range requests ([#&#8203;7868](https://redirect.github.com/ionic-team/capacitor/issues/7868)) ([028caa5](028caa5378))
-   **ios:** listen for CapacitorViewDidAppear ([#&#8203;7850](https://redirect.github.com/ionic-team/capacitor/issues/7850)) ([e24ffb7](e24ffb7d4d))
-   **ios:** Reset plugin listeners when WebView process is terminated ([#&#8203;7905](https://redirect.github.com/ionic-team/capacitor/issues/7905)) ([d039157](d039157672))

##### Features

-   Add function to inject external JS into WebView before document load ([#&#8203;7864](https://redirect.github.com/ionic-team/capacitor/issues/7864)) ([ec0954c](ec0954c197))
-   **android:** add adjustMarginsForEdgeToEdge configuration option ([#&#8203;7885](https://redirect.github.com/ionic-team/capacitor/issues/7885)) ([1ea86d1](1ea86d166a))
-   **cli:** add more configurations to build command ([#&#8203;7769](https://redirect.github.com/ionic-team/capacitor/issues/7769)) ([90f95d1](90f95d1a82))

#### [7.0.1](https://redirect.github.com/ionic-team/capacitor/compare/7.0.0...7.0.1) (2025-01-21)

##### Bug Fixes

-   make migrate use 7.0.0 ([#&#8203;7837](https://redirect.github.com/ionic-team/capacitor/issues/7837)) ([5dc309e](5dc309ea8d))
-   use Capacitor 7 for SPM dependency ([#&#8203;7835](https://redirect.github.com/ionic-team/capacitor/issues/7835)) ([640c3cb](640c3cb22a))

</details>

<details>
<summary>Cap-go/capacitor-inappbrowser (@&#8203;capgo/inappbrowser)</summary>

### [`v7.3.0`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#730-2025-03-13)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.21...7.3.0)

##### Features

-   make the plugin crash free the max possible ([8ac2a84](8ac2a8455a))

##### [7.2.21](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.20...7.2.21) (2025-03-10)

##### Bug Fixes

-   **deps:** update dependency androidx.coordinatorlayout:coordinatorlayout to v1.3.0 ([#&#8203;290](https://redirect.github.com/Cap-go/capacitor-inappbrowser/issues/290)) ([61feebb](61feebb67e))

##### [7.2.20](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.19...7.2.20) (2025-03-03)

##### [7.2.19](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.18...7.2.19) (2025-03-03)

##### Bug Fixes

-   **deps:** update dependency androidx.constraintlayout:constraintlayout to v2.2.1 ([#&#8203;287](https://redirect.github.com/Cap-go/capacitor-inappbrowser/issues/287)) ([df45e17](df45e171ce))

##### [7.2.18](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.17...7.2.18) (2025-02-27)

##### Bug Fixes

-   renovate ([797cb7f](797cb7fbf6))

##### [7.2.17](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.16...7.2.17) (2025-02-18)

##### Bug Fixes

-   scoll issue ([e90cba3](e90cba3d35))

##### [7.2.16](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.15...7.2.16) (2025-02-10)

##### Bug Fixes

-   **deps:** update dependency androidx.constraintlayout:constraintlayout to v2.2.0 ([#&#8203;282](https://redirect.github.com/Cap-go/capacitor-inappbrowser/issues/282)) ([69fab8c](69fab8c94d))

##### [7.2.15](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.14...7.2.15) (2025-02-10)

##### [7.2.14](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.13...7.2.14) (2025-02-09)

##### Bug Fixes

-   handle Android back button properly ([cffb6fe](cffb6fe97c))

##### [7.2.13](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.12...7.2.13) (2025-02-09)

##### Bug Fixes

-   lint issue ([aefe361](aefe361bf2))

##### [7.2.12](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.11...7.2.12) (2025-02-09)

##### Bug Fixes

-   add missing class ([78056b0](78056b036d))

##### [7.2.11](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.10...7.2.11) (2025-02-09)

##### Bug Fixes

-   remove wrong implementation ([c63b329](c63b3291a6))

##### [7.2.10](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.9...7.2.10) (2025-02-08)

##### Bug Fixes

-   eslint config ([2c7e3a3](2c7e3a3750))

##### [7.2.9](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.8...7.2.9) (2025-02-08)

##### Bug Fixes

-   author ([9cd5e8e](9cd5e8ef27))

##### [7.2.8](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.7...7.2.8) (2025-02-08)

##### Bug Fixes

-   lint ([6a07cd2](6a07cd2c7d))

##### [7.2.7](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.6...7.2.7) (2025-02-08)

##### Bug Fixes

-   use latest ([f9d8687](f9d8687cbd))

##### [7.2.6](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.5...7.2.6) (2025-02-08)

##### Bug Fixes

-   package list ([f59719e](f59719e12a))

##### [7.2.5](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.4...7.2.5) (2025-02-08)

##### Bug Fixes

-   remove old lock ([f0920a7](f0920a7527))

##### [7.2.4](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.3...7.2.4) (2025-02-08)

##### Bug Fixes

-   git ignore ([3f5f878](3f5f8788fc))

##### [7.2.3](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.2...7.2.3) (2025-02-08)

##### Bug Fixes

-   switch to new plugin definition ([c63bb32](c63bb32867))

##### [7.2.2](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.1...7.2.2) (2025-02-08)

##### Bug Fixes

-   lock ([96f9231](96f9231ed7))

##### [7.2.1](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.0...7.2.1) (2025-02-08)

##### Bug Fixes

-   json typo ([b531feb](b531feb62f))
-   remove pnpm ([f587f10](f587f102aa))

</details>

<details>
<summary>chromaui/addon-visual-tests (@&#8203;chromatic-com/storybook)</summary>

### [`v3.2.6`](https://redirect.github.com/chromaui/addon-visual-tests/releases/tag/v3.2.6)

[Compare Source](https://redirect.github.com/chromaui/addon-visual-tests/compare/v3.2.5...v3.2.6)

##### 🐛 Bug Fix

-   Fix SSO url [#&#8203;363](https://redirect.github.com/chromaui/addon-visual-tests/pull/363) ([@&#8203;kasperpeulen](https://redirect.github.com/kasperpeulen))

##### Authors: 1

-   Kasper Peulen ([@&#8203;kasperpeulen](https://redirect.github.com/kasperpeulen))

</details>

<details>
<summary>napi-rs/napi-rs (@&#8203;napi-rs/cli)</summary>

### [`v3.0.0-alpha.75`](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.74...@napi-rs/cli@3.0.0-alpha.75)

[Compare Source](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.74...@napi-rs/cli@3.0.0-alpha.75)

### [`v3.0.0-alpha.74`](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.73...@napi-rs/cli@3.0.0-alpha.74)

[Compare Source](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.73...@napi-rs/cli@3.0.0-alpha.74)

</details>

<details>
<summary>shoelace-style/shoelace (@&#8203;shoelace-style/shoelace)</summary>

### [`v2.20.1`](https://redirect.github.com/shoelace-style/shoelace/releases/tag/v2.20.1)

[Compare Source](https://redirect.github.com/shoelace-style/shoelace/compare/v2.20.0...v2.20.1)

#### Commits

-   [`19537b1`](https://redirect.github.com/shoelace-style/shoelace/commit/19537b1): Fix a11y issues for closing components with focused children (Christian Schilling) [#&#8203;2383](https://redirect.github.com/shoelace-style/shoelace/pull/2383)
-   [`61c73cd`](https://redirect.github.com/shoelace-style/shoelace/commit/61c73cd): Add ticket number to changelog (Christian Schilling) [#&#8203;2383](https://redirect.github.com/shoelace-style/shoelace/pull/2383)
-   Nested tab groups broken in v2.19.1 ([#&#8203;2367](https://redirect.github.com/shoelace-style/shoelace/issues/2367)) [#&#8203;2367](https://redirect.github.com/shoelace-style/shoelace/pull/2367) ([Christian Schilling](6f09a75567))
-   [`d83d620`](https://redirect.github.com/shoelace-style/shoelace/commit/d83d620): Remove log statement (Christian Schilling) [#&#8203;2383](https://redirect.github.com/shoelace-style/shoelace/pull/2383)
-   [`0a48bc5`](https://redirect.github.com/shoelace-style/shoelace/commit/0a48bc5): Merge remote-tracking branch 'upstream/next' into fix/a11y-errors-for-blur (Christian Schilling) [#&#8203;2383](https://redirect.github.com/shoelace-style/shoelace/pull/2383)
-   [`91235cb`](https://redirect.github.com/shoelace-style/shoelace/commit/91235cb): Fixes dropdown closing on tab key ([#&#8203;2371](https://redirect.github.com/shoelace-style/shoelace/issues/2371)) (Gabriel Belgamo) [#&#8203;2371](https://redirect.github.com/shoelace-style/shoelace/pull/2371)
-   [`1b9104d`](https://redirect.github.com/shoelace-style/shoelace/commit/1b9104d): update changelog (Cory LaViska)
-   [`5ef3c91`](https://redirect.github.com/shoelace-style/shoelace/commit/5ef3c91): fix contextElement guard ([#&#8203;2399](https://redirect.github.com/shoelace-style/shoelace/issues/2399)) (Diego Ferreiro Val) [#&#8203;2399](https://redirect.github.com/shoelace-style/shoelace/pull/2399)
-   [`ee42086`](https://redirect.github.com/shoelace-style/shoelace/commit/ee42086): update changelog (Cory LaViska)
-   [`e09277e`](https://redirect.github.com/shoelace-style/shoelace/commit/e09277e): Fixes closable sl-alert can be closed on whole vertical area without visual indication ([#&#8203;2375](https://redirect.github.com/shoelace-style/shoelace/issues/2375)) (Susanne Kirchner) [#&#8203;2375](https://redirect.github.com/shoelace-style/shoelace/pull/2375)
-   [`eef4c17`](https://redirect.github.com/shoelace-style/shoelace/commit/eef4c17): update changelog (Cory LaViska)
-   [`d2ce983`](https://redirect.github.com/shoelace-style/shoelace/commit/d2ce983): Merge branch 'fix/a11y-errors-for-blur' of https://github.com/schilchSICKAG/shoelace into schilchSICKAG-fix/a11y-errors-for-blur (Cory LaViska) [#&#8203;2383](https://redirect.github.com/shoelace-style/shoelace/pull/2383)
-   [`5be9540`](https://redirect.github.com/shoelace-style/shoelace/commit/5be9540): Merge branch 'schilchSICKAG-fix/a11y-errors-for-blur' into next (Cory LaViska)
-   [`0cf1984`](https://redirect.github.com/shoelace-style/shoelace/commit/0cf1984): update docs to fix types (Cory LaViska)
-   [`bcf08a8`](https://redirect.github.com/shoelace-style/shoelace/commit/bcf08a8): Carousel accessibility ([#&#8203;2364](https://redirect.github.com/shoelace-style/shoelace/issues/2364)) (Matt McLean) [#&#8203;2364](https://redirect.github.com/shoelace-style/shoelace/pull/2364)
-   [`d1f94ab`](https://redirect.github.com/shoelace-style/shoelace/commit/d1f94ab): update changelog (Cory LaViska)
-   [`3142d14`](https://redirect.github.com/shoelace-style/shoelace/commit/3142d14): update version (Cory LaViska)
-   [`fb59fda`](https://redirect.github.com/shoelace-style/shoelace/commit/fb59fda): 2.20.1 (Cory LaViska)

</details>

<details>
<summary>storybookjs/storybook (@&#8203;storybook/addon-essentials)</summary>

### [`v8.6.6`](https://redirect.github.com/storybookjs/storybook/compare/v8.6.5...9a7a7953fca0f05be3806318c7676940ed4fc102)

[Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v8.6.5...v8.6.6)

### [`v8.6.5`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#865)

[Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v8.6.4...v8.6.5)

-   Addon A11y: Promote [@&#8203;storybook/global](https://redirect.github.com/storybook/global) to full dependency - [#&#8203;30723](https://redirect.github.com/storybookjs/storybook/pull/30723), thanks [@&#8203;mrginglymus](https://redirect.github.com/mrginglymus)!
-   Angular: Add `@angular-devkit/build-angular` to installed packages - [#&#8203;30790](https://redirect.github.com/storybookjs/storybook/pull/30790), thanks [@&#8203;kasperpeulen](https://redirect.github.com/kasperpeulen)!
-   CLI: Fix test install in RNW projects - [#&#8203;30786](https://redirect.github.com/storybookjs/storybook/pull/30786), thanks [@&#8203;shilman](https://redirect.github.com/shilman)!
-   Core: Replace 'min' instead of 'm' in printDuration - [#&#8203;30668](https://redirect.github.com/storybookjs/storybook/pull/30668), thanks [@&#8203;wlewis-formative](https://redirect.github.com/wlewis-formative)!
-   Next.js: Use latest version when init in empty directory - [#&#8203;30659](https://redirect.github.com/storybookjs/storybook/pull/30659), thanks [@&#8203;valentinpalkovic](https://redirect.github.com/valentinpalkovic)!
-   Svelte: Fix Vite crashing on virtual module imports - [#&#8203;26838](https://redirect.github.com/storybookjs/storybook/pull/26838), thanks [@&#8203;rChaoz](https://redirect.github.com/rChaoz)!
-   Svelte: Fix automatic argTypes inference coming up empty with `svelte2tsx@0.7.35` - [#&#8203;30784](https://redirect.github.com/storybookjs/storybook/pull/30784), thanks [@&#8203;JReinhold](https://redirect.github.com/JReinhold)!
-   Universal Store: Don't use `crypto.randomUUID` - [#&#8203;30781](https://redirect.github.com/storybookjs/storybook/pull/30781), thanks [@&#8203;JReinhold](https://redirect.github.com/JReinhold)!

</details>

<details>
<summary>storybookjs/storybook (@&#8203;storybook/addon-interactions)</summary>

### [`v8.6.6`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#866)

[Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v8.6.5...v8.6.6)

-   Angular: Make sure that polyfills are loaded before the storybook is loaded - [#&#8203;30811](https://redirect.github.com/storybookjs/storybook/pull/30811), thanks [@&#8203;kasperpeulen](https://redirect.github.com/kasperpeulen)!
-   CSF: Fix CSF subcomponent type - [#&#8203;30729](https://redirect.github.com/storybookjs/storybook/pull/30729), thanks [@&#8203;filipemelo2002](https://redirect.github.com/filipemelo2002)!

### [`v8.6.5`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#865)

[Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v8.6.4...v8.6.5)

-   Addon A11y: Promote [@&#8203;storybook/global](https://redirect.github.com/storybook/global) to full dependency - [#&#8203;30723](https://redirect.github.com/storybookjs/storybook/pull/30723), thanks [@&#8203;mrginglymus](https://redirect.github.com/mrginglymus)!
-   Angular: Add `@angular-devkit/build-angular` to installed packages - [#&#8203;30790](https://redirect.github.com/storybookjs/storybook/pull/30790), thanks [@&#8203;kasperpeulen](https://redirect.github.com/kasperpeulen)!
-   CLI: Fix test install in RNW projects - [#&#8203;30786](https://redirect.github.com/storybookjs/storybook/pull/30786), thanks [@&#8203;shilman](https://redirect.github.com/shilman)!
-   Core: Replace 'min' instead of 'm' in printDuration - [#&#8203;30668](https://redirect.github.com/storybookjs/storybook/pull/30668), thanks [@&#8203;wlewis-formative](https://redirect.github.com/wlewis-formative)!
-   Next.js: Use latest version when init in empty directory - [#&#8203;30659](https://redirect.github.com/storybookjs/storybook/pull/30659), thanks [@&#8203;valentinpalkovic](https://redirect.github.com/valentinpalkovic)!
-   Svelte: Fix Vite crashing on virtual module imports - [#&#8203;26838](https://redirect.github.com/storybookjs/storybook/pull/26838), thanks [@&#8203;rChaoz](https://redirect.github.com/rChaoz)!
-   Svelte: Fix automatic argTypes inference coming up empty with `svelte2tsx@0.7.35` - [#&#8203;30784](https://redirect.github.com/storybookjs/storybook/pull/30784), thanks [@&#8203;JReinhold](https://redirect.github.com/JReinhold)!
-   Universal Store: Don't use `crypto.randomUUID` - [#&#8203;30781](https://redirect.github.com/storybookjs/storybook/pull/30781), thanks [@&#8203;JReinhold](https://redirect.github.com/JReinhold)!

</details>

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

### [`v1.11.9`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#1119---2025-03-12)

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

##### Bug Fixes

-   **(es/compat)** Hoist `arguments` in object method while lowering async functions ([#&#8203;10167](https://redirect.github.com/swc-project/swc/issues/10167)) ([e764df2](e764df2480))

-   **(es/minifier)** Check array inline for indexed with dynamic key ([#&#8203;10184](https://redirect.github.com/swc-project/swc/issues/10184)) ([c2fe4bf](c2fe4bf2d3))

##### Features

-   **(es/module)** Support more `import.meta` properties ([#&#8203;10179](https://redirect.github.com/swc-project/swc/issues/10179)) ([11727a6](11727a62e4))

-   **(ts/fast-strip)** Throw js object instead of map ([#&#8203;10186](https://redirect.github.com/swc-project/swc/issues/10186)) ([2da0142](2da0142217))

##### Performance

-   **(es/fast-lexer)** Optimize `read_identifier` ([#&#8203;10170](https://redirect.github.com/swc-project/swc/issues/10170)) ([d97f7b2](d97f7b233f))

-   **(es/fast-lexer)** Use `memchr` for `skip_line_comments` ([#&#8203;10173](https://redirect.github.com/swc-project/swc/issues/10173)) ([35194e3](35194e3008))

-   **(es/fast-lexer)** Use SIMD properly for string literals ([#&#8203;10172](https://redirect.github.com/swc-project/swc/issues/10172)) ([be60338](be60338267))

-   **(es/fast-lexer)** Add length-based fast path for keywords ([#&#8203;10176](https://redirect.github.com/swc-project/swc/issues/10176)) ([1f70af8](1f70af842e))

-   **(es/fast-lexer)** Optimize memory layout of cursor ([#&#8203;10175](https://redirect.github.com/swc-project/swc/issues/10175)) ([aa20494](aa20494982))

-   **(es/fast-lexer)** Remove bound checks ([#&#8203;10174](https://redirect.github.com/swc-project/swc/issues/10174)) ([bccdafc](bccdafc0c3))

-   **(es/fast-lexer)** Replace PHF with static keyword lookup table ([#&#8203;10181](https://redirect.github.com/swc-project/swc/issues/10181)) ([56d065e](56d065ebcb))

-   **(es/fast-lexer)** Optimize SIMD vector initialization with initialing `u8x16` once. ([#&#8203;10183](https://redirect.github.com/swc-project/swc/issues/10183)) ([435197c](435197cc84))

</details>

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

### [`v4.0.14`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#4014---2025-03-13)

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

##### Fixed

-   Do not extract candidates with JS string interpolation `${` ([#&#8203;17142](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17142))
-   Fix extraction of variants containing `.` character ([#&#8203;17153](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17153))
-   Fix extracting candidates in Clojure/ClojureScript ([#&#8203;17087](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17087))

</details>

<details>
<summary>toeverything/design (@&#8203;toeverything/theme)</summary>

### [`v1.1.13`](https://redirect.github.com/toeverything/design/compare/1.1.12...1.1.13)

[Compare Source](https://redirect.github.com/toeverything/design/compare/1.1.12...1.1.13)

</details>

<details>
<summary>taskforcesh/bullmq (bullmq)</summary>

### [`v5.43.1`](https://redirect.github.com/taskforcesh/bullmq/releases/tag/v5.43.1)

[Compare Source](https://redirect.git

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDAuMCIsInVwZGF0ZWRJblZlciI6IjM5LjIwMC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-15 07:27:32 +00:00
EYHN
5915e6a6f1 fix(nbstore): fix download blob return too early (#10875) 2025-03-14 16:41:31 +00:00
renovate
0d7f032238 chore: bump up all non-major dependencies (#10734)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@capgo/inappbrowser](https://redirect.github.com/Cap-go/capacitor-inappbrowser) | [`7.2.20` -> `7.2.21`](https://renovatebot.com/diffs/npm/@capgo%2finappbrowser/7.2.20/7.2.21) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@capgo%2finappbrowser/7.2.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@capgo%2finappbrowser/7.2.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@capgo%2finappbrowser/7.2.20/7.2.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capgo%2finappbrowser/7.2.20/7.2.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@shoelace-style/shoelace](https://redirect.github.com/shoelace-style/shoelace) | [`2.20.0` -> `2.20.1`](https://renovatebot.com/diffs/npm/@shoelace-style%2fshoelace/2.20.0/2.20.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@shoelace-style%2fshoelace/2.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@shoelace-style%2fshoelace/2.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@shoelace-style%2fshoelace/2.20.0/2.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@shoelace-style%2fshoelace/2.20.0/2.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@tailwindcss/postcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss)) | [`4.0.12` -> `4.0.13`](https://renovatebot.com/diffs/npm/@tailwindcss%2fpostcss/4.0.12/4.0.13) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2fpostcss/4.0.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tailwindcss%2fpostcss/4.0.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tailwindcss%2fpostcss/4.0.12/4.0.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2fpostcss/4.0.12/4.0.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@tailwindcss/vite](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite)) | [`4.0.12` -> `4.0.13`](https://renovatebot.com/diffs/npm/@tailwindcss%2fvite/4.0.12/4.0.13) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2fvite/4.0.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tailwindcss%2fvite/4.0.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tailwindcss%2fvite/4.0.12/4.0.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2fvite/4.0.12/4.0.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [bullmq](https://bullmq.io/) ([source](https://redirect.github.com/taskforcesh/bullmq)) | [`5.41.8` -> `5.41.9`](https://renovatebot.com/diffs/npm/bullmq/5.41.8/5.41.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/bullmq/5.41.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/bullmq/5.41.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/bullmq/5.41.8/5.41.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/bullmq/5.41.8/5.41.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [electron](https://redirect.github.com/electron/electron) | [`35.0.0` -> `35.0.1`](https://renovatebot.com/diffs/npm/electron/35.0.0/35.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/35.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/35.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/35.0.0/35.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/35.0.0/35.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [electron-updater](https://redirect.github.com/electron-userland/electron-builder) ([source](https://redirect.github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-updater)) | [`6.6.1` -> `6.6.2`](https://renovatebot.com/diffs/npm/electron-updater/6.6.1/6.6.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron-updater/6.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron-updater/6.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron-updater/6.6.1/6.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron-updater/6.6.1/6.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [esbuild](https://redirect.github.com/evanw/esbuild) | [`0.25.0` -> `0.25.1`](https://renovatebot.com/diffs/npm/esbuild/0.25.0/0.25.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/esbuild/0.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/esbuild/0.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/esbuild/0.25.0/0.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/esbuild/0.25.0/0.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [happy-dom](https://redirect.github.com/capricorn86/happy-dom) | [`17.4.3` -> `17.4.4`](https://renovatebot.com/diffs/npm/happy-dom/17.4.3/17.4.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/17.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/17.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/17.4.3/17.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/17.4.3/17.4.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [jotai](https://redirect.github.com/pmndrs/jotai) | [`2.12.1` -> `2.12.2`](https://renovatebot.com/diffs/npm/jotai/2.12.1/2.12.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jotai/2.12.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jotai/2.12.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jotai/2.12.1/2.12.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jotai/2.12.1/2.12.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [libc](https://redirect.github.com/rust-lang/libc) | `0.2.170` -> `0.2.171` | [![age](https://developer.mend.io/api/mc/badges/age/crate/libc/0.2.171?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/libc/0.2.171?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/libc/0.2.170/0.2.171?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/libc/0.2.170/0.2.171?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [mixpanel-browser](https://redirect.github.com/mixpanel/mixpanel-js) | [`2.61.0` -> `2.61.1`](https://renovatebot.com/diffs/npm/mixpanel-browser/2.61.0/2.61.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/mixpanel-browser/2.61.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/mixpanel-browser/2.61.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/mixpanel-browser/2.61.0/2.61.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/mixpanel-browser/2.61.0/2.61.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [next-themes](https://redirect.github.com/pacocoursey/next-themes) | [`0.4.5` -> `0.4.6`](https://renovatebot.com/diffs/npm/next-themes/0.4.5/0.4.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/next-themes/0.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/next-themes/0.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/next-themes/0.4.5/0.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/next-themes/0.4.5/0.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [once_cell](https://redirect.github.com/matklad/once_cell) | `1.20.3` -> `1.21.0` | [![age](https://developer.mend.io/api/mc/badges/age/crate/once_cell/1.21.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/once_cell/1.21.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/once_cell/1.20.3/1.21.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/once_cell/1.20.3/1.21.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | minor |
| [openai](https://redirect.github.com/openai/openai-node) | [`4.86.2` -> `4.87.3`](https://renovatebot.com/diffs/npm/openai/4.86.2/4.87.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/openai/4.87.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/openai/4.87.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/openai/4.86.2/4.87.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/openai/4.86.2/4.87.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [python](https://redirect.github.com/actions/python-versions) | `3.12` -> `3.13` | [![age](https://developer.mend.io/api/mc/badges/age/github-releases/actions%2fpython-versions/3.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/github-releases/actions%2fpython-versions/3.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/github-releases/actions%2fpython-versions/3.12.9/3.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/github-releases/actions%2fpython-versions/3.12.9/3.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | uses-with | minor |
| [shiki](https://redirect.github.com/shikijs/shiki) ([source](https://redirect.github.com/shikijs/shiki/tree/HEAD/packages/shiki)) | [`3.1.0` -> `3.2.1`](https://renovatebot.com/diffs/npm/shiki/3.1.0/3.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/shiki/3.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/shiki/3.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/shiki/3.1.0/3.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/shiki/3.1.0/3.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [tailwindcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss)) | [`4.0.12` -> `4.0.13`](https://renovatebot.com/diffs/npm/tailwindcss/4.0.12/4.0.13) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/4.0.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tailwindcss/4.0.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tailwindcss/4.0.12/4.0.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/4.0.12/4.0.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [tailwindcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss)) | [`4.0.12` -> `4.0.13`](https://renovatebot.com/diffs/npm/tailwindcss/4.0.12/4.0.13) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/4.0.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tailwindcss/4.0.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tailwindcss/4.0.12/4.0.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/4.0.12/4.0.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [tldts](https://redirect.github.com/remusao/tldts) | [`6.1.83` -> `6.1.84`](https://renovatebot.com/diffs/npm/tldts/6.1.83/6.1.84) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tldts/6.1.84?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tldts/6.1.84?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tldts/6.1.83/6.1.84?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tldts/6.1.83/6.1.84?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)) | [`8.26.0` -> `8.26.1`](https://renovatebot.com/diffs/npm/typescript-eslint/8.26.0/8.26.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typescript-eslint/8.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript-eslint/8.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript-eslint/8.26.0/8.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript-eslint/8.26.0/8.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |

---

### Release Notes

<details>
<summary>Cap-go/capacitor-inappbrowser (@&#8203;capgo/inappbrowser)</summary>

### [`v7.2.21`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#7221-2025-03-10)

[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.20...7.2.21)

</details>

<details>
<summary>shoelace-style/shoelace (@&#8203;shoelace-style/shoelace)</summary>

### [`v2.20.1`](https://redirect.github.com/shoelace-style/shoelace/releases/tag/v2.20.1)

[Compare Source](https://redirect.github.com/shoelace-style/shoelace/compare/v2.20.0...v2.20.1)

#### Commits

-   [`19537b1`](https://redirect.github.com/shoelace-style/shoelace/commit/19537b1): Fix a11y issues for closing components with focused children (Christian Schilling) [#&#8203;2383](https://redirect.github.com/shoelace-style/shoelace/pull/2383)
-   [`61c73cd`](https://redirect.github.com/shoelace-style/shoelace/commit/61c73cd): Add ticket number to changelog (Christian Schilling) [#&#8203;2383](https://redirect.github.com/shoelace-style/shoelace/pull/2383)
-   Nested tab groups broken in v2.19.1 ([#&#8203;2367](https://redirect.github.com/shoelace-style/shoelace/issues/2367)) [#&#8203;2367](https://redirect.github.com/shoelace-style/shoelace/pull/2367) ([Christian Schilling](6f09a75567))
-   [`d83d620`](https://redirect.github.com/shoelace-style/shoelace/commit/d83d620): Remove log statement (Christian Schilling) [#&#8203;2383](https://redirect.github.com/shoelace-style/shoelace/pull/2383)
-   [`0a48bc5`](https://redirect.github.com/shoelace-style/shoelace/commit/0a48bc5): Merge remote-tracking branch 'upstream/next' into fix/a11y-errors-for-blur (Christian Schilling) [#&#8203;2383](https://redirect.github.com/shoelace-style/shoelace/pull/2383)
-   [`91235cb`](https://redirect.github.com/shoelace-style/shoelace/commit/91235cb): Fixes dropdown closing on tab key ([#&#8203;2371](https://redirect.github.com/shoelace-style/shoelace/issues/2371)) (Gabriel Belgamo) [#&#8203;2371](https://redirect.github.com/shoelace-style/shoelace/pull/2371)
-   [`1b9104d`](https://redirect.github.com/shoelace-style/shoelace/commit/1b9104d): update changelog (Cory LaViska)
-   [`5ef3c91`](https://redirect.github.com/shoelace-style/shoelace/commit/5ef3c91): fix contextElement guard ([#&#8203;2399](https://redirect.github.com/shoelace-style/shoelace/issues/2399)) (Diego Ferreiro Val) [#&#8203;2399](https://redirect.github.com/shoelace-style/shoelace/pull/2399)
-   [`ee42086`](https://redirect.github.com/shoelace-style/shoelace/commit/ee42086): update changelog (Cory LaViska)
-   [`e09277e`](https://redirect.github.com/shoelace-style/shoelace/commit/e09277e): Fixes closable sl-alert can be closed on whole vertical area without visual indication ([#&#8203;2375](https://redirect.github.com/shoelace-style/shoelace/issues/2375)) (Susanne Kirchner) [#&#8203;2375](https://redirect.github.com/shoelace-style/shoelace/pull/2375)
-   [`eef4c17`](https://redirect.github.com/shoelace-style/shoelace/commit/eef4c17): update changelog (Cory LaViska)
-   [`d2ce983`](https://redirect.github.com/shoelace-style/shoelace/commit/d2ce983): Merge branch 'fix/a11y-errors-for-blur' of https://github.com/schilchSICKAG/shoelace into schilchSICKAG-fix/a11y-errors-for-blur (Cory LaViska) [#&#8203;2383](https://redirect.github.com/shoelace-style/shoelace/pull/2383)
-   [`5be9540`](https://redirect.github.com/shoelace-style/shoelace/commit/5be9540): Merge branch 'schilchSICKAG-fix/a11y-errors-for-blur' into next (Cory LaViska)
-   [`0cf1984`](https://redirect.github.com/shoelace-style/shoelace/commit/0cf1984): update docs to fix types (Cory LaViska)
-   [`bcf08a8`](https://redirect.github.com/shoelace-style/shoelace/commit/bcf08a8): Carousel accessibility ([#&#8203;2364](https://redirect.github.com/shoelace-style/shoelace/issues/2364)) (Matt McLean) [#&#8203;2364](https://redirect.github.com/shoelace-style/shoelace/pull/2364)
-   [`d1f94ab`](https://redirect.github.com/shoelace-style/shoelace/commit/d1f94ab): update changelog (Cory LaViska)
-   [`3142d14`](https://redirect.github.com/shoelace-style/shoelace/commit/3142d14): update version (Cory LaViska)
-   [`fb59fda`](https://redirect.github.com/shoelace-style/shoelace/commit/fb59fda): 2.20.1 (Cory LaViska)

</details>

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

### [`v4.0.13`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#4013---2025-03-11)

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

##### Fixed

-   Fix Haml pre-processing ([#&#8203;17051](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17051))
-   Ensure `.node` and `.wasm` files are not scanned for utilities ([#&#8203;17123](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17123))
-   Improve performance when scanning JSON files ([#&#8203;17125](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17125))
-   Fix extracting candidates containing dots in Haml, Pug, and Slim pre processors ([#&#8203;17094](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17094), [#&#8203;17085](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17085), [#&#8203;17113](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17113))
-   Don't create invalid CSS when encountering a link wrapped in square brackets ([#&#8203;17129](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17129))

</details>

<details>
<summary>taskforcesh/bullmq (bullmq)</summary>

### [`v5.41.9`](https://redirect.github.com/taskforcesh/bullmq/releases/tag/v5.41.9)

[Compare Source](https://redirect.github.com/taskforcesh/bullmq/compare/v5.41.8...v5.41.9)

##### Bug Fixes

-   **scheduler:** remove multi when updating a job scheduler ([#&#8203;3108](https://redirect.github.com/taskforcesh/bullmq/issues/3108)) ([4b619ca](4b619cab9a))

</details>

<details>
<summary>electron/electron (electron)</summary>

### [`v35.0.1`](https://redirect.github.com/electron/electron/releases/tag/v35.0.1): electron v35.0.1

[Compare Source](https://redirect.github.com/electron/electron/compare/v35.0.0...v35.0.1)

### Release Notes for v35.0.1

#### Fixes

-   Fixed an issue where Node.js OOM errors terminate the process directly without raising an OOM exception. [#&#8203;45911](https://redirect.github.com/electron/electron/pull/45911) <span style="font-size:small;">(Also in [36](https://redirect.github.com/electron/electron/pull/45912))</span>
-   Fixed an issue where `setContentProtection(true)` was reverted when a given window was hidden. [#&#8203;45889](https://redirect.github.com/electron/electron/pull/45889) <span style="font-size:small;">(Also in [34](https://redirect.github.com/electron/electron/pull/45890))</span>
-   Fixed invalid memory access in pdf viewer which lead to random crashes. [#&#8203;45879](https://redirect.github.com/electron/electron/pull/45879) <span style="font-size:small;">(Also in [34](https://redirect.github.com/electron/electron/pull/45880))</span>
-   Improved webContents loading time when resolving fonts for uncommon scripts. [#&#8203;45918](https://redirect.github.com/electron/electron/pull/45918) <span style="font-size:small;">(Also in [34](https://redirect.github.com/electron/electron/pull/45917), [36](https://redirect.github.com/electron/electron/pull/45919))</span>

#### Other Changes

-   Backported fix for [`4010597`](https://redirect.github.com/electron/electron/commit/401059730). [#&#8203;45938](https://redirect.github.com/electron/electron/pull/45938)
-   Backported fix for [`4010597`](https://redirect.github.com/electron/electron/commit/401059730). [#&#8203;45943](https://redirect.github.com/electron/electron/pull/45943)

</details>

<details>
<summary>electron-userland/electron-builder (electron-updater)</summary>

### [`v6.6.2`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/electron-updater/CHANGELOG.md#662)

[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/electron-updater@6.6.1...electron-updater@6.6.2)

##### Patch Changes

-   [#&#8203;8933](https://redirect.github.com/electron-userland/electron-builder/pull/8933) [`324032c5`](324032c5ea) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - fix: re-export `CancellationToken`, `PackageFileInfo`, `ProgressInfo`, `UpdateFileInfo`, `UpdateInfo` from electron-updater

</details>

<details>
<summary>evanw/esbuild (esbuild)</summary>

### [`v0.25.1`](https://redirect.github.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0251)

[Compare Source](https://redirect.github.com/evanw/esbuild/compare/v0.25.0...v0.25.1)

-   Fix incorrect paths in inline source maps ([#&#8203;4070](https://redirect.github.com/evanw/esbuild/issues/4070), [#&#8203;4075](https://redirect.github.com/evanw/esbuild/issues/4075), [#&#8203;4105](https://redirect.github.com/evanw/esbuild/issues/4105))

    This fixes a regression from version 0.25.0 where esbuild didn't correctly resolve relative paths contained within source maps in inline `sourceMappingURL` data URLs. The paths were incorrectly being passed through as-is instead of being resolved relative to the source file containing the `sourceMappingURL` comment, which was due to the data URL not being a file URL. This regression has been fixed, and this case now has test coverage.

-   Fix invalid generated source maps ([#&#8203;4080](https://redirect.github.com/evanw/esbuild/issues/4080), [#&#8203;4082](https://redirect.github.com/evanw/esbuild/issues/4082), [#&#8203;4104](https://redirect.github.com/evanw/esbuild/issues/4104), [#&#8203;4107](https://redirect.github.com/evanw/esbuild/issues/4107))

    This release fixes a regression from version 0.24.1 that could cause esbuild to generate invalid source maps. Specifically under certain conditions, esbuild could generate a mapping with an out-of-bounds source index. It was introduced by code that attempted to improve esbuild's handling of "null" entries in source maps (i.e. mappings with a generated position but no original position). This regression has been fixed.

    This fix was contributed by [@&#8203;jridgewell](https://redirect.github.com/jridgewell).

-   Fix a regression with non-file source map paths ([#&#8203;4078](https://redirect.github.com/evanw/esbuild/issues/4078))

    The format of paths in source maps that aren't in the `file` namespace was unintentionally changed in version 0.25.0. Path namespaces is an esbuild-specific concept that is optionally available for plugins to use to distinguish paths from `file` paths and from paths meant for other plugins. Previously the namespace was prepended to the path joined with a `:` character, but version 0.25.0 unintentionally failed to prepend the namespace. The previous behavior has been restored.

-   Fix a crash with `switch` optimization ([#&#8203;4088](https://redirect.github.com/evanw/esbuild/issues/4088))

    The new code in the previous release to optimize dead code in switch statements accidentally introduced a crash in the edge case where one or more switch case values include a function expression. This is because esbuild now visits the case values first to determine whether any cases are dead code, and then visits the case bodies once the dead code status is known. That triggered some internal asserts that guard against traversing the AST in an unexpected order. This crash has been fixed by changing esbuild to expect the new traversal ordering. Here's an example of affected code:

    ```js
    switch (x) {
      case '':
        return y.map(z => z.value)
      case y.map(z => z.key).join(','):
        return []
    }
    ```

-   Update Go from 1.23.5 to 1.23.7 ([#&#8203;4076](https://redirect.github.com/evanw/esbuild/issues/4076), [#&#8203;4077](https://redirect.github.com/evanw/esbuild/pull/4077))

    This should have no effect on existing code as this version change does not change Go's operating system support. It may remove certain reports from vulnerability scanners that detect which version of the Go compiler esbuild uses.

    This PR was contributed by [@&#8203;MikeWillCook](https://redirect.github.com/MikeWillCook).

</details>

<details>
<summary>capricorn86/happy-dom (happy-dom)</summary>

### [`v17.4.4`](https://redirect.github.com/capricorn86/happy-dom/compare/v17.4.3...b61762e732872651af11f0c07c12a90850ac830f)

[Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.4.3...v17.4.4)

</details>

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

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

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

It includes some refactors and some minor fixes.

#### What's Changed

-   refactor(vanilla, react): change exported functions to 'function declarations' and non-exported ones to 'arrow functions' by [@&#8203;sukvvon](https://redirect.github.com/sukvvon) in [https://github.com/pmndrs/jotai/pull/3002](https://redirect.github.com/pmndrs/jotai/pull/3002)
-   fix(core): improve error handling with multiple errors in flashCallbacks by [@&#8203;nightohl](https://redirect.github.com/nightohl) in [https://github.com/pmndrs/jotai/pull/3011](https://redirect.github.com/pmndrs/jotai/pull/3011)
-   fix(utils): atomWithObservable option for React 19 behavior by [@&#8203;dai-shi](https://redirect.github.com/dai-shi) in [https://github.com/pmndrs/jotai/pull/3016](https://redirect.github.com/pmndrs/jotai/pull/3016)
-   fix(utils): Fix deepFreeze fails for boolean, number, string by [@&#8203;devuxer](https://redirect.github.com/devuxer) in [https://github.com/pmndrs/jotai/pull/3018](https://redirect.github.com/pmndrs/jotai/pull/3018)
-   refactor(core): avoid onCancel hack by [@&#8203;dai-shi](https://redirect.github.com/dai-shi) in [https://github.com/pmndrs/jotai/pull/3019](https://redirect.github.com/pmndrs/jotai/pull/3019)

#### New Contributors

-   [@&#8203;Muneeb-juttt](https://redirect.github.com/Muneeb-juttt) made their first contribution in [https://github.com/pmndrs/jotai/pull/2997](https://redirect.github.com/pmndrs/jotai/pull/2997)
-   [@&#8203;a10nik](https://redirect.github.com/a10nik) made their first contribution in [https://github.com/pmndrs/jotai/pull/2996](https://redirect.github.com/pmndrs/jotai/pull/2996)
-   [@&#8203;zakudriver](https://redirect.github.com/zakudriver) made their first contribution in [https://github.com/pmndrs/jotai/pull/3017](https://redirect.github.com/pmndrs/jotai/pull/3017)
-   [@&#8203;nightohl](https://redirect.github.com/nightohl) made their first contribution in [https://github.com/pmndrs/jotai/pull/3011](https://redirect.github.com/pmndrs/jotai/pull/3011)
-   [@&#8203;devuxer](https://redirect.github.com/devuxer) made their first contribution in [https://github.com/pmndrs/jotai/pull/3018](https://redirect.github.com/pmndrs/jotai/pull/3018)

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

</details>

<details>
<summary>rust-lang/libc (libc)</summary>

### [`v0.2.171`](https://redirect.github.com/rust-lang/libc/releases/tag/0.2.171)

[Compare Source](https://redirect.github.com/rust-lang/libc/compare/0.2.170...0.2.171)

##### Added

-   Android: Add `if_nameindex`/`if_freenameindex` support ([#&#8203;4247](https://redirect.github.com/rust-lang/libc/pull/4247))
-   Apple: Add missing proc types and constants ([#&#8203;4310](https://redirect.github.com/rust-lang/libc/pull/4310))
-   BSD: Add `devname` ([#&#8203;4285](https://redirect.github.com/rust-lang/libc/pull/4285))
-   Cygwin: Add PTY and group API ([#&#8203;4309](https://redirect.github.com/rust-lang/libc/pull/4309))
-   Cygwin: Add support ([#&#8203;4279](https://redirect.github.com/rust-lang/libc/pull/4279))
-   FreeBSD: Make `spawn.h` interfaces available on all FreeBSD-like systems ([#&#8203;4294](https://redirect.github.com/rust-lang/libc/pull/4294))
-   Linux: Add `AF_XDP` structs for all Linux environments ([#&#8203;4163](https://redirect.github.com/rust-lang/libc/pull/4163))
-   Linux: Add SysV semaphore constants ([#&#8203;4286](https://redirect.github.com/rust-lang/libc/pull/4286))
-   Linux: Add `F_SEAL_EXEC` ([#&#8203;4316](https://redirect.github.com/rust-lang/libc/pull/4316))
-   Linux: Add `SO_PREFER_BUSY_POLL` and `SO_BUSY_POLL_BUDGET` ([#&#8203;3917](https://redirect.github.com/rust-lang/libc/pull/3917))
-   Linux: Add `devmem` structs ([#&#8203;4299](https://redirect.github.com/rust-lang/libc/pull/4299))
-   Linux: Add socket constants up to `SO_DEVMEM_DONTNEED` ([#&#8203;4299](https://redirect.github.com/rust-lang/libc/pull/4299))
-   NetBSD, OpenBSD, DragonflyBSD: Add `closefrom` ([#&#8203;4290](https://redirect.github.com/rust-lang/libc/pull/4290))
-   NuttX: Add `pw_passwd` field to `passwd` ([#&#8203;4222](https://redirect.github.com/rust-lang/libc/pull/4222))
-   Solarish: define `IP_BOUND_IF` and `IPV6_BOUND_IF` ([#&#8203;4287](https://redirect.github.com/rust-lang/libc/pull/4287))
-   Wali: Add bindings for `wasm32-wali-linux-musl` target ([#&#8203;4244](https://redirect.github.com/rust-lang/libc/pull/4244))

##### Changed

-   AIX: Use `sa_sigaction` instead of a union ([#&#8203;4250](https://redirect.github.com/rust-lang/libc/pull/4250))
-   Make `msqid_ds.__msg_cbytes` public ([#&#8203;4301](https://redirect.github.com/rust-lang/libc/pull/4301))
-   Unix: Make all `major`, `minor`, `makedev` into `const fn` ([#&#8203;4208](https://redirect.github.com/rust-lang/libc/pull/4208))

##### Deprecated

-   Linux: Deprecate obsolete packet filter interfaces ([#&#8203;4267](https://redirect.github.com/rust-lang/libc/pull/4267))

##### Fixed

-   Cygwin: Fix strerror_r ([#&#8203;4308](https://redirect.github.com/rust-lang/libc/pull/4308))
-   Cygwin: Fix usage of f! ([#&#8203;4308](https://redirect.github.com/rust-lang/libc/pull/4308))
-   Hermit: Make `stat::st_size` signed ([#&#8203;4298](https://redirect.github.com/rust-lang/libc/pull/4298))
-   Linux: Correct values for `SI_TIMER`, `SI_MESGQ`, `SI_ASYNCIO` ([#&#8203;4292](https://redirect.github.com/rust-lang/libc/pull/4292))
-   NuttX: Update `tm_zone` and `d_name` fields to use `c_char` type ([#&#8203;4222](https://redirect.github.com/rust-lang/libc/pull/4222))
-   Xous: Include the prelude to define `c_int` ([#&#8203;4304](https://redirect.github.com/rust-lang/libc/pull/4304))

##### Other

-   Add labels to FIXMEs ([#&#8203;4231](https://redirect.github.com/rust-lang/libc/pull/4231), [#&#8203;4232](https://redirect.github.com/rust-lang/libc/pull/4232), [#&#8203;4234](https://redirect.github.com/rust-lang/libc/pull/4234), [#&#8203;4235](https://redirect.github.com/rust-lang/libc/pull/4235), [#&#8203;4236](https://redirect.github.com/rust-lang/libc/pull/4236))
-   CI: Fix "cannot find libc" error on Sparc64 ([#&#8203;4317](https://redirect.github.com/rust-lang/libc/pull/4317))
-   CI: Fix "cannot find libc" error on s390x ([#&#8203;4317](https://redirect.github.com/rust-lang/libc/pull/4317))
-   CI: Pass `--no-self-update` to `rustup update` ([#&#8203;4306](https://redirect.github.com/rust-lang/libc/pull/4306))
-   CI: Remove tests for the `i586-pc-windows-msvc` target ([#&#8203;4311](https://redirect.github.com/rust-lang/libc/pull/4311))
-   CI: Remove the `check_cfg` job ([#&#8203;4322](https://redirect.github.com/rust-lang/libc/pull/4312))
-   Change the range syntax that is giving `ctest` problems ([#&#8203;4311](https://redirect.github.com/rust-lang/libc/pull/4311))
-   Linux: Split out the stat struct for gnu/b32/mips ([#&#8203;4276](https://redirect.github.com/rust-lang/libc/pull/4276))

##### Removed

-   NuttX: Remove `pthread_set_name_np` ([#&#8203;4251](https://redirect.github.com/rust-lang/libc/pull/4251))

</details>

<details>
<summary>mixpanel/mixpanel-js (mixpanel-browser)</summary>

### [`v2.61.1`](https://redirect.github.com/mixpanel/mixpanel-js/releases/tag/v2.61.1): Session Recording Fixes &amp; Reliability

[Compare Source](https://redirect.github.com/mixpanel/mixpanel-js/compare/v2.61.0...v2.61.1)

-   Stops recording when the initial full snapshot of the DOM fails to generate, preventing the ingestion of blank recordings
-   Try/catch rrweb's `record` to prevent any user facing errors
-   Fix broken opt-out check that was spamming error messages when `debug` mode is on (introduced in 2.61.0)

</details>

<details>
<summary>pacocoursey/next-themes (next-themes)</summary>

### [`v0.4.6`](https://redirect.github.com/pacocoursey/next-themes/releases/tag/v0.4.6)

[Compare Source](https://redirect.github.com/pacocoursey/next-themes/compare/v0.4.5...v0.4.6)

#### What's Changed

-   fix: add null check for value in updateDOM function to prevent runtime errors and flashing by [@&#8203;groveom](https://redirect.github.com/groveom) in [https://github.com/pacocoursey/next-themes/pull/344](https://redirect.github.com/pacocoursey/next-themes/pull/344)

#### New Contributors

-   [@&#8203;groveom](https://redirect.github.com/groveom) made their first contribution in [https://github.com/pacocoursey/next-themes/pull/344](https://redirect.github.com/pacocoursey/next-themes/pull/344)

**Full Changelog**: https://github.com/pacocoursey/next-themes/compare/v0.4.5...v0.4.6

</details>

<details>
<summary>matklad/once_cell (once_cell)</summary>

### [`v1.21.0`](https://redirect.github.com/matklad/once_cell/blob/HEAD/CHANGELOG.md#1210)

[Compare Source](https://redirect.github.com/matklad/once_cell/compare/v1.20.3...v1.21.0)

-   Outline initialization in `race`: [#&#8203;273](https://redirect.github.com/matklad/once_cell/pull/273).
-   Add `OnceNonZereUsize::get_unchecked`: [#&#8203;274](https://redirect.github.com/matklad/once_cell/pull/274).
-   Add `OnceBox::clone` and `OnceBox::with_value`: [#&#8203;275](https://redirect.github.com/matklad/once_cell/pull/275).

</details>

<details>
<summary>openai/openai-node (openai)</summary>

### [`v4.87.3`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4873-2025-03-11)

[Compare Source](https://redirect.github.com/openai/openai-node/compare/v4.87.2...v4.87.3)

Full Changelog: [v4.87.2...v4.87.3](https://redirect.github.com/openai/openai-node/compare/v4.87.2...v4.87.3)

##### Bug Fixes

-   **responses:** correct reasoning output type ([2abef57](2abef57d76))

### [`v4.87.2`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4872-2025-03-11)

[Compare Source](https://redirect.github.com/openai/openai-node/compare/v4.87.1...v4.87.2)

Full Changelog: [v4.87.1...v4.87.2](https://redirect.github.com/openai/openai-node/compare/v4.87.1...v4.87.2)

##### Bug Fixes

-   **responses:** correctly add output_text ([4ceb5cc](4ceb5cc516))

### [`v4.87.1`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4871-2025-03-11)

[Compare Source](https://redirect.github.com/openai/openai-node/compare/v4.87.0...v4.87.1)

Full Changelog: [v4.87.0...v4.87.1](https://redirect.github.com/openai/openai-node/compare/v4.87.0...v4.87.1)

##### Bug Fixes

-   correct imports ([5cdf17c](5cdf17cec3))

### [`v4.87.0`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4870-2025-03-11)

[Compare Source](https://redirect.github.com/openai/openai-node/compare/v4.86.2...v4.87.0)

Full Changelog: [v4.86.2...v4.87.0](https://redirect.github.com/openai/openai-node/compare/v4.86.2...v4.87.0)

##### Features

-   **api:** add /v1/responses and built-in tools ([119b584](119b5843a1))

</details>

<details>
<summary>actions/python-versions (python)</summary>

### [`v3.13.2`](https://redirect.github.com/actions/python-versions/releases/tag/3.13.2-13708744326): 3.13.2

[Compare Source](https://redirect.github.com/actions/python-versions/compare/3.13.1-13437882550...3.13.2-13708744326)

Python 3.13.2

### [`v3.13.1`](https://redirect.github.com/actions/python-versions/releases/tag/3.13.1-13437882550): 3.13.1

[Compare Source](https://redirect.github.com/actions/python-versions/compare/3.13.0-13707372259...3.13.1-13437882550)

Python 3.13.1

### [`v3.13.0`](https://redirect.github.com/actions/python-versions/releases/tag/3.13.0-13707372259): 3.13.0

[Compare Source](https://redirect.github.com/actions/python-versions/compare/3.12.9-13149478207...3.13.0-13707372259)

Python 3.13.0

</details>

<details>
<summary>shikijs/shiki (shiki)</summary>

### [`v3.2.1`](https://redirect.github.com/shikijs/shiki/releases/tag/v3.2.1)

[Compare Source](https://redirect.github.com/shikijs/shiki/compare/v3.2.0...v3.2.1)

*No significant changes*

#####     [View changes on GitHub](https://redirect.github.com/shikijs/shiki/compare/v3.2.0...v3.2.1)

### [`v3.2.0`](https://redirect.github.com/shikijs/shiki/releases/tag/v3.2.0)

[Compare Source](https://redirect.github.com/shikijs/shiki/compare/v3.1.0...v3.2.0)

#####    🚀 Features

-   Upgrade deps, new langs and themes  -  by [@&#8203;antfu](https://redirect.github.com/antfu) [<samp>(b11c6)</samp>](https://redirect.github.com/shikijs/shiki/commit/b11c684a)

#####    🐞 Bug Fixes

-   Faild to run shiki doc server locally  -  by [@&#8203;Hephaest](https://redirect.github.com/Hephaest) in [https://github.com/shikijs/shiki/issues/959](https://redirect.github.com/shikijs/shiki/issues/959) [<samp>(3bbd8)</samp>](https://redirect.github.com/shikijs/shiki/commit/3bbd82aa)

#####     [View changes on GitHub](https://redirect.github.com/shikijs/shiki/compare/v3.1.0...v3.2.0)

</details>

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

### [`v6.1.84`](https://redirect.github.com/remusao/tldts/blob/HEAD/CHANGELOG.md#v6184-Mon-Mar-10-2025)

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

##### 📜 Update Public Suffix List

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

##### Authors: 1

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

***

</details>

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

### [`v8.26.1`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8261-2025-03-10)

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

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

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

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xODUuNCIsInVwZGF0ZWRJblZlciI6IjM5LjE5NC4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-14 15:44:22 +00:00
Saul-Mirone
5566632b30 refactor(editor): improve the implementation of flat proxy (#10872) 2025-03-14 23:25:47 +09:00
Saul-Mirone
517817e66f refactor(editor): separate yjs subscribe logic of flat model (#10863) 2025-03-14 23:09:31 +09:00
Saul-Mirone
a3ce67a59d refactor(editor): separate init logic of flat model (#10862) 2025-03-14 23:09:31 +09:00
Saul-Mirone
1ce290094e refactor(editor): improve implementation of flat model (#10848) 2025-03-14 13:18:03 +00:00
L-Sun
3b4453d2b8 chore(editor): update default width of page block (#10873)
Close [BS-2498](https://linear.app/affine-design/issue/BS-2498/page-block首次切换时默认宽度为800px)
2025-03-14 12:59:17 +00:00
akumatus
a648edafc0 feat(core): display embedding progress (#10871)
Close [BS-2791](https://linear.app/affine-design/issue/BS-2791).
2025-03-14 11:58:29 +00:00
fundon
99fdfe821a fix(editor): improve type declaration definition (#10866)
Closes: [BS-2809](https://linear.app/affine-design/issue/BS-2809/改进继承自抽象类的类型后-createidentifier-类型定义)

### What's Changed!

* Improved type declaration definition
2025-03-14 10:38:17 +00:00
doodlewind
d8dfea6ccf fix(editor): type import in vite worker env (#10856)
The dependencies of `@blocksuite/affine-gfx-turbo-renderer` in work is now all type imports.
2025-03-14 10:22:58 +00:00
darkskygit
17d4fef721 chore(server): enable r2 in doc service (#10865) 2025-03-14 10:06:26 +00:00
EYHN
05200ad7b7 feat(nbstore): add blob sync storage (#10752) 2025-03-14 18:05:54 +08:00
EYHN
a2eb3fe1b2 feat(core): add notification service (#10855) 2025-03-14 09:32:10 +00:00
yoyoyohamapi
4a1a557a9e refactor(web): save as doc & save as block action (#10833)
### TL;DR

Added "Save as doc" option to Edgeless editor actions.

### What changed?

- Renamed `SAVE_CHAT_TO_BLOCK_ACTION` to `SAVE_AS_BLOCK` and updated its title from "Save chat to block" to "Save as block"
- Renamed `CREATE_AS_DOC` to `SAVE_AS_DOC` and updated its title from "Create as a doc" to "Save as doc"
- Added `SAVE_AS_DOC` to the `EdgelessEditorActions` array, making this option available in the Edgeless editor
2025-03-14 09:01:31 +00:00
yoyoyohamapi
1258f47d70 refactor(web): insert blew action (#10722)
### TL;DR
Refactor the insert below functionality to work with page mode and edgeless mode
* Page Mode
  - Insert content below the current selection
  - If nothing selected, insert content below the last block
* EdgeLess Mode
  - If no note block is currently selected, create the content as a new note block.
  - Otherwise, insert content into the selected note

Close BS-2760

### What changed?
- Created separate insert handlers for page and edgeless modes with context-aware behavior
  - Added support for inserting content when nothing is selected by targeting the last content block
  - Added special handling for edgeless mode to support inserting below selected note blocks
- Removed the "Replace selection" action and consolidated insert functionality
- Optimized the clickable area of the action button
2025-03-14 09:01:31 +00:00
akumatus
1546b76337 feat(core): poll context docs and files embedding status (#10843)
Close [BS-2791](https://linear.app/affine-design/issue/BS-2791).

### What Changed?
- Add status filed to `CopilotContextDoc` to querying document embedding processing progress.
- Change `ChipState` from `success` to `finished` to better align with backend server status.
- Add `pollContextDocsAndFiles` API for embedding status polling.

### About Polling
- Set the minimum interval to 1 second and the maximum interval to 30 seconds
- Use exponential backoff and increase the interval by 50% after each poll
- Make sure the interval does not exceed the maximum
2025-03-14 08:44:55 +00:00
fengmk2
114e89961f fix(server): add mode property on mention doc input (#10853) 2025-03-14 08:23:28 +00:00
darkskygit
c31d01b2c2 chore(server): merge duplicate queries (#10857) 2025-03-14 08:02:12 +00:00
fengmk2
f61b166e61 fix(server): handle graphql bad input error (#10854) 2025-03-14 07:37:29 +00:00
darkskygit
95cbdc7900 chore(server): enable copilot in doc service (#10850) 2025-03-14 07:07:28 +00:00
doodlewind
d1c10f5401 chore(editor): hide tweakpane for turbo renderer (#10846) 2025-03-14 06:47:15 +00:00
EYHN
f3ef9c4415 feat(nbstore): rename SyncStorage to DocSyncStorage (#10751) 2025-03-14 06:25:26 +00:00
darkskygit
92effd9b51 feat: improve context api (#10812) 2025-03-14 05:57:40 +00:00
Saul-Mirone
b8452f56a8 feat(editor): block painter extension (#10847) 2025-03-14 05:26:58 +00:00
doodlewind
be9f44fc4f fix(editor): worker loading in webpack env (#10832)
### TL;DR

Created dedicated worker entry points to avoid dynamic imports.

### What changed?

- Painters are provided during worker initialization
- Removed `ParagraphPaintConfigExtension` and the associated configuration system
- Created dedicated worker entry points in both the integration test and frontend packages
- Modified `ViewportLayoutPainter` to accept painters in its constructor
- Updated the `TurboRendererConfig` interface to require a `painterWorkerEntry` function

### Why make this change?

Webpack support. Extension objects in main thread are not available to be passed into workers. Dynamic painter path import is hard to support in webpack environment. With the [webpack-ignore](https://webpack.js.org/api/module-methods/#webpackignore) rule, there are still build errors in webpack.
2025-03-14 05:26:57 +00:00
darkskygit
8af0526a22 chore(infra): update dev env template (#10845) 2025-03-14 04:55:27 +00:00
akumatus
daccb2c865 feat(core): add ai file context api (#10842)
Close [BS-2349](https://linear.app/affine-design/issue/BS-2349).

### What Changed?
- Add file context graphql apis
- Pass matched file chunks to LLM

[录屏2025-02-19 23.27.47.mov <span class="graphite__hidden">(uploaded via Graphite)</span> <img class="graphite__hidden" src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/sJGviKxfE3Ap685cl5bj/8e8a98ca-6959-4bb6-9759-b51d97cede49.mov" />](https://app.graphite.dev/media/video/sJGviKxfE3Ap685cl5bj/8e8a98ca-6959-4bb6-9759-b51d97cede49.mov)
2025-03-14 04:29:54 +00:00
fengmk2
8880cef20b test(infra): add check job to verify committed changes (#10829) 2025-03-14 02:58:27 +00:00
yoyoyohamapi
e086fd2a43 refactor(editor): getFirstContentBlock -> getFirstBlock & getLastContentBlock -> getLastBlock (#10809) 2025-03-14 02:35:22 +00:00
yoyoyohamapi
d3aae962bc test(editor): getFirstContentBlock & getLastContentBlock & isNothingSelected command (#10757)
### TL;DR

Added unit tests for block and selection commands, along with a new test helper system for creating test documents.

### What changed?

- Added unit tests for several commands:
  - `getFirstContentBlockCommand`
  - `getLastContentBlockCommand`
  - `isNothingSelectedCommand`
- Created a new test helpers make it easier to create structured test documents with a html-like syntax:

```typescript
import { describe, expect, it } from 'vitest';
import { affine } from '../__tests__/utils/affine-template';
describe('My Test', () => {
  it('should correctly handle document structure', () => {
    const doc = affine`
      <affine-page>
        <affine-note>
          <affine-paragraph>Test content</affine-paragraph>
        </affine-note>
      </affine-page>
    `;
    // Get blocks
    const pages = doc.getBlocksByFlavour('affine:page');
    const notes = doc.getBlocksByFlavour('affine:note');
    const paragraphs = doc.getBlocksByFlavour('affine:paragraph');
    expect(pages.length).toBe(1);
    expect(notes.length).toBe(1);
    expect(paragraphs.length).toBe(1);
    // Perform more tests here...
  });
});
```
2025-03-14 02:35:21 +00:00
yoyoyohamapi
04efca362e feat(editor): is nothing selected command (#10721)
### TL;DR
Added a new command to check if nothing is currently selected in the editor.

### What changed?
- Created new `isNothingSelectedCommand` to determine if there are no active selections
2025-03-14 02:35:21 +00:00
yoyoyohamapi
aa15b106d9 feat(editor): content block getter command (#10720)
### TL;DR
Added new commands to retrieve the first and last content blocks in a document.

### What changed?
- Created `getFirstContentBlockCommand` to find the first content block in a document
- Created `getLastContentBlockCommand` to find the last content block in a document
- Added `getFirstNoteBlock` utility function to find the first note block in a document
2025-03-14 02:35:20 +00:00
forehalo
d936553047 chore: auto assign feature reqeusts (#10819) 2025-03-14 02:20:14 +00:00
fundon
b238aa3182 fix(editor): clamp method in color picker (#10840)
Related to https://github.com/toeverything/AFFiNE/pull/10577
2025-03-13 19:37:37 +00:00
fundon
341321284e fix(core): should not invert label when its shape text (#10765)
Closes: [BS-2797](https://linear.app/affine-design/issue/BS-2797/在-settings-preview-中,无需对-shape-text-颜色-label-进行反转)

Releated: https://github.com/toeverything/AFFiNE/pull/10546
2025-03-13 13:15:41 +00:00
Boshen
8783859dd1 chore: bump oxlint to v0.15.15; enable import/named (#10836) 2025-03-13 20:59:59 +08:00
darkskygit
d8373f66e7 feat(server): context awareness for copilot (#9611)
fix PD-2167
fix PD-2169
fix PD-2190
2025-03-13 11:44:55 +00:00
Saul-Mirone
05f3069efd feat(editor): add i18n support for block meta display (#10831) 2025-03-13 11:28:56 +00:00
JimmFly
0c9591f08e feat(core): add an entry for admin panel (#10813)
![CleanShot 2025-03-13 at 13 02 25@2x](https://github.com/user-attachments/assets/82f50a5b-f079-4c64-a3fa-6554735bea82)
2025-03-13 10:46:26 +00:00
JimmFly
7df06ea98b feat(admin): add server version check (#10816) 2025-03-13 18:45:56 +08:00
JimmFly
bed4074bdb feat(admin): add import and export users to admin panel (#10810) 2025-03-13 18:45:17 +08:00
JimmFly
e96302ccb2 feat(admin): add ban user to admin panel (#10780) 2025-03-13 18:44:13 +08:00
pengx17
d24ced3dbd fix(electron): electron fallback container should not contain tabs header (#10826)
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/3e8e4838-7f28-453d-bd7f-32bfa96f09ae.png)

fix double tabs header issue when loading from external url
2025-03-13 10:14:26 +00:00
JimmFly
21aa47c094 feat(admin): make the left navigation bar collapsable (#10774) 2025-03-13 09:57:10 +00:00
zzj3720
a4608b52f2 fix(editor): database block e2e test flaky (#10828) 2025-03-13 09:40:24 +00:00
fengmk2
9518ebee95 chore(server): add pro user for testing with extended workspace member limit (#10827) 2025-03-13 09:11:59 +00:00
EYHN
a903f8685b fix(infra): use framework stack provider (#10825)
Move the stack logic from react hook to FrameworkStackProvider,

now `frameworkProvider.get(ServerService)` is equal with `useService(ServerService)`
2025-03-13 08:56:05 +00:00
forehalo
7100d87efe chore(core): doc role telemetry (#10822) 2025-03-13 08:15:46 +00:00
L-Sun
7ba1c1b271 chore(editor): use at menu to insert linked doc (#10808)
Close [BS-2799](https://linear.app/affine-design/issue/BS-2799/区分linked-doc入口)

This PR removes the patch for `Linked Doc` action in the slash menu via the `QuickSearch`, reverting it to use the at menu for inserting.
2025-03-13 08:01:59 +00:00
doodlewind
0f062b7157 refactor(editor): make turbo renderer a gfx extension (#10818)
This allows for easier debugging via `gfx.turboRenderer`
2025-03-13 07:45:05 +00:00
pengx17
a6fd0a135b fix(electron): add back updater (#10814) 2025-03-13 07:29:49 +00:00
Saul-Mirone
7f45993fdb feat(editor): add ui for display block meta in toolbar (#10817) 2025-03-13 07:06:27 +00:00
Saul-Mirone
5148e67891 feat(editor): improve block meta updated event handler (#10815) 2025-03-13 06:34:03 +00:00
L-Sun
8ac687628c chore(editor): at menu stays open when left right arrow keys are pressed (#10806)
Close [BS-2644](https://linear.app/affine-design/issue/BS-2644/menu-support)
2025-03-13 06:14:35 +00:00
forehalo
3db3db0bbc chore(server): revert doc write restriction (#10807) 2025-03-13 05:51:19 +00:00
Saul-Mirone
250f3f1efd feat(editor): add isLocal flag in blockUpdated subject (#10799) 2025-03-13 05:33:06 +00:00
doodlewind
c023b724d0 refactor(editor): generic layout type support for turbo renderer (#10766)
This PR refactored the turbo renderer architecture to support multiple block layout types.

- New base class `BlockLayoutPainter` and `BlockLayoutProvider` are introduced for writing extendable per-block layout querying and painting logic.
- Paragraph-specific lines are all moved into dedicated classes (`ParagraphLayoutProvider` and `ParagraphLayoutPainter`) under the `/variants/paragraph` dir.
- The `renderer-utils.ts` doesn't contain paragraph-specific logic now.
- The `text-utils.ts` is also now scoped for paragraph only.
- Worker messages are now strongly typed.

Upcoming PR should further implement the block registration system using extension API. The `variants` dir could still exist, since there will be similar rendering logic that can be reused among block types (i.e., between paragraph block and list block).
2025-03-13 05:18:12 +00:00
forehalo
c1c750d782 fix(server): failed to resolve user importing result (#10804) 2025-03-13 05:02:58 +00:00
pengx17
844b13af1f fix(core): unsub in LiveData.fromSignal (#10756) 2025-03-13 04:47:23 +00:00
akumatus
21d850deeb feat(core): add tag-chip and collection-chip lit components (#10795)
Close [BS-2790](https://linear.app/affine-design/issue/BS-2790).

![截屏2025-03-12 19.45.48.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/d95834a1-e7e4-4655-8bf6-2ee50b4d3701.png)
2025-03-13 04:26:58 +00:00
donteatfriedrice
d2c62602a4 feat(editor): support embed iframe block (#10740)
To close:
[BS-2660](https://linear.app/affine-design/issue/BS-2660/slash-menu-支持-iframe-embed)
[BS-2661](https://linear.app/affine-design/issue/BS-2661/iframe-embed-block-model-and-block-component)
[BS-2662](https://linear.app/affine-design/issue/BS-2662/iframe-embed-block-toolbar)
[BS-2768](https://linear.app/affine-design/issue/BS-2768/iframe-embed-block-loading-和-error-态)
[BS-2670](https://linear.app/affine-design/issue/BS-2670/iframe-embed-block-导出)

# PR Description

# Add Embed Iframe Block Support

## Overview

This PR introduces a new `EmbedIframeBlock` to enhance content embedding capabilities within our editor. This block allows users to seamlessly embed external content from various providers (Google Drive, Spotify, etc.) directly into their docs.

## New Blocks

### EmbedIframeBlock

The core block that renders embedded iframe content. This block:

* Displays external content within a secure iframe
* Handles loading states with visual feedback
* Provides error handling with edit and retry options
* Supports customization of width, height, and other iframe attributes

### Supporting Components

* **EmbedIframeCreateModal**: Modal interface for creating new iframe embeds
* **EmbedIframeLinkEditPopup**: UI for editing existing embed links
* **EmbedIframeLoadingCard**: Visual feedback during content loading
* **EmbedIframeErrorCard**: Error handling with retry functionality

## New Store Extensions

### EmbedIframeConfigExtension

This extension provides configuration for different embed providers:

```typescript
/**
 * The options for the iframe
 * @example
 * {
 *   defaultWidth: '100%',
 *   defaultHeight: '152px',
 *   style: 'border-radius: 8px;',
 *   allow: 'autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture',
 * }
 * =>
 * <iframe
 *   width="100%"
 *   height="152px"
 *   style="border-radius: 8px;"
 *   allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture"
 * ></iframe>
 */
export type IframeOptions = {
  defaultWidth?: string;
  defaultHeight?: string;
  style?: string;
  referrerpolicy?: string;
  scrolling?: boolean;
  allow?: string;
  allowFullscreen?: boolean;
};

/**
 * Define the config of an embed iframe block provider
 */
export type EmbedIframeConfig = {
  /**
   * The name of the embed iframe block provider
   */
  name: string;
  /**
   * The function to match the url
   */
  match: (url: string) => boolean;
  /**
   * The function to build the oEmbed URL for fetching embed data
   */
  buildOEmbedUrl: (url: string) => string | undefined;
  /**
   * Use oEmbed URL directly as iframe src without fetching oEmbed data
   */
  useOEmbedUrlDirectly: boolean;
  /**
   * The options for the iframe
   */
  options?: IframeOptions;
};

export const EmbedIframeConfigIdentifier =
  createIdentifier<EmbedIframeConfig>('EmbedIframeConfig');

export function EmbedIframeConfigExtension(
  config: EmbedIframeConfig
): ExtensionType & {
  identifier: ServiceIdentifier<EmbedIframeConfig>;
} {
  const identifier = EmbedIframeConfigIdentifier(config.name);
  return {
    setup: di => {
      di.addImpl(identifier, () => config);
    },
    identifier,
  };
}
```

**example:**

```typescript
//  blocksuite/affine/blocks/block-embed/src/embed-iframe-block/configs/providers/spotify.ts

const SPOTIFY_DEFAULT_WIDTH = '100%';
const SPOTIFY_DEFAULT_HEIGHT = '152px';

// https://developer.spotify.com/documentation/embeds/reference/oembed
const spotifyEndpoint = 'https://open.spotify.com/oembed';

const spotifyUrlValidationOptions: EmbedIframeUrlValidationOptions = {
  protocols: ['https:'],
  hostnames: ['open.spotify.com', 'spotify.link'],
};

const spotifyConfig = {
  name: 'spotify',
  match: (url: string) =>
    validateEmbedIframeUrl(url, spotifyUrlValidationOptions),
  buildOEmbedUrl: (url: string) => {
    const match = validateEmbedIframeUrl(url, spotifyUrlValidationOptions);
    if (!match) {
      return undefined;
    }
    const encodedUrl = encodeURIComponent(url);
    const oEmbedUrl = `${spotifyEndpoint}?url=${encodedUrl}`;
    return oEmbedUrl;
  },
  useOEmbedUrlDirectly: false,
  options: {
    defaultWidth: SPOTIFY_DEFAULT_WIDTH,
    defaultHeight: SPOTIFY_DEFAULT_HEIGHT,
    allow:
      'autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture',
    style: 'border-radius: 12px;',
    allowFullscreen: true,
  },
};

// add the config extension to store
export const SpotifyEmbedConfig = EmbedIframeConfigExtension(spotifyConfig);
```

**Key features:**

* Provider registration and discovery
* URL pattern matching
* Provider-specific embed options (width, height, features)

### EmbedIframeService

This service provides abilities to handle URL validation, data fetching, and block creation

**Type:**

```typescript
/**
 * Service for handling embeddable URLs
 */
export interface EmbedIframeProvider {
  /**
   * Check if a URL can be embedded
   * @param url URL to check
   * @returns true if the URL can be embedded, false otherwise
   */
  canEmbed: (url: string) => boolean;

  /**
   * Build a API URL for fetching embed data
   * @param url URL to build API URL
   * @returns API URL if the URL can be embedded, undefined otherwise
   */
  buildOEmbedUrl: (url: string) => string | undefined;

  /**
   * Get the embed iframe config
   * @param url URL to get embed iframe config
   * @returns Embed iframe config if the URL can be embedded, undefined otherwise
   */
  getConfig: (url: string) => EmbedIframeConfig | undefined;

  /**
   * Get embed iframe data
   * @param url URL to get embed iframe data
   * @returns Embed iframe data if the URL can be embedded, undefined otherwise
   */
  getEmbedIframeData: (url: string) => Promise<EmbedIframeData | null>;

  /**
   * Parse an embeddable URL and add an EmbedIframeBlock to doc
   * @param url Original url to embed
   * @param parentId Parent block ID
   * @param index Optional index to insert at
   * @returns Created block id if successful, undefined if the URL cannot be embedded
   */
  addEmbedIframeBlock: (
    props: Partial<EmbedIframeBlockProps>,
    parentId: string,
    index?: number
  ) => string | undefined;
}
```

**Implemetation:**

```typescript
export class EmbedIframeService
  extends StoreExtension
  implements EmbedIframeProvider
{
  static override key = 'embed-iframe-service';

  private readonly _configs: EmbedIframeConfig[];

  constructor(store: Store) {
    super(store);
    this._configs = Array.from(
      store.provider.getAll(EmbedIframeConfigIdentifier).values()
    );
  }

  canEmbed = (url: string): boolean => {
    return this._configs.some(config => config.match(url));
  };

  buildOEmbedUrl = (url: string): string | undefined => {
    return this._configs.find(config => config.match(url))?.buildOEmbedUrl(url);
  };

  getConfig = (url: string): EmbedIframeConfig | undefined => {
    return this._configs.find(config => config.match(url));
  };

  getEmbedIframeData = async (
    url: string,
    signal?: AbortSignal
  ): Promise<EmbedIframeData | null> => {
    try {
      const config = this._configs.find(config => config.match(url));
      if (!config) {
        return null;
      }

      const oEmbedUrl = config.buildOEmbedUrl(url);
      if (!oEmbedUrl) {
        return null;
      }

      // if the config useOEmbedUrlDirectly is true, return the url directly as iframe_url
      if (config.useOEmbedUrlDirectly) {
        return {
          iframe_url: oEmbedUrl,
        };
      }

      // otherwise, fetch the oEmbed data
      const response = await fetch(oEmbedUrl, { signal });
      if (!response.ok) {
        console.warn(
          `Failed to fetch oEmbed data: ${response.status} ${response.statusText}`
        );
        return null;
      }

      const data = await response.json();
      return data as EmbedIframeData;
    } catch (error) {
      if (error instanceof Error && error.name !== 'AbortError') {
        console.error('Error fetching embed iframe data:', error);
      }
      return null;
    }
  };

  addEmbedIframeBlock = (
    props: Partial<EmbedIframeBlockProps>,
    parentId: string,
    index?: number
  ): string | undefined => {
    const blockId = this.store.addBlock(
      'affine:embed-iframe',
      props,
      parentId,
      index
    );
    return blockId;
  };
}
```

**Usage:**

```typescript
// Usage example
const embedIframeService = this.std.get(EmbedIframeService);

// Check if a URL can be embedded
const canEmbed = embedIframeService.canEmbed(url);

// Get embed data for a URL
const embedData = await embedIframeService.getEmbedIframeData(url);

// Add an embed iframe block to the document
const block = embedIframeService.addEmbedIframeBlock({
  url,
  iframeUrl: embedData.iframe_url,
  title: embedData.title,
  description: embedData.description
}, parentId, index);
```

**Key features:**

* URL validation and transformation
* Provider-specific data fetching
* Block creation and management

## Adaptations

### Toolbar Integration

Added toolbar actions for embedded content:

* Copy link
* Edit embed title and description
* Toggle between inline/card views
* Add caption
* And more

### Slash Menu Integration

Added a new slash menu option for embedding content:

* Embed item for inserting embed iframe block
* Conditional rendering based on feature flags

### Adapters

Implemented adapters for various formats:

* **HTML Adapter**: Exports embed original urls as html links
* **Markdown Adapter**: Exports embed original urls as markdown links
* **Plain Text Adapter**: Exports embed original urls as link text

## To Be Continued:
- [ ] **UI Optimization**
- [ ] **Edgeless Mode Support**
- [ ] **Mobile Support**
2025-03-13 04:11:46 +00:00
akumatus
98a3cf8516 feat(core): update blocksuite icons (#10805) 2025-03-13 03:55:55 +00:00
zzj3720
f6a62fa737 fix(editor): clicking the sorting button results in an error (#10800) 2025-03-13 03:17:48 +00:00
EYHN
86729fb447 feat(core): adjust web clipper page (#10779) 2025-03-13 10:59:50 +08:00
fundon
5ed8541cb1 fix(editor): should directly return the sub-action content if it exists (#10778) 2025-03-12 16:54:02 +00:00
darkskygit
514a5fc3a9 feat(server): update deploy config for context (#10431) 2025-03-12 11:59:46 +00:00
fengmk2
aa3bfb0a05 fix(server): only return workspace user fields (#10700)
close CLOUD-164
2025-03-12 10:35:00 +00:00
forehalo
d8ebf7b3c5 fix(core): wrong top margin of local workspace hint in setting panel (#10782)
close AF-2243
2025-03-12 10:16:47 +00:00
fengmk2
3417cc5dc1 fix(core): handle Content-Type with charset in fetch error handling (#10777) 2025-03-12 09:56:41 +00:00
zzj3720
01151ec18f refactor(editor): add runtime type checks to database cell values (#10770) 2025-03-12 09:22:41 +00:00
fengmk2
fd3ce431fe fix(core): assert app schema url on open-app (#10687) 2025-03-12 08:42:35 +00:00
darkskygit
c3b407041e chore(core): extend workflow timeout (#10760) 2025-03-12 08:26:34 +00:00
fengmk2
43712839fd refactor(server): improve magic link login flow (#10736) 2025-03-12 15:27:36 +08:00
fengmk2
867ae7933f refactor(server): improve oauth login flow (#10648)
close CLOUD-145
2025-03-12 15:27:36 +08:00
fundon
d823792f85 refactor(editor): simplify color picker (#10776)
### What's Changed!

* Added `enableCustomColor` property into `EdgelessColorPickerButton` component
* Removed redundant code
2025-03-12 05:17:04 +00:00
EYHN
4b5d1de206 feat(core): add blocksuite writer info service (#10754) 2025-03-12 05:02:04 +00:00
forehalo
0df8e31698 chore(server): update gql schema (#10775) 2025-03-12 04:43:56 +00:00
darkskygit
10605b3793 fix(server): nullable value for parent id (#10725) 2025-03-12 03:53:33 +00:00
forehalo
1b62b4b625 feat(server): support making doc private in workspace (#10744) 2025-03-12 03:18:24 +00:00
forehalo
5f14c4248f feat(server): allow check available version to upgrade (#10767)
close CLOUD-159
2025-03-12 02:52:19 +00:00
forehalo
50da76d4af feat(server): import users (#10762)
close CLOUD-167
2025-03-12 02:52:19 +00:00
forehalo
ea72599bde feat(server): ban account (#10761)
close CLOUD-158
2025-03-12 02:52:18 +00:00
Mirone
cd63e0ed8b feat(editor): replace slot with rxjs subject (#10768) 2025-03-12 11:29:24 +09:00
LongYinan
19f978d9aa ci: add missing perplexity-key in copilot e2e action (#10772) 2025-03-12 09:52:36 +08:00
L-Sun
c378a8a3ad fix(editor): horizontal scroll bar missing in code block (#10742) 2025-03-12 01:14:45 +00:00
fundon
006bdd29b8 fix(editor): clip content within menu (#10764)
Closes: [BS-2796](https://linear.app/affine-design/issue/BS-2796/menu-中内容被剪切的问题)
2025-03-11 12:39:59 +00:00
renovate
b7ec43e567 chore: bump up oxlint version to v0.15.14 (#10759)
This PR contains the following updates:

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

---

### Release Notes

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

### [`v0.15.14`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#01514---2025-03-11)

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

##### Features

-   [`3fce826`](https://redirect.github.com/oxc-project/oxc/commit/3fce826) linter: Add support for `extends` property in oxlintrc ([#&#8203;9217](https://redirect.github.com/oxc-project/oxc/issues/9217)) (camchenry)

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOTQuMCIsInVwZGF0ZWRJblZlciI6IjM5LjE5NC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-11 11:12:28 +00:00
fundon
aa690e6c91 refactor(editor): move color panel into color picker (#10758) 2025-03-11 09:37:09 +00:00
EYHN
ea07aa8607 feat(core): add notification list (#10480) 2025-03-11 06:23:33 +00:00
Yifeng Wang
06889295e0 Merge pull request #10745 from toeverything/doodl/gfx-turbo-renderer
refactor(editor): add gfx turbo renderer package
2025-03-11 12:48:31 +08:00
Saul-Mirone
9cfd1c321e fix(editor): missing re-subscription for slots on store (#10750) 2025-03-11 04:07:06 +00:00
doodlewind
ad36a9de35 refactor(editor): add gfx turbo renderer package (#10745)
The `ViewportTurboRendererExtension` is now extracted from `@blocksuite/affine-shared` to `@blocksuite/affine-gfx-turbo-renderer` with minimal dependencies, mirroring the gfx text package in #10378.
2025-03-11 03:21:52 +00:00
zzj3720
77e4b9aa8e refactor(editor): add schema for value of database block properties (#10749) 2025-03-11 02:12:40 +00:00
zzj3720
db707dff7f refactor(editor): remove edit view of database block properties (#10748) 2025-03-10 16:24:44 +00:00
zzj3720
4a45cc9ba4 refactor(editor): implement uni-component in AFFiNE (#10747) 2025-03-10 14:23:24 +00:00
L-Sun
027d3a51dc chore(editor): keep root slash menu open when pressing left arrow left (#10730)
Close [BS-2643](https://linear.app/affine-design/issue/BS-2643/slash-menu-左键不关闭根菜单)
2025-03-10 13:36:37 +00:00
L-Sun
c45abb013a fix(editor): error rotation of highlight element in frame (#10737)
This PR fixed frame rotation by converting degrees to radians
2025-03-10 12:59:11 +00:00
L-Sun
c13d4c575f chore(editor): update slash menu tooltips (#10746)
Close [BS-2676](https://linear.app/affine-design/issue/BS-2676/loom入口增加简介) [BS-2767](https://linear.app/affine-design/issue/BS-2767/table的tooltip需要更新,现在用的是database的)
2025-03-10 12:38:59 +00:00
fundon
6244bbbd11 refactor(editor): move getTooltipWithShortcut to affine-tooltip-content-with-shortcut (#10743)
I'm refactoring the edgeless note toolbar config extension and find that I need to move this.

cac05e720a/blocksuite/affine/blocks/block-root/src/widgets/element-toolbar/change-note-button.ts (L525)
2025-03-10 11:58:58 +00:00
Saul-Mirone
cac05e720a refactor(editor): gfx text package (#10738) 2025-03-10 10:25:21 +00:00
doouding
0cdec6957b fix: align with only one element at a time (#10739)
### Changed
- Align with only one element at a time
- Mind map nodes cannot be alignment candidates
2025-03-10 09:43:07 +00:00
doodlewind
d0bc1a0271 fix(editor): incorrect text position in turbo renderer (#10728)
Fixed incorrect text positioning regression across multiple lines (#10624)

Before:

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/lEGcysB4lFTEbCwZ8jMv/e1d7ba50-d331-41e3-8d31-dee2324e7439.png)

After:

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/lEGcysB4lFTEbCwZ8jMv/215ec925-65bf-4014-ba6c-db431cb56261.png)
2025-03-10 06:27:38 +00:00
Saul-Mirone
36cf973372 refactor(editor): move frame related component to frame panel (#10735) 2025-03-10 05:45:18 +00:00
L-Sun
6b0639facd fix(editor): repeated instantiation of frame preview editor (#10729)
Close [BS-2774](https://linear.app/affine-design/issue/BS-2774/frame-preview-会重新创建editor)
2025-03-10 04:41:20 +00:00
Saul-Mirone
4dd5f2ffb0 feat(editor): add viewport element service (#10727) 2025-03-10 04:26:18 +00:00
renovate
7ab3b695dc chore: bump up all non-major dependencies (#10713)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [next-themes](https://redirect.github.com/pacocoursey/next-themes) | [`0.4.4` -> `0.4.5`](https://renovatebot.com/diffs/npm/next-themes/0.4.4/0.4.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/next-themes/0.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/next-themes/0.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/next-themes/0.4.4/0.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/next-themes/0.4.4/0.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [serde](https://serde.rs) ([source](https://redirect.github.com/serde-rs/serde)) | `1.0.218` -> `1.0.219` | [![age](https://developer.mend.io/api/mc/badges/age/crate/serde/1.0.219?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/serde/1.0.219?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/serde/1.0.218/1.0.219?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/serde/1.0.218/1.0.219?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |

---

### Release Notes

<details>
<summary>pacocoursey/next-themes (next-themes)</summary>

### [`v0.4.5`](https://redirect.github.com/pacocoursey/next-themes/releases/tag/v0.4.5)

[Compare Source](https://redirect.github.com/pacocoursey/next-themes/compare/v0.4.4...v0.4.5)

#### What's Changed

-   fix: map theme to class using ValueObject in injected script by [@&#8203;danielgavrilov](https://redirect.github.com/danielgavrilov) in [https://github.com/pacocoursey/next-themes/pull/330](https://redirect.github.com/pacocoursey/next-themes/pull/330)
-   Reduce number of renders by pre-setting resolvedTheme by [@&#8203;wahba-openai](https://redirect.github.com/wahba-openai) in [https://github.com/pacocoursey/next-themes/pull/338](https://redirect.github.com/pacocoursey/next-themes/pull/338)
-   Bump next from 14.2.10 to 14.2.15 in the npm_and_yarn group across 1 directory by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/pacocoursey/next-themes/pull/331](https://redirect.github.com/pacocoursey/next-themes/pull/331)
-   Bump the npm_and_yarn group across 1 directory with 7 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot) in [https://github.com/pacocoursey/next-themes/pull/341](https://redirect.github.com/pacocoursey/next-themes/pull/341)
-   chore: Fix corepack errors in CI by [@&#8203;pacocoursey](https://redirect.github.com/pacocoursey) in [https://github.com/pacocoursey/next-themes/pull/342](https://redirect.github.com/pacocoursey/next-themes/pull/342)

#### New Contributors

-   [@&#8203;danielgavrilov](https://redirect.github.com/danielgavrilov) made their first contribution in [https://github.com/pacocoursey/next-themes/pull/330](https://redirect.github.com/pacocoursey/next-themes/pull/330)
-   [@&#8203;wahba-openai](https://redirect.github.com/wahba-openai) made their first contribution in [https://github.com/pacocoursey/next-themes/pull/338](https://redirect.github.com/pacocoursey/next-themes/pull/338)

**Full Changelog**: https://github.com/pacocoursey/next-themes/compare/v0.4.4...v0.4.5

</details>

<details>
<summary>serde-rs/serde (serde)</summary>

### [`v1.0.219`](https://redirect.github.com/serde-rs/serde/releases/tag/v1.0.219)

[Compare Source](https://redirect.github.com/serde-rs/serde/compare/v1.0.218...v1.0.219)

-   Prevent `absolute_paths` Clippy restriction being triggered inside macro-generated code ([#&#8203;2906](https://redirect.github.com/serde-rs/serde/issues/2906), thanks [@&#8203;davidzeng0](https://redirect.github.com/davidzeng0))

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xODUuNCIsInVwZGF0ZWRJblZlciI6IjM5LjE4NS40IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-10 03:17:41 +00:00
Saul-Mirone
ec709925ee refactor(editor): orgnize exports (#10709) 2025-03-10 02:04:01 +00:00
renovate
6540b568b0 chore: Lock file maintenance (#10552)
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - "* 0-3 * * 1" (UTC), 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzYuMiIsInVwZGF0ZWRJblZlciI6IjM5LjE4NS40IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-09 14:15:37 +00:00
renovate
181b6d12a5 chore: bump up oxlint version to v0.15.13 (#10591)
This PR contains the following updates:

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

---

### Release Notes

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

### [`v0.15.13`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#01513---2025-03-04)

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

##### Documentation

-   [`24850e7`](https://redirect.github.com/oxc-project/oxc/commit/24850e7) linter: Add example of how configure rule ([#&#8203;9469](https://redirect.github.com/oxc-project/oxc/issues/9469)) (Cédric DIRAND)

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xODUuNCIsInVwZGF0ZWRJblZlciI6IjM5LjE4NS40IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-09 13:12:17 +00:00
renovate
d8b2ffff0f chore: bump up electron version to v35 (#10600)
This PR contains the following updates:

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

---

### Release Notes

<details>
<summary>electron/electron (electron)</summary>

### [`v35.0.0`](https://redirect.github.com/electron/electron/releases/tag/v35.0.0): electron v35.0.0

[Compare Source](https://redirect.github.com/electron/electron/compare/v34.3.0...v35.0.0)

### Release Notes for v35.0.0

#### Stack Upgrades

-   Chromium `134.0.6998.23`
    -   [New in 134](https://developer.chrome.com/blog/new-in-chrome-134/)
    -   [New in 133](https://developer.chrome.com/blog/new-in-chrome-133/)
-   Node `22.14.0`
    -   [Node 20.14.0 blog post](https://nodejs.org/en/blog/release/v22.14.0/)
-   V8 `13.5`

#### Notices

##### End of Support for 32.x.y

Electron 32.x.y has reached end-of-support as per the project's [support policy](https://www.electronjs.org/docs/latest/tutorial/electron-timelines#version-support-policy). Developers and applications are encouraged to upgrade to a newer version of Electron.

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xODUuNCIsInVwZGF0ZWRJblZlciI6IjM5LjE4NS40IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-09 12:55:41 +00:00
Saul-Mirone
12bc142809 refactor(editor): remove blocks package (#10708) 2025-03-09 05:44:26 +00:00
renovate
0766a2d9ae chore: bump up all non-major dependencies (#10705)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [bullmq](https://bullmq.io/) ([source](https://redirect.github.com/taskforcesh/bullmq)) | [`5.41.7` -> `5.41.8`](https://renovatebot.com/diffs/npm/bullmq/5.41.7/5.41.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/bullmq/5.41.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/bullmq/5.41.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/bullmq/5.41.7/5.41.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/bullmq/5.41.7/5.41.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [happy-dom](https://redirect.github.com/capricorn86/happy-dom) | [`17.4.0` -> `17.4.2`](https://renovatebot.com/diffs/npm/happy-dom/17.4.0/17.4.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/17.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/17.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/17.4.0/17.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/17.4.0/17.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [html-validate](https://html-validate.org) ([source](https://gitlab.com/html-validate/html-validate)) | [`9.4.2` -> `9.5.0`](https://renovatebot.com/diffs/npm/html-validate/9.4.2/9.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/html-validate/9.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/html-validate/9.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/html-validate/9.4.2/9.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/html-validate/9.4.2/9.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [inquirer](https://redirect.github.com/SBoudrias/Inquirer.js/blob/main/packages/inquirer/README.md) ([source](https://redirect.github.com/SBoudrias/Inquirer.js)) | [`12.4.2` -> `12.4.3`](https://renovatebot.com/diffs/npm/inquirer/12.4.2/12.4.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/inquirer/12.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/inquirer/12.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/inquirer/12.4.2/12.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/inquirer/12.4.2/12.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [react-day-picker](https://daypicker.dev) ([source](https://redirect.github.com/gpbl/react-day-picker)) | [`9.5.1` -> `9.6.1`](https://renovatebot.com/diffs/npm/react-day-picker/9.5.1/9.6.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-day-picker/9.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-day-picker/9.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-day-picker/9.5.1/9.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-day-picker/9.5.1/9.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>taskforcesh/bullmq (bullmq)</summary>

### [`v5.41.8`](https://redirect.github.com/taskforcesh/bullmq/releases/tag/v5.41.8)

[Compare Source](https://redirect.github.com/taskforcesh/bullmq/compare/v5.41.7...v5.41.8)

##### Bug Fixes

-   **job:** deserialize priority in fromJSON ([#&#8203;3126](https://redirect.github.com/taskforcesh/bullmq/issues/3126)) ([c3269b1](c3269b11e2))
-   **worker:** cast delay_until to integer \[python] ([#&#8203;3116](https://redirect.github.com/taskforcesh/bullmq/issues/3116)) ([db617e4](db617e48ef))

</details>

<details>
<summary>capricorn86/happy-dom (happy-dom)</summary>

### [`v17.4.2`](https://redirect.github.com/capricorn86/happy-dom/compare/v17.4.1...bc3583bb7d9b4b73521b2de532d1c8c69a1b070c)

[Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.4.1...v17.4.2)

### [`v17.4.1`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v17.4.1)

[Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.4.0...v17.4.1)

##### 👷‍♂️ Patch fixes

-   Fixes issue where an error was thrown for attributes "xlink" or an unknown prefix during parsing of HTML - By **[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in task [#&#8203;1750](https://redirect.github.com/capricorn86/happy-dom/issues/1750)

</details>

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

### [`v9.5.0`](https://gitlab.com/html-validate/html-validate/blob/HEAD/CHANGELOG.md#950-2025-03-08)

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

##### Features

-   **deps:** update dependency [@&#8203;sidvind/better-ajv-errors](https://redirect.github.com/sidvind/better-ajv-errors) to v4 ([75a17cf](75a17cf699))

</details>

<details>
<summary>SBoudrias/Inquirer.js (inquirer)</summary>

### [`v12.4.3`](https://redirect.github.com/SBoudrias/Inquirer.js/releases/tag/inquirer%4012.4.3)

[Compare Source](https://redirect.github.com/SBoudrias/Inquirer.js/compare/inquirer@12.4.2...inquirer@12.4.3)

-   Fix an issue where inquirer would throw if Node is ran with the new [`--frozen-intrinsics`](https://nodejs.org/api/cli.html#--frozen-intrinsics) flag.

</details>

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

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

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

This release addresses an accessibility issue, adds a new `animate` prop and fixes other minor bugs.

##### Possible Breaking Change in Custom Styles

To address a [focus lost bug](https://redirect.github.com/gpbl/react-day-picker/issues/2630) affecting navigation buttons, we [updated](https://redirect.github.com/gpbl/react-day-picker/pull/2685) the buttons to use `aria-disabled` instead of the `disabled` attribute.

This change may cause custom styles for those disabled buttons to break. To fix it in your code, update the CSS selector to target `[aria-disabled="true"]`:

```diff
- .rdp-button_next:disabled,
+ .rdp-button_next[aria-disabled="true"] {
  /* your custom CSS */
}
- .rdp-button_previous:disabled,
+ .rdp-button_previous[aria-disabled="true"] {
  /* your custom CSS */
}
```

##### Animating Month Transitions

Thanks to the work by [@&#8203;rodgobbi](https://redirect.github.com/rodgobbi), we have added animations to DayPicker. The new [`animate` prop](http://daypicker.dev/docs/navigation#animate) enables CSS transitions for captions and weeks when navigating between months:

<img width="500" src="https://github.com/user-attachments/assets/26b6d7ad-f0e8-4b2c-9bdd-a2e61b044db7">

```tsx
<DayPicker animate />
```

Customizing the animation style can be challenging due to the HTML table structure of the grid. We may address this in the future. Please leave your feedback in [DayPicker Discussions](https://redirect.github.com/gpbl/react-day-picker/discussions).

#### What's Changed

-   feat: new `animate` prop by [@&#8203;rodgobbi](https://redirect.github.com/rodgobbi) in [https://github.com/gpbl/react-day-picker/pull/2684](https://redirect.github.com/gpbl/react-day-picker/pull/2684)
-   feat(performance): add `sideEffects` property to package.json by [@&#8203;rodgobbi](https://redirect.github.com/rodgobbi) in [https://github.com/gpbl/react-day-picker/pull/2673](https://redirect.github.com/gpbl/react-day-picker/pull/2673)
-   fix(accessibility): focus lost when navigation button is disabled by [@&#8203;gpbl](https://redirect.github.com/gpbl) in [https://github.com/gpbl/react-day-picker/pull/2685](https://redirect.github.com/gpbl/react-day-picker/pull/2685)
-   fix: render selected days with `selected` modifier when disabled by [@&#8203;rodgobbi](https://redirect.github.com/rodgobbi) in [https://github.com/gpbl/react-day-picker/pull/2700](https://redirect.github.com/gpbl/react-day-picker/pull/2700)
-   fix(build): remove extra files from package.json by [@&#8203;gpbl](https://redirect.github.com/gpbl) in [https://github.com/gpbl/react-day-picker/pull/2692](https://redirect.github.com/gpbl/react-day-picker/pull/2692)
-   chore(types): fix deprecation of select event handler types by [@&#8203;timothyis](https://redirect.github.com/timothyis) in [https://github.com/gpbl/react-day-picker/pull/2680](https://redirect.github.com/gpbl/react-day-picker/pull/2680)

##### v9.6.1

-   fix(build): add missing .css entries in package.json files by [@&#8203;gpbl](https://redirect.github.com/gpbl) in [https://github.com/gpbl/react-day-picker/pull/2703](https://redirect.github.com/gpbl/react-day-picker/pull/2703)

#### New Contributors

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

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

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

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

This release addresses an accessibility issue, adds a new `animate` prop and fixes other minor bugs.

⚠️ **Note** v9.6.0 presents a bug when importing `style.css`. Please upgrade to [v9.6.1](https://redirect.github.com/gpbl/react-day-picker/releases/tag/v9.6.1) for a fix.

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xODUuNCIsInVwZGF0ZWRJblZlciI6IjM5LjE4NS40IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-09 02:54:28 +00:00
darkskygit
637cafda37 feat(server): improve gql measure (#10706) 2025-03-08 16:39:07 +00:00
renovate
552f7c81ee chore: bump up @types/node version to v22.13.10 (#10704)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.13.9` -> `22.13.10`](https://renovatebot.com/diffs/npm/@types%2fnode/22.13.9/22.13.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/22.13.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/22.13.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/22.13.9/22.13.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/22.13.9/22.13.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xODUuNCIsInVwZGF0ZWRJblZlciI6IjM5LjE4NS40IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-08 11:50:27 +00:00
forehalo
3a3cb8112c chore: update issue templates (#10688) 2025-03-08 06:12:01 +00:00
renovate
adf8da363c chore: bump up all non-major dependencies (#10521)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@capawesome/capacitor-android-edge-to-edge-support](https://capawesome.io/plugins/android-edge-to-edge-support/) ([source](https://redirect.github.com/capawesome-team/capacitor-plugins)) | [`7.0.0` -> `7.1.0`](https://renovatebot.com/diffs/npm/@capawesome%2fcapacitor-android-edge-to-edge-support/7.0.0/7.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@capawesome%2fcapacitor-android-edge-to-edge-support/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@capawesome%2fcapacitor-android-edge-to-edge-support/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@capawesome%2fcapacitor-android-edge-to-edge-support/7.0.0/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capawesome%2fcapacitor-android-edge-to-edge-support/7.0.0/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@capgo/inappbrowser](https://redirect.github.com/Cap-go/capacitor-inappbrowser) | [`7.2.18` -> `7.2.20`](https://renovatebot.com/diffs/npm/@capgo%2finappbrowser/7.2.18/7.2.20) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@capgo%2finappbrowser/7.2.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@capgo%2finappbrowser/7.2.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@capgo%2finappbrowser/7.2.18/7.2.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capgo%2finappbrowser/7.2.18/7.2.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@commitlint/cli](https://commitlint.js.org/) ([source](https://redirect.github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli)) | [`19.7.1` -> `19.8.0`](https://renovatebot.com/diffs/npm/@commitlint%2fcli/19.7.1/19.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@commitlint%2fcli/19.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@commitlint%2fcli/19.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@commitlint%2fcli/19.7.1/19.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@commitlint%2fcli/19.7.1/19.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@commitlint/config-conventional](https://commitlint.js.org/) ([source](https://redirect.github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional)) | [`19.7.1` -> `19.8.0`](https://renovatebot.com/diffs/npm/@commitlint%2fconfig-conventional/19.7.1/19.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@commitlint%2fconfig-conventional/19.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@commitlint%2fconfig-conventional/19.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@commitlint%2fconfig-conventional/19.7.1/19.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@commitlint%2fconfig-conventional/19.7.1/19.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@eslint/js](https://eslint.org) ([source](https://redirect.github.com/eslint/eslint/tree/HEAD/packages/js)) | [`9.21.0` -> `9.22.0`](https://renovatebot.com/diffs/npm/@eslint%2fjs/9.21.0/9.22.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@eslint%2fjs/9.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@eslint%2fjs/9.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@eslint%2fjs/9.21.0/9.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@eslint%2fjs/9.21.0/9.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@faker-js/faker](https://fakerjs.dev) ([source](https://redirect.github.com/faker-js/faker)) | [`9.5.1` -> `9.6.0`](https://renovatebot.com/diffs/npm/@faker-js%2ffaker/9.5.1/9.6.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@faker-js%2ffaker/9.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@faker-js%2ffaker/9.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@faker-js%2ffaker/9.5.1/9.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@faker-js%2ffaker/9.5.1/9.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@google/generative-ai](https://redirect.github.com/google/generative-ai-js) | [`^0.22.0` -> `^0.24.0`](https://renovatebot.com/diffs/npm/@google%2fgenerative-ai/0.22.0/0.24.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@google%2fgenerative-ai/0.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@google%2fgenerative-ai/0.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@google%2fgenerative-ai/0.22.0/0.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@google%2fgenerative-ai/0.22.0/0.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@lottiefiles/dotlottie-wc](https://redirect.github.com/LottieFiles/dotlottie-web) ([source](https://redirect.github.com/LottieFiles/dotlottie-web/tree/HEAD/packages/wc)) | [`0.4.4` -> `0.4.6`](https://renovatebot.com/diffs/npm/@lottiefiles%2fdotlottie-wc/0.4.4/0.4.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@lottiefiles%2fdotlottie-wc/0.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@lottiefiles%2fdotlottie-wc/0.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@lottiefiles%2fdotlottie-wc/0.4.4/0.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@lottiefiles%2fdotlottie-wc/0.4.4/0.4.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@playwright/test](https://playwright.dev) ([source](https://redirect.github.com/microsoft/playwright)) | [`=1.50.1` -> `=1.51.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.50.1/1.51.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.51.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.51.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.50.1/1.51.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.50.1/1.51.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@playwright/test](https://playwright.dev) ([source](https://redirect.github.com/microsoft/playwright)) | [`=1.50.1` -> `=1.51.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.50.1/1.51.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.51.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.51.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.50.1/1.51.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.50.1/1.51.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@sentry/esbuild-plugin](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/esbuild-plugin) ([source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins)) | [`3.2.1` -> `3.2.2`](https://renovatebot.com/diffs/npm/@sentry%2fesbuild-plugin/3.2.1/3.2.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fesbuild-plugin/3.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fesbuild-plugin/3.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fesbuild-plugin/3.2.1/3.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fesbuild-plugin/3.2.1/3.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://redirect.github.com/getsentry/sentry-javascript)) | [`9.2.0` -> `9.5.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/9.2.0/9.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/9.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/9.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/9.2.0/9.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/9.2.0/9.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://redirect.github.com/getsentry/sentry-javascript)) | [`9.2.0` -> `9.5.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/9.2.0/9.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/9.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/9.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/9.2.0/9.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/9.2.0/9.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@sentry/webpack-plugin](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/webpack-plugin) ([source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins)) | [`3.2.1` -> `3.2.2`](https://renovatebot.com/diffs/npm/@sentry%2fwebpack-plugin/3.2.1/3.2.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fwebpack-plugin/3.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fwebpack-plugin/3.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fwebpack-plugin/3.2.1/3.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fwebpack-plugin/3.2.1/3.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@storybook/addon-essentials](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/essentials) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials)) | [`8.6.2` -> `8.6.4`](https://renovatebot.com/diffs/npm/@storybook%2faddon-essentials/8.6.2/8.6.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-essentials/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-essentials/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-essentials/8.6.2/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-essentials/8.6.2/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-interactions](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/interactions) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions)) | [`8.6.2` -> `8.6.4`](https://renovatebot.com/diffs/npm/@storybook%2faddon-interactions/8.6.2/8.6.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-interactions/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-interactions/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-interactions/8.6.2/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-interactions/8.6.2/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-links](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/links) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/links)) | [`8.6.2` -> `8.6.4`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/8.6.2/8.6.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-links/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-links/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-links/8.6.2/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-links/8.6.2/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-mdx-gfm](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/gfm) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/gfm)) | [`8.6.2` -> `8.6.4`](https://renovatebot.com/diffs/npm/@storybook%2faddon-mdx-gfm/8.6.2/8.6.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-mdx-gfm/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-mdx-gfm/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-mdx-gfm/8.6.2/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-mdx-gfm/8.6.2/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/react](https://redirect.github.com/storybookjs/storybook/tree/next/code/renderers/react) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/renderers/react)) | [`8.6.2` -> `8.6.4`](https://renovatebot.com/diffs/npm/@storybook%2freact/8.6.2/8.6.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact/8.6.2/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact/8.6.2/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/react-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/frameworks/react-vite) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite)) | [`8.6.2` -> `8.6.4`](https://renovatebot.com/diffs/npm/@storybook%2freact-vite/8.6.2/8.6.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact-vite/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact-vite/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact-vite/8.6.2/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact-vite/8.6.2/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@swc/core](https://swc.rs) ([source](https://redirect.github.com/swc-project/swc)) | [`1.11.4` -> `1.11.8`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.11.4/1.11.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.11.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fcore/1.11.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fcore/1.11.4/1.11.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.11.4/1.11.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@tailwindcss/postcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss)) | [`4.0.9` -> `4.0.12`](https://renovatebot.com/diffs/npm/@tailwindcss%2fpostcss/4.0.9/4.0.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2fpostcss/4.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tailwindcss%2fpostcss/4.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tailwindcss%2fpostcss/4.0.9/4.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2fpostcss/4.0.9/4.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@tailwindcss/vite](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite)) | [`4.0.9` -> `4.0.12`](https://renovatebot.com/diffs/npm/@tailwindcss%2fvite/4.0.9/4.0.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2fvite/4.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tailwindcss%2fvite/4.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tailwindcss%2fvite/4.0.9/4.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2fvite/4.0.9/4.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.13.5` -> `22.13.9`](https://renovatebot.com/diffs/npm/@types%2fnode/22.13.5/22.13.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/22.13.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/22.13.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/22.13.5/22.13.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/22.13.5/22.13.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.13.5` -> `22.13.9`](https://renovatebot.com/diffs/npm/@types%2fnode/22.13.5/22.13.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/22.13.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/22.13.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/22.13.5/22.13.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/22.13.5/22.13.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@vitest/browser](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/browser#readme) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/browser)) | [`3.0.7` -> `3.0.8`](https://renovatebot.com/diffs/npm/@vitest%2fbrowser/3.0.7/3.0.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fbrowser/3.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fbrowser/3.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fbrowser/3.0.7/3.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fbrowser/3.0.7/3.0.8?slim=true)](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.0.7` -> `3.0.8`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/3.0.7/3.0.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fcoverage-istanbul/3.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fcoverage-istanbul/3.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fcoverage-istanbul/3.0.7/3.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fcoverage-istanbul/3.0.7/3.0.8?slim=true)](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.0.7` -> `3.0.8`](https://renovatebot.com/diffs/npm/@vitest%2fui/3.0.7/3.0.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fui/3.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fui/3.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fui/3.0.7/3.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fui/3.0.7/3.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [anyhow](https://redirect.github.com/dtolnay/anyhow) | `1.0.96` -> `1.0.97` | [![age](https://developer.mend.io/api/mc/badges/age/crate/anyhow/1.0.97?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/anyhow/1.0.97?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/anyhow/1.0.96/1.0.97?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/anyhow/1.0.96/1.0.97?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [cc](https://redirect.github.com/rust-lang/cc-rs) | `1.2.15` -> `1.2.16` | [![age](https://developer.mend.io/api/mc/badges/age/crate/cc/1.2.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/cc/1.2.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/cc/1.2.15/1.2.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/cc/1.2.15/1.2.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | build-dependencies | patch |
| [changelogithub](https://redirect.github.com/antfu/changelogithub) | [`13.12.1` -> `13.13.0`](https://renovatebot.com/diffs/npm/changelogithub/13.12.1/13.13.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/changelogithub/13.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/changelogithub/13.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/changelogithub/13.12.1/13.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/changelogithub/13.12.1/13.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [commitlint](https://commitlint.js.org/) ([source](https://redirect.github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint)) | [`19.7.1` -> `19.8.0`](https://renovatebot.com/diffs/npm/commitlint/19.7.1/19.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/commitlint/19.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/commitlint/19.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/commitlint/19.7.1/19.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/commitlint/19.7.1/19.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [core-js](https://redirect.github.com/zloirock/core-js) ([source](https://redirect.github.com/zloirock/core-js/tree/HEAD/packages/core-js)) | [`3.40.0` -> `3.41.0`](https://renovatebot.com/diffs/npm/core-js/3.40.0/3.41.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/core-js/3.41.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/core-js/3.41.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/core-js/3.40.0/3.41.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/core-js/3.40.0/3.41.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [electron](https://redirect.github.com/electron/electron) | [`34.3.0` -> `34.3.1`](https://renovatebot.com/diffs/npm/electron/34.3.0/34.3.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/34.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/34.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/34.3.0/34.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/34.3.0/34.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [electron-log](https://redirect.github.com/megahertz/electron-log) | [`5.3.0` -> `5.3.2`](https://renovatebot.com/diffs/npm/electron-log/5.3.0/5.3.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron-log/5.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron-log/5.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron-log/5.3.0/5.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron-log/5.3.0/5.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [electron-updater](https://redirect.github.com/electron-userland/electron-builder) ([source](https://redirect.github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-updater)) | [`6.6.0` -> `6.6.1`](https://renovatebot.com/diffs/npm/electron-updater/6.6.0/6.6.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron-updater/6.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron-updater/6.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron-updater/6.6.0/6.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron-updater/6.6.0/6.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [happy-dom](https://redirect.github.com/capricorn86/happy-dom) | [`17.1.8` -> `17.4.0`](https://renovatebot.com/diffs/npm/happy-dom/17.1.8/17.4.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/17.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/17.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/17.1.8/17.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/17.1.8/17.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [html-validate](https://html-validate.org) ([source](https://gitlab.com/html-validate/html-validate)) | [`9.4.1` -> `9.4.2`](https://renovatebot.com/diffs/npm/html-validate/9.4.1/9.4.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/html-validate/9.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/html-validate/9.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/html-validate/9.4.1/9.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/html-validate/9.4.1/9.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [ioredis](https://redirect.github.com/luin/ioredis) | [`5.5.0` -> `5.6.0`](https://renovatebot.com/diffs/npm/ioredis/5.5.0/5.6.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/ioredis/5.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ioredis/5.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ioredis/5.5.0/5.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ioredis/5.5.0/5.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [keyv](https://redirect.github.com/jaredwray/keyv) | [`5.2.3` -> `5.3.1`](https://renovatebot.com/diffs/npm/keyv/5.2.3/5.3.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/keyv/5.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/keyv/5.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/keyv/5.2.3/5.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/keyv/5.2.3/5.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [lucide-react](https://lucide.dev) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.476.0` -> `^0.479.0`](https://renovatebot.com/diffs/npm/lucide-react/0.476.0/0.479.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.479.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-react/0.479.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-react/0.476.0/0.479.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.476.0/0.479.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [mixpanel-browser](https://redirect.github.com/mixpanel/mixpanel-js) | [`2.60.0` -> `2.61.0`](https://renovatebot.com/diffs/npm/mixpanel-browser/2.60.0/2.61.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/mixpanel-browser/2.61.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/mixpanel-browser/2.61.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/mixpanel-browser/2.60.0/2.61.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/mixpanel-browser/2.60.0/2.61.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [nanoid](https://redirect.github.com/ai/nanoid) | [`5.1.2` -> `5.1.3`](https://renovatebot.com/diffs/npm/nanoid/5.1.2/5.1.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nanoid/5.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nanoid/5.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nanoid/5.1.2/5.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nanoid/5.1.2/5.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [nanoid](https://redirect.github.com/ai/nanoid) | [`5.1.2` -> `5.1.3`](https://renovatebot.com/diffs/npm/nanoid/5.1.2/5.1.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nanoid/5.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nanoid/5.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nanoid/5.1.2/5.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nanoid/5.1.2/5.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [nest-commander](https://nest-commander.jaymcdoniel.dev) ([source](https://redirect.github.com/jmcdo29/nest-commander/tree/HEAD/pacakges/nest-commander)) | [`3.16.0` -> `3.16.1`](https://renovatebot.com/diffs/npm/nest-commander/3.16.0/3.16.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nest-commander/3.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nest-commander/3.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nest-commander/3.16.0/3.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nest-commander/3.16.0/3.16.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [openai](https://redirect.github.com/openai/openai-node) | [`4.86.1` -> `4.86.2`](https://renovatebot.com/diffs/npm/openai/4.86.1/4.86.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/openai/4.86.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/openai/4.86.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/openai/4.86.1/4.86.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/openai/4.86.1/4.86.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [playwright](https://playwright.dev) ([source](https://redirect.github.com/microsoft/playwright)) | [`=1.50.1` -> `=1.51.0`](https://renovatebot.com/diffs/npm/playwright/1.50.1/1.51.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright/1.51.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright/1.51.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright/1.50.1/1.51.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright/1.50.1/1.51.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [prettier](https://prettier.io) ([source](https://redirect.github.com/prettier/prettier)) | [`3.5.2` -> `3.5.3`](https://renovatebot.com/diffs/npm/prettier/3.5.2/3.5.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/prettier/3.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prettier/3.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prettier/3.5.2/3.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prettier/3.5.2/3.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [prettier](https://prettier.io) ([source](https://redirect.github.com/prettier/prettier)) | [`3.5.2` -> `3.5.3`](https://renovatebot.com/diffs/npm/prettier/3.5.2/3.5.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/prettier/3.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prettier/3.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prettier/3.5.2/3.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prettier/3.5.2/3.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [react-markdown](https://redirect.github.com/remarkjs/react-markdown) | [`10.0.0` -> `10.1.0`](https://renovatebot.com/diffs/npm/react-markdown/10.0.0/10.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-markdown/10.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-markdown/10.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-markdown/10.0.0/10.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-markdown/10.0.0/10.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [react-router-dom](https://redirect.github.com/remix-run/react-router) ([source](https://redirect.github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom)) | [`6.28.0` -> `6.30.0`](https://renovatebot.com/diffs/npm/react-router-dom/6.28.0/6.30.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-router-dom/6.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-router-dom/6.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-router-dom/6.28.0/6.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-router-dom/6.28.0/6.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [serde_json](https://redirect.github.com/serde-rs/json) | `1.0.139` -> `1.0.140` | [![age](https://developer.mend.io/api/mc/badges/age/crate/serde_json/1.0.140?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/serde_json/1.0.140?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/serde_json/1.0.139/1.0.140?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/serde_json/1.0.139/1.0.140?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [storybook](https://redirect.github.com/storybookjs/storybook/tree/next/code/lib/cli) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/lib/cli)) | [`8.6.2` -> `8.6.4`](https://renovatebot.com/diffs/npm/storybook/8.6.2/8.6.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/storybook/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/storybook/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/storybook/8.6.2/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/storybook/8.6.2/8.6.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [swr](https://swr.vercel.app) ([source](https://redirect.github.com/vercel/swr)) | [`2.3.2` -> `2.3.3`](https://renovatebot.com/diffs/npm/swr/2.3.2/2.3.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/swr/2.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/swr/2.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/swr/2.3.2/2.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/swr/2.3.2/2.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [tailwindcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss)) | [`4.0.9` -> `4.0.12`](https://renovatebot.com/diffs/npm/tailwindcss/4.0.9/4.0.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/4.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tailwindcss/4.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tailwindcss/4.0.9/4.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/4.0.9/4.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [tailwindcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss)) | [`4.0.9` -> `4.0.12`](https://renovatebot.com/diffs/npm/tailwindcss/4.0.9/4.0.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/4.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tailwindcss/4.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tailwindcss/4.0.9/4.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/4.0.9/4.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [terser-webpack-plugin](https://redirect.github.com/webpack-contrib/terser-webpack-plugin) | [`5.3.12` -> `5.3.14`](https://renovatebot.com/diffs/npm/terser-webpack-plugin/5.3.12/5.3.14) | [![age](https://developer.mend.io/api/mc/badges/age/npm/terser-webpack-plugin/5.3.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/terser-webpack-plugin/5.3.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/terser-webpack-plugin/5.3.12/5.3.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/terser-webpack-plugin/5.3.12/5.3.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [thiserror](https://redirect.github.com/dtolnay/thiserror) | `2.0.11` -> `2.0.12` | [![age](https://developer.mend.io/api/mc/badges/age/crate/thiserror/2.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/thiserror/2.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/thiserror/2.0.11/2.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/thiserror/2.0.11/2.0.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [tldts](https://redirect.github.com/remusao/tldts) | [`6.1.79` -> `6.1.83`](https://renovatebot.com/diffs/npm/tldts/6.1.79/6.1.83) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tldts/6.1.83?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tldts/6.1.83?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tldts/6.1.79/6.1.83?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tldts/6.1.79/6.1.83?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [tokio](https://tokio.rs) ([source](https://redirect.github.com/tokio-rs/tokio)) | `1.43.0` -> `1.44.0` | [![age](https://developer.mend.io/api/mc/badges/age/crate/tokio/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tokio/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tokio/1.43.0/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tokio/1.43.0/1.44.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | minor |
| [tree-sitter](https://tree-sitter.github.io/tree-sitter) ([source](https://redirect.github.com/tree-sitter/tree-sitter)) | `0.25.2` -> `0.25.3` | [![age](https://developer.mend.io/api/mc/badges/age/crate/tree-sitter/0.25.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/tree-sitter/0.25.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/tree-sitter/0.25.2/0.25.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/tree-sitter/0.25.2/0.25.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [typescript](https://www.typescriptlang.org/) ([source](https://redirect.github.com/microsoft/TypeScript)) | [`5.7.3` -> `5.8.2`](https://renovatebot.com/diffs/npm/typescript/5.7.3/5.8.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/5.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript/5.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript/5.7.3/5.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/5.7.3/5.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [typescript](https://www.typescriptlang.org/) ([source](https://redirect.github.com/microsoft/TypeScript)) | [`5.7.3` -> `5.8.2`](https://renovatebot.com/diffs/npm/typescript/5.7.3/5.8.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/5.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript/5.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript/5.7.3/5.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/5.7.3/5.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)) | [`8.25.0` -> `8.26.0`](https://renovatebot.com/diffs/npm/typescript-eslint/8.25.0/8.26.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typescript-eslint/8.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript-eslint/8.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript-eslint/8.25.0/8.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript-eslint/8.25.0/8.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [undici](https://undici.nodejs.org) ([source](https://redirect.github.com/nodejs/undici)) | [`7.3.0` -> `7.4.0`](https://renovatebot.com/diffs/npm/undici/7.3.0/7.4.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/undici/7.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/undici/7.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/undici/7.3.0/7.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/undici/7.3.0/7.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [vite](https://vite.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`6.2.0` -> `6.2.1`](https://renovatebot.com/diffs/npm/vite/6.2.0/6.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/6.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/6.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/6.2.0/6.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/6.2.0/6.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [vite](https://vite.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`6.2.0` -> `6.2.1`](https://renovatebot.com/diffs/npm/vite/6.2.0/6.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/6.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/6.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/6.2.0/6.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/6.2.0/6.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [vitest](https://redirect.github.com/vitest-dev/vitest) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`3.0.7` -> `3.0.8`](https://renovatebot.com/diffs/npm/vitest/3.0.7/3.0.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/3.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest/3.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest/3.0.7/3.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/3.0.7/3.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [yarn](https://redirect.github.com/yarnpkg/berry) ([source](https://redirect.github.com/yarnpkg/berry/tree/HEAD/packages/yarnpkg-cli)) | [`4.6.0` -> `4.7.0`](https://renovatebot.com/diffs/npm/yarn/4.6.0/4.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@yarnpkg%2fcli/4.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@yarnpkg%2fcli/4.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@yarnpkg%2fcli/4.6.0/4.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@yarnpkg%2fcli/4.6.0/4.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | packageManager | minor |
| [com.android.library](https://developer.android.com/studio/build) ([source](https://android.googlesource.com/platform/tools/base)) | `8.8.2` -> `8.9.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.library:com.android.library.gradle.plugin/8.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.library:com.android.library.gradle.plugin/8.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.android.library:com.android.library.gradle.plugin/8.8.2/8.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.android.library:com.android.library.gradle.plugin/8.8.2/8.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | plugin | minor |
| [com.android.application](https://developer.android.com/studio/build) ([source](https://android.googlesource.com/platform/tools/base)) | `8.8.2` -> `8.9.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.android.application:com.android.application.gradle.plugin/8.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.android.app
2025-03-08 04:42:04 +00:00
fundon
befb795935 fix(editor): should show toolbar after mouse is released (#10698) 2025-03-08 04:16:02 +00:00
Saul-Mirone
8aedef0a36 chore(editor): reorg packages (#10702) 2025-03-08 12:00:34 +08:00
doodlewind
334912e85b perf(editor): lazy DOM update with idle state in gfx viewport (#10624)
Currently, `GfxViewportElement` hides DOM blocks outside the viewport using `display: none` to optimize performance. However, this approach presents two issues:

1. Even when hidden, all top-level blocks still undergo frequent CSS transform updates during viewport panning and zooming.
2. Hidden blocks cannot access DOM layout information, preventing `TurboRenderer` from updating the complete canvas bitmap.

To address this, this PR introduces a refactoring that divides all top-level edgeless blocks into two states: `idle` and `active`. The improvements are as follows:

1. Blocks outside the viewport are set to the `idle` state, meaning they no longer update their DOM during viewport panning or zooming. Only `active` blocks within the viewport are updated frame by frame.
2. For `idle` blocks, the hiding method switches from `display: none` to `visibility: hidden`, ensuring their layout information remains accessible to `TurboRenderer`.

[Screen Recording 2025-03-07 at 3.23.56 PM.mov <span class="graphite__hidden">(uploaded via Graphite)</span> <img class="graphite__hidden" src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/lEGcysB4lFTEbCwZ8jMv/4bac640b-f5b6-4b0b-904d-5899f96cf375.mov" />](https://app.graphite.dev/media/video/lEGcysB4lFTEbCwZ8jMv/4bac640b-f5b6-4b0b-904d-5899f96cf375.mov)

While this minimizes DOM updates, it introduces a trade-off: `idle` blocks retain an outdated layout state. Since their positions are updated using a lazy update strategy, their layout state remains frozen at the moment they were last moved out of the viewport:

![idle-issue.jpg](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/lEGcysB4lFTEbCwZ8jMv/9c8c2150-69d4-416b-b46e-8473a7fdf339.jpg)

To resolve this, the PR serializes and stores the viewport field of the block at that moment on the `idle` block itself. This allows the correct layout, positioned in the model coordinate system, to be restored from the stored data.
2025-03-08 01:38:02 +00:00
Saul-Mirone
dc047aa1a4 feat(editor): allow undefined default props (#10701)
Closes: [BS-2771](https://linear.app/affine-design/issue/BS-2771/%E6%84%9F%E8%A7%89%E5%BE%97%E6%94%AF%E6%8C%81%E5%8F%AF%E9%80%89%E5%AD%97%E6%AE%B5[mirone]1f862b1b-8523-4487-a948-fef9174e8825)
2025-03-07 15:57:12 +00:00
L-Sun
05a6845962 refactor(editor): data view slash menu config extension (#10684) 2025-03-07 15:22:41 +00:00
L-Sun
46466e2c3a refactor(editor): code block slash menu config extension (#10683) 2025-03-07 15:22:41 +00:00
L-Sun
63bf2b80c1 refactor(editor): linked doc slash menu config extension (#10682) 2025-03-07 14:42:56 +00:00
CatsJuice
9f3580263a feat(core): support removing journal template from right sidebar (#10571) 2025-03-07 12:32:42 +00:00
L-Sun
83b05aca4d refactor(editor): surface-ref slash menu config extension (#10681) 2025-03-07 09:05:04 +00:00
L-Sun
d37868d97a refactor(editor): ai slash menu config extension (#10680) 2025-03-07 09:05:03 +00:00
Flrande
264f0dd2be fix(editor): improve backspace ux for callout block (#10696) 2025-03-07 08:50:31 +00:00
L-Sun
8d9746e0cc refactor(editor): embed slash menu config extension (#10679) 2025-03-07 08:21:19 +00:00
L-Sun
37a13032ed refactor(editor): note slash menu config extension (#10678) 2025-03-07 08:21:18 +00:00
L-Sun
4be80d87ff refactor(editor): latex slash menu config extension (#10677) 2025-03-07 08:21:18 +00:00
EYHN
4677049b5c feat(core): add public user service (#10695) 2025-03-07 08:00:27 +00:00
Hwang
a08e76c3b5 chore: update project name (#10658)
Co-authored-by: EYHN <cneyhn@gmail.com>
2025-03-07 15:59:26 +08:00
fengmk2
4446100150 fix(server): correct "Administrators" typo in permissions (#10690) 2025-03-07 07:13:36 +00:00
L-Sun
ea20751b9b refactor(editor): attachment slash menu config extension (#10676) 2025-03-07 05:48:41 +00:00
L-Sun
34e777e043 refactor(editor): bookmark slash menu config extension (#10675) 2025-03-07 05:48:40 +00:00
L-Sun
4e80ecd591 refactor(editor): image slash menu config extension (#10674) 2025-03-07 05:48:40 +00:00
L-Sun
66ad87c84a refactor(editor): table slash menu config extension (#10673) 2025-03-07 05:48:39 +00:00
doouding
460e088873 fix: block should not be selectable when dragged into note (#10664)
### Changed
- Fixed the issue that block can still be selected when dragged into note
- Rewrite grid and layer with extension infra
2025-03-07 04:40:05 +00:00
L-Sun
0a234fa263 refactor(editor): callout slash menu config extension (#10672) 2025-03-07 04:24:09 +00:00
Saul-Mirone
fe5f0f62ec feat(editor): rich text package (#10689)
This PR performs a significant architectural refactoring by extracting rich text functionality into a dedicated package. Here are the key changes:

1. **New Package Creation**
- Created a new package `@blocksuite/affine-rich-text` to house rich text related functionality
- Moved rich text components, utilities, and types from `@blocksuite/affine-components` to this new package

2. **Dependency Updates**
- Updated multiple block packages to include the new `@blocksuite/affine-rich-text` as a direct dependency:
  - block-callout
  - block-code
  - block-database
  - block-edgeless-text
  - block-embed
  - block-list
  - block-note
  - block-paragraph

3. **Import Path Updates**
- Refactored all imports that previously referenced rich text functionality from `@blocksuite/affine-components/rich-text` to now use `@blocksuite/affine-rich-text`
- Updated imports for components like:
  - DefaultInlineManagerExtension
  - RichText types and interfaces
  - Text manipulation utilities (focusTextModel, textKeymap, etc.)
  - Reference node components and providers

4. **Build Configuration Updates**
- Added references to the new rich text package in the `tsconfig.json` files of all affected packages
- Maintained workspace dependencies using the `workspace:*` version specifier

The primary motivation appears to be:
1. Better separation of concerns by isolating rich text functionality
2. Improved maintainability through more modular package structure
3. Clearer dependencies between packages
4. Potential for better tree-shaking and bundle optimization

This is primarily an architectural improvement that should make the codebase more maintainable and better organized.
2025-03-07 04:08:47 +00:00
fundon
8da12025af fix(core): should invoke cleanup fn when ai sub item list is removed (#10685)
Closes: [BS-2755](https://linear.app/affine-design/issue/BS-2755/ai-translate-死循环报错)
2025-03-07 03:35:59 +00:00
fundon
916134b1da fix(editor): should update icon status when formatting the entire block text (#10508)
Closes: [BS-2718](https://linear.app/affine-design/issue/BS-2718/当处于-block-selection-状态且对整段进行-formatting-时,应该更新对应图标状态)
2025-03-07 03:22:01 +00:00
L-Sun
98d44d5be5 refactor(editor): move focus block commands to blocksuite/shared (#10671) 2025-03-07 03:07:49 +00:00
L-Sun
43ce609cba refactor(editor): database slash menu config extension (#10670) 2025-03-07 02:50:27 +00:00
L-Sun
490a191a11 refactor(editor): replace icons with blocksuite/icons (#10655) 2025-03-07 02:50:26 +00:00
L-Sun
750c8a44dc refactor(editor): add slash menu config extension entry (#10641)
Close [BS-2744](https://linear.app/affine-design/issue/BS-2744/slash-menu%E6%8F%92%E4%BB%B6%E5%8C%96%EF%BC%9Aaction%E6%B3%A8%E5%86%8C%E5%85%A5%E5%8F%A3)

This PR mainly focus  on providing an entry point for configuring the SlashMenu feature. Therefore, it strives to retain the original code to ensure that the modifications are simple and easy to review. Subsequent PRs will focus on moving different configurations into separate blocks.

### How to use?
Here is the type definition for the slash menu configuration.  An important change is the new field `group`, which indicates the sorting and grouping of the menu item. See the comments for details.

```ts
// types.ts
export type SlashMenuContext = {
  std: BlockStdScope;
  model: BlockModel;
};

export type SlashMenuItemBase = {
  name: string;
  description?: string;
  icon?: TemplateResult;
  /**
   * This field defines sorting and grouping of menu items like VSCode.
   * The first number indicates the group index, the second number indicates the item index in the group.
   * The group name is the string between `_` and `@`.
   * You can find an example figure in https://code.visualstudio.com/api/references/contribution-points#menu-example
   */
  group?: `${number}_${string}@${number}`;

  /**
   * The condition to show the menu item.
   */
  when?: (ctx: SlashMenuContext) => boolean;
};

export type SlashMenuActionItem = SlashMenuItemBase & {
  action: (ctx: SlashMenuContext) => void;
  tooltip?: SlashMenuTooltip;

  /**
   * The alias of the menu item for search.
   */
  searchAlias?: string[];
};

export type SlashMenuSubMenu = SlashMenuItemBase & {
  subMenu: SlashMenuItem[];
};

export type SlashMenuItem = SlashMenuActionItem | SlashMenuSubMenu;

export type SlashMenuConfig = {
  /**
   * The items in the slash menu. It can be generated dynamically with the context.
   */
  items: SlashMenuItem[] | ((ctx: SlashMenuContext) => SlashMenuItem[]);

  /**
   * Slash menu will not be triggered when the condition is true.
   */
  disableWhen?: (ctx: SlashMenuContext) => boolean;
};

// extensions.ts

/**
 * The extension to add a slash menu items or configure.
 */
export function SlashMenuConfigExtension(ext: {
  id: string;
  config: SlashMenuConfig;
}): ExtensionType {
  return {
    setup: di => {
      di.addImpl(SlashMenuConfigIdentifier(ext.id), ext.config);
    },
  };
}
```

Here is an example, `XXXSlashMenuConfig` adds a `Delete` action to the slash menu, which is assigned to the 8th group named `Actions` at position 0.
```ts
import { SlashMenuConfigExtension, type SlashMenuConfig } from '@blocksuite/affine-widget-slash-menu';

const XXXSlashMenuConfig = SlashMenuConfigExtension({
  id: 'XXX',
  config: {
    items: [
      {
        name: 'Delete',
        description: 'Remove a block.',
        searchAlias: ['remove'],
        icon: DeleteIcon,
        group: '8_Actions@0',
        action: ({ std, model }) => {
          std.host.doc.deleteBlock(model);
        },
      },
    ],
  },
});
```
2025-03-06 16:12:06 +00:00
L-Sun
62d8c0c7cb refactor(editor): adjust folder structure for slash menu extension (#10588)
Close [BS-2743](https://linear.app/affine-design/issue/BS-2743/slash-menu插件化:调整文件夹结构)

This PR move slash menu from `affine-root-block` to `widget-affine-slash-menu`, and make it as a `WidgetViewExtension`
2025-03-06 16:12:06 +00:00
fengmk2
289d3cd20e feat(server): get public user by id (#10434)
close CLOUD-160
2025-03-06 15:25:06 +00:00
fengmk2
7302c4f954 feat(server): notification system (#10053)
closes CLOUD-52
2025-03-06 15:25:05 +00:00
fengmk2
81694a1144 feat(server): add workspace name and avatarKey to database (#10513)
close CLOUD-153
2025-03-06 15:25:05 +00:00
fengmk2
c76b2504fe feat(server): add doc title and summary to database (#10505)
close CLOUD-152
2025-03-06 14:27:42 +00:00
Saul-Mirone
8d10b40b72 feat(editor): add loaded and disposed hook for store extension (#10669) 2025-03-06 13:31:09 +00:00
forehalo
e02fb4fa94 refactor(core): standardize frontend error handling (#10667) 2025-03-06 13:10:18 +00:00
Saul-Mirone
2e86bfffae feat(editor): life cycle ext (#10668) 2025-03-06 12:28:55 +00:00
Flrande
b85812d8dd fix(editor): disable slash menu in callout (#10656) 2025-03-06 11:07:10 +00:00
fengmk2
d2b45783ea feat(server): use zod parse to impl input validation (#10566)
close CLOUD-124
2025-03-06 10:40:01 +00:00
Saul-Mirone
84e2dda3f8 refactor(editor): separate lit and slot in global (#10666) 2025-03-06 10:24:59 +00:00
forehalo
56b842f2e1 fix(core): runtime control of telemetry (#10663) 2025-03-06 09:56:13 +00:00
fundon
93920f9895 fix(editor): circular dependencies (#10661)
Closes: [BS-2766](https://linear.app/affine-design/issue/BS-2766/把-converttodatabase-移到-root-block-中,避免循环依赖)
2025-03-06 09:41:01 +00:00
L-Sun
797e63f86f chore(editor): remove unexpected bottom padding of code block (#10660)
Close [BS-2765](https://linear.app/affine-design/issue/BS-2765/代码块在字数超出宽度时,下巴变大)

https://github.com/user-attachments/assets/1dc53528-6d36-4b2a-861c-9ca06381c681
2025-03-06 09:26:00 +00:00
Saul-Mirone
7ae9daa6f6 refactor(editor): use lodash (#10657) 2025-03-06 17:11:12 +08:00
darkskygit
8062893603 test(web): rename e2e test name (#10654) 2025-03-06 08:28:07 +00:00
EYHN
eaaf4bebef feat(core): awareness change event instead of update event (#10649) 2025-03-06 08:05:50 +00:00
fundon
8bfaa2502e fix(editor): should shift toolbar to keep in view when selected area exceeds view (#10642)
Closes: [BS-2757](https://linear.app/affine-design/issue/BS-2757/体验优化:pageedgeless-下,有超长选区时,toolbar-flip-后浮动在下方)

![Screenshot 2025-03-06 at 10.50.39.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/8ypiIKZXudF5a0tIgIzf/e92c586c-4bf0-4196-b2f5-ffaa09adcf14.png)

![Screenshot 2025-03-06 at 10.52.22.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/8ypiIKZXudF5a0tIgIzf/c24204df-5249-4a22-bde8-90cb8fa368c9.png)

![Screenshot 2025-03-06 at 10.50.58.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/8ypiIKZXudF5a0tIgIzf/22746460-5bb4-4f65-b96c-cbac7f189bdb.png)
2025-03-06 07:48:04 +00:00
darkskygit
91adc533a8 fix(server): reuse params in retry (#10653)
fix BS-2484
2025-03-06 07:32:26 +00:00
akumatus
cd884312ea fix(core): missing clean up subscription (#10636) 2025-03-06 07:00:58 +00:00
fundon
ec9bd1f383 feat(editor): add toolbar registry extension (#9572)
### What's Changed!

#### Added
Manage various types of toolbars uniformly in one place.

* `affine-toolbar-widget`
* `ToolbarRegistryExtension`

The toolbar currently supports and handles several scenarios:

1.  Select blocks: `BlockSelection`
2. Select text: `TextSelection` or `NativeSelection`
3. Hover a link: `affine-link` and `affine-reference`

#### Removed
Remove redundant toolbar implementations.

* `attachment` toolbar
* `bookmark` toolbar
* `embed` toolbar
* `formatting` toolbar
* `affine-link` toolbar
* `affine-reference` toolbar

### How to migrate?

Here is an example that can help us migrate some unrefactored toolbars:

Check out the more detailed types of [`ToolbarModuleConfig`](c178debf2d/blocksuite/affine/shared/src/services/toolbar-service/config.ts).

1.  Add toolbar configuration file to a block type, such as bookmark block: [`config.ts`](c178debf2d/blocksuite/affine/block-bookmark/src/configs/toolbar.ts)

```ts
export const builtinToolbarConfig = {
  actions: [
    {
      id: 'a.preview',
      content(ctx) {
        const model = ctx.getCurrentModelBy(BlockSelection, BookmarkBlockModel);
        if (!model) return null;

        const { url } = model;

        return html`<affine-link-preview .url=${url}></affine-link-preview>`;
      },
    },
    {
      id: 'b.conversions',
      actions: [
        {
          id: 'inline',
          label: 'Inline view',
          run(ctx) {
          },
        },
        {
          id: 'card',
          label: 'Card view',
          disabled: true,
        },
        {
          id: 'embed',
          label: 'Embed view',
          disabled(ctx) {
          },
          run(ctx) {
          },
        },
      ],
      content(ctx) {
      },
    } satisfies ToolbarActionGroup<ToolbarAction>,
    {
      id: 'c.style',
      actions: [
        {
          id: 'horizontal',
          label: 'Large horizontal style',
        },
        {
          id: 'list',
          label: 'Small horizontal style',
        },
      ],
      content(ctx) {
      },
    } satisfies ToolbarActionGroup<ToolbarAction>,
    {
      id: 'd.caption',
      tooltip: 'Caption',
      icon: CaptionIcon(),
      run(ctx) {
      },
    },
    {
      placement: ActionPlacement.More,
      id: 'a.clipboard',
      actions: [
        {
          id: 'copy',
          label: 'Copy',
          icon: CopyIcon(),
          run(ctx) {
          },
        },
        {
          id: 'duplicate',
          label: 'Duplicate',
          icon: DuplicateIcon(),
          run(ctx) {
          },
        },
      ],
    },
    {
      placement: ActionPlacement.More,
      id: 'b.refresh',
      label: 'Reload',
      icon: ResetIcon(),
      run(ctx) {
      },
    },
    {
      placement: ActionPlacement.More,
      id: 'c.delete',
      label: 'Delete',
      icon: DeleteIcon(),
      variant: 'destructive',
      run(ctx) {
      },
    },
  ],
} as const satisfies ToolbarModuleConfig;
```

2. Add configuration extension to a block spec: [bookmark's spec](c178debf2d/blocksuite/affine/block-bookmark/src/bookmark-spec.ts)

```ts
const flavour = BookmarkBlockSchema.model.flavour;

export const BookmarkBlockSpec: ExtensionType[] = [
  ...,
  ToolbarModuleExtension({
    id: BlockFlavourIdentifier(flavour),
    config: builtinToolbarConfig,
  }),
].flat();
```

3. If the bock type already has a toolbar configuration built in, we can customize it in the following ways:

Check out the [editor's config](c178debf2d/packages/frontend/core/src/blocksuite/extensions/editor-config/index.ts (L51C4-L54C8)) file.

```ts
// Defines a toolbar configuration for the bookmark block type
const customBookmarkToolbarConfig = {
  actions: [
    ...
  ]
} as const satisfies ToolbarModuleConfig;

// Adds it into the editor's config
 ToolbarModuleExtension({
    id: BlockFlavourIdentifier('custom:affine:bookmark'),
    config: customBookmarkToolbarConfig,
 }),
```

4. If we want to extend the global:

```ts
// Defines a toolbar configuration
const customWildcardToolbarConfig = {
  actions: [
    ...
  ]
} as const satisfies ToolbarModuleConfig;

// Adds it into the editor's config
 ToolbarModuleExtension({
    id: BlockFlavourIdentifier('custom:affine:*'),
    config: customWildcardToolbarConfig,
 }),
```

Currently, only most toolbars in page mode have been refactored. Next is edgeless mode.
2025-03-06 06:46:03 +00:00
Flrande
06e4bd9aed chore(editor): remove log (#10650) 2025-03-06 06:31:15 +00:00
EYHN
5c8b81581c feat(core): doc level awareness (#10646) 2025-03-06 06:05:45 +00:00
Saul-Mirone
2b30d756e2 refactor(editor): replace debounce and throttle with lodash (#10639) 2025-03-06 04:46:52 +00:00
yoyoyohamapi
824f573ff9 refactor(core): replace ai icons (#10637) 2025-03-06 04:23:52 +00:00
JimmFly
edd37b5d54 chore: adjust discord link (#10645) 2025-03-06 04:08:26 +00:00
liuyi
7e61a0b2fc refactor(graphql): codegen (#10626) 2025-03-06 12:06:19 +08:00
EYHN
fb084a9569 fix(core): fix awareness send message repeatedly (#10643) 2025-03-06 03:34:49 +00:00
akumatus
e990a5523e fix(core): can not clear chat-panel history (#10634)
Close [BS-2754](https://linear.app/affine-design/issue/BS-2754).

### What Changed?
Use the latest session id and display the corresponding historical messages.
2025-03-06 03:19:02 +00:00
CatsJuice
6b08e3f5d4 feat(core): support create new template in starter-bar (#10570) 2025-03-06 02:05:29 +00:00
darkskygit
fbb6df3da8 chore(server): return parent id of sessions (#10638) 2025-03-05 14:03:36 +00:00
fengmk2
43ded6aa38 feat(server): add blocked state to workspace docs (#10585)
close CLOUD-162
2025-03-05 12:49:33 +00:00
fengmk2
70a0337ea3 refactor(server): use DocModel to access doc meta (#10593) 2025-03-05 12:10:28 +00:00
fengmk2
687c26304a refactor(server): split HistoryModel from DocModel (#10604) 2025-03-05 12:10:28 +00:00
hackerESQ
fed0e0add3 fix: prevent sentry from loading when telemetry is disabled (#10543)
Co-authored-by: forehalo <forehalo@gmail.com>
2025-03-05 20:09:38 +08:00
fengmk2
b247b8e26c refactor(server): merge PageModel into DocModel (#10592) 2025-03-05 19:49:14 +08:00
EYHN
0015bfbaf2 refactor(core): adjust sentry config (#10631) 2025-03-05 11:18:06 +00:00
JimmFly
bb4240f6ef fix(core): add missing control of modifyDocDefaultRole track event (#10625) 2025-03-05 11:02:45 +00:00
JimmFly
cb37c25b14 chore: adjust share menu styles (#10630)
close AF-2270 AF-2193 AF-2067
2025-03-05 10:42:56 +00:00
Saul-Mirone
7e39893aac refactor(editor): remove assert functions (#10629) 2025-03-05 10:20:02 +00:00
EYHN
201c3438ba feat(core): add user list service for blocksuite (#10627) 2025-03-05 10:06:14 +00:00
pengx17
47d01f5f66 fix(core): db backlink infinite query issue (#10628)
fix AF-2301
2025-03-05 09:43:05 +00:00
Flrande
bd62634a76 feat(editor): add callout block (#10563)
- Add `CalloutBlockModel `
- Implement `CalloutBlockComponent `
- Integrate with slash menu (/)
2025-03-05 09:28:51 +00:00
akumatus
1c2a6eac85 feat: responsive chat-panel padding and request (#10620)
Close [BS-2751](https://linear.app/affine-design/issue/BS-2751).

### What Changed?
- Do not send AI gql request when chat-panel is not open.
- When the chat-panel width is greater than 540px, adjust the padding to 24px.
- Optimize the display and hide logic of scroll to end button.
2025-03-05 09:12:03 +00:00
liuyi
61162c59fc refactor(server): permission (#10449) 2025-03-05 15:57:00 +08:00
Brooooooklyn
bf7b1646b3 fix(web): add Array#toReversed polyfill (#10623) 2025-03-05 07:20:16 +00:00
doouding
30f97892b1 fix: snap line offset & check alignment candidates in real time (#10605) 2025-03-05 07:05:21 +00:00
fengmk2
b88113a2d1 feat(server): add invalid oauth callback code error handling (#10603)
close CLOUD-130
2025-03-05 06:16:59 +00:00
darkskygit
0b8fa7904d fix: adapt new abort behavior (#10622) 2025-03-05 06:03:43 +00:00
EYHN
59de4558bd feat(core): fix sign in background arts block user interaction (#10621) 2025-03-05 05:57:01 +00:00
EYHN
61635aa77a feat(core): add clipper import interface (#10619) 2025-03-05 04:22:03 +00:00
EYHN
4daa763c95 fix(core): fix table text content search (#10488) 2025-03-05 04:06:44 +00:00
Brooooooklyn
e99b25ae6a fix(web): add Array#toSpliced and Array#toReversed polyfill (#10614) 2025-03-05 02:46:41 +00:00
fengmk2
3d2c4fe007 feat(server): add user existence check and optimize permission queries (#10402) 2025-03-05 01:49:33 +00:00
Saul-Mirone
b8ecfbdae6 refactor(editor): remove assertExists (#10615) 2025-03-05 00:13:08 +00:00
akumatus
a6692f70aa fix(core): text style is not centered when chat-panel is wide (#10607)
Fix issue [BS-2751](https://linear.app/affine-design/issue/BS-2751).

Before:

![截屏2025-03-04 16.56.46.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/d0aae342-ff53-42d6-964b-ecd2e8720af6.png)

After:

![截屏2025-03-04 16.56.57.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/986bde63-6fe8-485d-97d1-0a062658cf7c.png)
2025-03-04 15:25:35 +00:00
Saul-Mirone
66d9d576e0 refactor(editor): add gfx entry in bs global package (#10612) 2025-03-04 12:46:50 +00:00
Saul-Mirone
5ad3d3c94a refactor(editor): move figma squircle to shared (#10610) 2025-03-04 10:26:58 +00:00
Saul-Mirone
fa5674166e refactor(editor): cleanup list icons (#10608) 2025-03-04 10:13:01 +00:00
yoyoyohamapi
fd244f909d fix(core): positioning error in fixed floating submenu (#10606)
Issue:Close [BS-2150](https://linear.app/affine-design/issue/BS-2150/图片-filterprocessing-二级菜单时而不出现)

In the AI image menu (based on floating-ui):
- **Floating element**: Submenu items (e.g., "image filter/image processing")
- **Reference element**: Menu item
- **Positioning strategy**: `fixed`
- **Issue**: Specifying the `container` parameter caused the floating element (submenu) to be mounted to the reference element (menu item), leading to incorrect position calculations when floating-ui updated.
```jsx
<menu-item>
  <submenu-item style={{ position: 'fixed' }}/>
</menu-item>
```
- **Fix**: Remove the `container` configuration and mount the `fixed`-positioned floating element to the `body` instead.
2025-03-04 09:58:39 +00:00
donteatfriedrice
40351295c9 fix(editor): should not select or open latex editor when readonly (#10601) 2025-03-04 07:27:58 +00:00
akumatus
16fd7bdf20 fix(core): add ai math syntax in prompt (#10595)
Close [BS-2121](https://linear.app/affine-design/issue/BS-2121).
2025-03-04 07:13:53 +00:00
Brooooooklyn
a486174669 build: add link args to prevent dso unloading error on GNU targets (#10602) 2025-03-04 06:58:41 +00:00
Saul-Mirone
22924c767c fix(editor): onChange notification for flat model (#10589)
The primary purpose of this PR appears to be:
1. Simplifying the change notification API by removing the redundant value parameter from callbacks
2. Improving the reactive system's handling of specialized types (Text and Boxed) in flat data
3. Adding better test coverage for text handling in the flat data model
2025-03-04 05:57:06 +00:00
doodlewind
c418e89fb9 chore(editor): add feature flag entry for testing turbo renderer (#10581)
The debug pane will be displayed once the `enable_turbo_renderer` feature flag is enabled.

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/lEGcysB4lFTEbCwZ8jMv/c1ba558a-2d84-403c-aa81-864b0338c861.png)
2025-03-04 05:38:44 +00:00
doouding
1c29d0e269 feat: optimize edgeless alignment (#10435)
### Changed
- alignment line style
- threshold of snapping
- optimize alignment checking performance
2025-03-04 03:03:31 +00:00
akumatus
321247a2fa fix(core): add ai 7 day trial hint (#10587)
Fix issue [BS-2739](https://linear.app/affine-design/issue/BS-2739).
2025-03-03 15:10:16 +00:00
pengx17
8e5d7858c4 fix(core): only enable attachment preview for pdf (#10584) 2025-03-03 11:07:13 +00:00
L-Sun
37fbfbcf3e fix(editor): zindex of frame child not updated (#10580)
Close [BS-2689](https://linear.app/affine-design/issue/BS-2689/[bug]-%E5%BD%93%E5%B1%82%E7%BA%A7%E4%BD%8E%E4%BA%8E-frame-%E7%9A%84yuan%E7%B4%A0%E8%A2%AB%E6%8B%96%E5%85%A5-frame-%E6%97%B6%E5%B1%82%E7%BA%A7%E5%BA%94%E8%AF%A5%E8%A2%AB%E8%87%AA%E5%8A%A8%E6%8B%89%E9%AB%98%E5%B5%8C%E5%85%A5-frame)
2025-03-03 10:51:27 +00:00
liuyi
889625cdaa fix(server): reschedule busy doc merging (#10583) 2025-03-03 18:51:09 +08:00
Saul-Mirone
4c3c953a36 chore(editor): merge clamp functions (#10577)
Closes: [BS-2625](https://linear.app/affine-design/issue/BS-2625/合并clamp函数)
2025-03-03 10:33:38 +00:00
Brooooooklyn
899a957fab fix(native): do not crash on bootstrap if API is not available (#10582) 2025-03-03 10:15:42 +00:00
L-Sun
2cd83be621 fix(editor): code block toolbar float offset (#10579)
Close [BS-2736](https://linear.app/affine-design/issue/BS-2736/代码块工具栏偏移太大), [BS-1974](https://linear.app/affine-design/issue/BS-1974/code-block-浮标歪)

## Before

https://github.com/user-attachments/assets/f4ec4d7d-8c18-43ea-9464-c18e8b8dce60

https://github.com/user-attachments/assets/76f89ce6-bd89-49d6-a987-e9e5d5f9842a

### After

https://github.com/user-attachments/assets/dac919b9-d19c-4fb3-99bf-be02a460ad8c

https://github.com/user-attachments/assets/e5329f84-f1cf-4776-a789-8d12bea17ece
2025-03-03 09:56:13 +00:00
donteatfriedrice
170066050e feat(core): support latex in ai text renderer (#10576) 2025-03-03 09:19:31 +00:00
liuyi
abad289783 fix(server): limit max batch pulled doc updates (#10578) 2025-03-03 09:19:17 +00:00
Flrande
5d3c365d97 fix(editor): format text in code block (#10575)
Closes: [BS-2724](https://linear.app/affine-design/issue/BS-2724/code-block%E9%87%8C%E4%B8%8D%E5%BA%94%E8%AF%A5%E6%98%BE%E7%A4%BAtoolbar)
2025-03-03 08:52:38 +00:00
doodlewind
86c449319b chore(editor): remove redundant fields in viewport (#10569) 2025-03-03 07:49:08 +00:00
fengmk2
0e24ea3ac5 fix(server): throw s3 store error directly (#10572)
close CLOUD-154
2025-03-03 07:09:54 +00:00
fengmk2
0e26498e6a refactor(server): reduce server resource requests (#10568)
close CLOUD-149
2025-03-03 06:33:07 +00:00
Saul-Mirone
a587abca85 feat(editor): add block meta service (#10561) 2025-03-03 06:13:06 +00:00
zzj3720
3711e13e0e fix(editor): database block create new row when group by rich-text (#10564) 2025-03-03 05:58:07 +00:00
Brooooooklyn
18bdf830b4 ci: fix native server build (#10554) 2025-03-03 05:44:00 +00:00
Brooooooklyn
73fa04e249 chore: unify Cargo deps versions (#10553) 2025-03-03 03:30:59 +00:00
Saul-Mirone
4eae3cc66a feat(editor): add user list services (#10555) 2025-03-03 03:15:00 +00:00
pengx17
629aea48df fix(electron): app menu about action (#10445)
fix AF-2268
2025-03-03 03:00:17 +00:00
doodlewind
bd1b26a230 feat(editor): support zooming placeholder in turbo renderer (#10504)
[Screen Recording 2025-02-28 at 4.32.20 PM.mov <span class="graphite__hidden">(uploaded via Graphite)</span> <img class="graphite__hidden" src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/lEGcysB4lFTEbCwZ8jMv/6c08b827-8428-42f3-aa7a-a2366756bd16.mov" />](https://app.graphite.dev/media/video/lEGcysB4lFTEbCwZ8jMv/6c08b827-8428-42f3-aa7a-a2366756bd16.mov)

This prevents painting task backlog during zooming by adding a fast placeholder painter, with a `zooming` state in renderer state machine.
2025-03-03 02:07:46 +00:00
Saul-Mirone
fdde818ddd feat(editor): add block meta feature flag (#10548) 2025-03-03 01:45:33 +00:00
Saul-Mirone
f23f29610c refactor(editor): remove stable feature flags (#10547) 2025-03-02 08:41:12 +00:00
Saul-Mirone
6353e72078 feat(editor): add embed option config extension (#10540)
This PR implements a significant refactoring of the embed block services across multiple components (Figma, GitHub, Loom, and YouTube) in the BlockSuite codebase. Here are the key changes:

1. **Architecture Change**:
   - Moves from a dynamic registration pattern to a more declarative configuration approach
   - Replaces `EmbedOptionProvider.registerEmbedBlockOptions()` calls with a new `EmbedOptionConfig` factory function

2. **Service Refactoring**:
   - For each embed block type (Figma, GitHub, Loom, YouTube):
     - Separates configuration from service logic
     - Creates new `EmbedBlockOptionConfig` constants using the new `EmbedOptionConfig` factory
     - Removes the `mounted()` lifecycle hook from services where it was only used for registration

3. **Core Changes**:
   - In `embed-option-service.ts`:
     - Introduces new `EmbedOptionConfigIdentifier` for dependency injection
     - Adds `EmbedOptionConfig` factory function for creating embed configurations
     - Updates `EmbedOptionService` constructor to automatically register configurations
     - Modifies DI setup to include `StdIdentifier` dependency

4. **Spec Updates**:
   - Updates all block specs to include the new configuration objects
   - Maintains existing functionality while using the new pattern

The main benefit of this refactoring is:
- More declarative configuration approach
- Better separation of concerns
- Reduced runtime registration code
- More predictable initialization of embed options
2025-03-01 16:40:18 +00:00
Saul-Mirone
7527d36547 feat: prevent cycle emit in slot (#10539) 2025-03-01 08:10:41 +00:00
renovate
2b0c91b58b chore: bump up sonner version to v2 (#10535)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [sonner](https://sonner.emilkowal.ski/) ([source](https://redirect.github.com/emilkowalski/sonner)) | [`^1.7.1` -> `^2.0.0`](https://renovatebot.com/diffs/npm/sonner/1.7.4/2.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/sonner/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/sonner/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/sonner/1.7.4/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/sonner/1.7.4/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>emilkowalski/sonner (sonner)</summary>

### [`v2.0.1`](https://redirect.github.com/emilkowalski/sonner/releases/tag/v2.0.1)

[Compare Source](https://redirect.github.com/emilkowalski/sonner/compare/v2.0.0...v2.0.1)

##### What's Changed

-   fix: flush sync error by [@&#8203;emilkowalski](https://redirect.github.com/emilkowalski) in [https://github.com/emilkowalski/sonner/pull/586](https://redirect.github.com/emilkowalski/sonner/pull/586)
-   fix: allow users to select text after swipe gesture by [@&#8203;emilkowalski](https://redirect.github.com/emilkowalski) in [https://github.com/emilkowalski/sonner/pull/587](https://redirect.github.com/emilkowalski/sonner/pull/587)

**Full Changelog**: https://github.com/emilkowalski/sonner/compare/v2.0.0...v2.0.1

### [`v2.0.0`](https://redirect.github.com/emilkowalski/sonner/releases/tag/v2.0.0)

[Compare Source](8665072d34...v2.0.0)

Mostly bug fixes, see more at https://sonner.emilkowal.ski/getting-started.

##### What's Changed

-   sonner v2.0 by [@&#8203;emilkowalski](https://redirect.github.com/emilkowalski) in [https://github.com/emilkowalski/sonner/pull/558](https://redirect.github.com/emilkowalski/sonner/pull/558)

**Full Changelog**: https://github.com/emilkowalski/sonner/compare/v.2.0.0-beta.1...v2.0.0

</details>

---

### Configuration

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

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

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

🔕 **Ignore**: Close this PR and you won't be reminded about 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzYuMiIsInVwZGF0ZWRJblZlciI6IjM5LjE3Ni4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-01 03:28:11 +00:00
renovate
b05315c6fa chore: bump up shiki version to v3 (#10534)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [shiki](https://redirect.github.com/shikijs/shiki) ([source](https://redirect.github.com/shikijs/shiki/tree/HEAD/packages/shiki)) | [`^2.0.0` -> `^3.0.0`](https://renovatebot.com/diffs/npm/shiki/2.5.0/3.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/shiki/3.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/shiki/3.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/shiki/2.5.0/3.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/shiki/2.5.0/3.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>shikijs/shiki (shiki)</summary>

### [`v3.1.0`](https://redirect.github.com/shikijs/shiki/releases/tag/v3.1.0)

[Compare Source](https://redirect.github.com/shikijs/shiki/compare/v3.0.0...v3.1.0)

#####    🚀 Features

-   **engine-js**: Bump deps to work around Safari bug with some grammars  -  by [@&#8203;slevithan](https://redirect.github.com/slevithan) in [https://github.com/shikijs/shiki/issues/941](https://redirect.github.com/shikijs/shiki/issues/941) [<samp>(47205)</samp>](https://redirect.github.com/shikijs/shiki/commit/4720501b)
-   **twoslash**: Upgrade twoslash v0.3, require typescript v5.5+, close [#&#8203;950](https://redirect.github.com/shikijs/shiki/issues/950), close [#&#8203;951](https://redirect.github.com/shikijs/shiki/issues/951)  -  by [@&#8203;antfu](https://redirect.github.com/antfu) in [https://github.com/shikijs/shiki/issues/950](https://redirect.github.com/shikijs/shiki/issues/950) and [https://github.com/shikijs/shiki/issues/951](https://redirect.github.com/shikijs/shiki/issues/951) [<samp>(5c6f9)</samp>](https://redirect.github.com/shikijs/shiki/commit/5c6f9e92)

#####    🐞 Bug Fixes

-   **monaco**: Handle missing settings in textmate theme func  -  by [@&#8203;felipetodev](https://redirect.github.com/felipetodev) in [https://github.com/shikijs/shiki/issues/939](https://redirect.github.com/shikijs/shiki/issues/939) [<samp>(19f75)</samp>](https://redirect.github.com/shikijs/shiki/commit/19f75f66)

#####     [View changes on GitHub](https://redirect.github.com/shikijs/shiki/compare/v3.0.0...v3.1.0)

### [`v3.0.0`](https://redirect.github.com/shikijs/shiki/releases/tag/v3.0.0)

[Compare Source](https://redirect.github.com/shikijs/shiki/compare/v2.5.0...v3.0.0)

#####    🚨 Breaking Changes

-   Remove deprecated apis for v3.0  -  by [@&#8203;antfu](https://redirect.github.com/antfu) in [https://github.com/shikijs/shiki/issues/900](https://redirect.github.com/shikijs/shiki/issues/900) [<samp>(55c15)</samp>](https://redirect.github.com/shikijs/shiki/commit/55c1554b)
-   Remove `node10` typescript resolution support  -  by [@&#8203;userquin](https://redirect.github.com/userquin) in [https://github.com/shikijs/shiki/issues/923](https://redirect.github.com/shikijs/shiki/issues/923) [<samp>(ccb58)</samp>](https://redirect.github.com/shikijs/shiki/commit/ccb5856b)
-   **twoslash**: Make default `moduleResolution` to `bundler`  -  by [@&#8203;antfu](https://redirect.github.com/antfu) in [https://github.com/shikijs/shiki/issues/936](https://redirect.github.com/shikijs/shiki/issues/936) [<samp>(e924d)</samp>](https://redirect.github.com/shikijs/shiki/commit/e924d4b1)

#####    🐞 Bug Fixes

-   **transformers**:
    -   Also remove extra newline token, fix [#&#8203;915](https://redirect.github.com/shikijs/shiki/issues/915)  -  by [@&#8203;antfu](https://redirect.github.com/antfu) in [https://github.com/shikijs/shiki/issues/915](https://redirect.github.com/shikijs/shiki/issues/915) [<samp>(cc591)</samp>](https://redirect.github.com/shikijs/shiki/commit/cc5913eb)
    -   Support matching comments in comments, fix [#&#8203;934](https://redirect.github.com/shikijs/shiki/issues/934)  -  by [@&#8203;antfu](https://redirect.github.com/antfu) in [https://github.com/shikijs/shiki/issues/934](https://redirect.github.com/shikijs/shiki/issues/934) [<samp>(6efc8)</samp>](https://redirect.github.com/shikijs/shiki/commit/6efc8979)
    -   Fix matching indices for word-highlight  -  by [@&#8203;artt](https://redirect.github.com/artt) in [https://github.com/shikijs/shiki/issues/909](https://redirect.github.com/shikijs/shiki/issues/909) [<samp>(57a09)</samp>](https://redirect.github.com/shikijs/shiki/commit/57a09ade)

#####     [View changes on GitHub](https://redirect.github.com/shikijs/shiki/compare/v2.5.0...v3.0.0)

</details>

---

### Configuration

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

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

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

🔕 **Ignore**: Close this PR and you won't be reminded about 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzYuMiIsInVwZGF0ZWRJblZlciI6IjM5LjE3Ni4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-01 02:33:49 +00:00
renovate
0f66f9dff1 chore: bump up fast-xml-parser version to v5 (#10531)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [fast-xml-parser](https://redirect.github.com/NaturalIntelligence/fast-xml-parser) | [`^4.5.0` -> `^5.0.0`](https://renovatebot.com/diffs/npm/fast-xml-parser/4.5.3/5.0.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/fast-xml-parser/5.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/fast-xml-parser/5.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/fast-xml-parser/4.5.3/5.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/fast-xml-parser/4.5.3/5.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>NaturalIntelligence/fast-xml-parser (fast-xml-parser)</summary>

### [`v5.0.8`](https://redirect.github.com/NaturalIntelligence/fast-xml-parser/compare/v5.0.7...d167cb085d1fc3b9cfa40bded295135e9d91809d)

[Compare Source](https://redirect.github.com/NaturalIntelligence/fast-xml-parser/compare/v5.0.7...v5.0.8)

### [`v5.0.7`](https://redirect.github.com/NaturalIntelligence/fast-xml-parser/compare/v5.0.6...v5.0.7)

[Compare Source](https://redirect.github.com/NaturalIntelligence/fast-xml-parser/compare/v5.0.6...v5.0.7)

### [`v5.0.6`](https://redirect.github.com/NaturalIntelligence/fast-xml-parser/compare/v5.0.5...v5.0.6)

[Compare Source](https://redirect.github.com/NaturalIntelligence/fast-xml-parser/compare/v5.0.5...v5.0.6)

### [`v5.0.5`](https://redirect.github.com/NaturalIntelligence/fast-xml-parser/compare/v5.0.4...v5.0.5)

[Compare Source](https://redirect.github.com/NaturalIntelligence/fast-xml-parser/compare/v5.0.4...v5.0.5)

### [`v5.0.4`](https://redirect.github.com/NaturalIntelligence/fast-xml-parser/compare/v5.0.3...v5.0.4)

[Compare Source](https://redirect.github.com/NaturalIntelligence/fast-xml-parser/compare/v5.0.3...v5.0.4)

### [`v5.0.3`](https://redirect.github.com/NaturalIntelligence/fast-xml-parser/compare/v5.0.2...v5.0.3)

[Compare Source](https://redirect.github.com/NaturalIntelligence/fast-xml-parser/compare/v5.0.2...v5.0.3)

### [`v5.0.2`](https://redirect.github.com/NaturalIntelligence/fast-xml-parser/compare/v5.0.1...v5.0.2)

[Compare Source](https://redirect.github.com/NaturalIntelligence/fast-xml-parser/compare/v5.0.1...v5.0.2)

### [`v5.0.1`](https://redirect.github.com/NaturalIntelligence/fast-xml-parser/compare/v5.0.0...v5.0.1)

[Compare Source](https://redirect.github.com/NaturalIntelligence/fast-xml-parser/compare/v5.0.0...v5.0.1)

### [`v5.0.0`](ab00cdc49c...v5.0.0)

[Compare Source](ab00cdc49c...v5.0.0)

</details>

---

### Configuration

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

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

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

🔕 **Ignore**: Close this PR and you won't be reminded about 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzYuMiIsInVwZGF0ZWRJblZlciI6IjM5LjE3Ni4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-02-28 15:58:06 +00:00
renovate
87ca6b1981 chore: bump up react-markdown version to v10 (#10532)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [react-markdown](https://redirect.github.com/remarkjs/react-markdown) | [`^9.0.3` -> `^10.0.0`](https://renovatebot.com/diffs/npm/react-markdown/9.1.0/10.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-markdown/10.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-markdown/10.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-markdown/9.1.0/10.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-markdown/9.1.0/10.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>remarkjs/react-markdown (react-markdown)</summary>

### [`v10.0.0`](https://redirect.github.com/remarkjs/react-markdown/blob/HEAD/changelog.md#1000---2025-02-20)

[Compare Source](https://redirect.github.com/remarkjs/react-markdown/compare/9.1.0...10.0.0)

-   [`aaaa40b`](https://redirect.github.com/remarkjs/react-markdown/commit/aaaa40b)
    Remove support for `className` prop
    **migrate**: see “Remove `className`” below

##### Remove `className`

The `className` prop was removed.
If you want to add classes to some element that wraps the markdown
you can explicitly write that element and add the class to it.
You can then choose yourself which tag name to use and whether to add other
props.

Before:

```js
<Markdown className="markdown-body">{markdown}</Markdown>
```

After:

```js
<div className="markdown-body">
  <Markdown>{markdown}</Markdown>
</div>
```

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzYuMiIsInVwZGF0ZWRJblZlciI6IjM5LjE3Ni4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-02-28 15:43:07 +00:00
renovate
815b437025 chore: bump up nestjs (#10212)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@nestjs-cls/transactional](https://papooch.github.io/nestjs-cls/) ([source](https://redirect.github.com/Papooch/nestjs-cls)) | [`2.4.12` -> `2.5.0`](https://renovatebot.com/diffs/npm/@nestjs-cls%2ftransactional/2.4.12/2.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs-cls%2ftransactional/2.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs-cls%2ftransactional/2.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs-cls%2ftransactional/2.4.12/2.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs-cls%2ftransactional/2.4.12/2.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nestjs-cls/transactional-adapter-prisma](https://papooch.github.io/nestjs-cls/) ([source](https://redirect.github.com/Papooch/nestjs-cls)) | [`1.2.15` -> `1.2.16`](https://renovatebot.com/diffs/npm/@nestjs-cls%2ftransactional-adapter-prisma/1.2.15/1.2.16) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nestjs-cls%2ftransactional-adapter-prisma/1.2.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nestjs-cls%2ftransactional-adapter-prisma/1.2.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nestjs-cls%2ftransactional-adapter-prisma/1.2.15/1.2.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nestjs-cls%2ftransactional-adapter-prisma/1.2.15/1.2.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>Papooch/nestjs-cls (@&#8203;nestjs-cls/transactional)</summary>

### [`v2.5.0`](https://redirect.github.com/Papooch/nestjs-cls/releases/tag/%40nestjs-cls/transactional%402.5.0)

[Compare Source](https://redirect.github.com/Papooch/nestjs-cls/compare/@nestjs-cls/transactional@2.4.12...@nestjs-cls/transactional@2.5.0)

##### Features

-   **transactional**: adds supports propagation mode ([#&#8203;219](https://redirect.github.com/Papooch/nestjs-cls/issues/219)) ([95b1fdb](https://redirect.github.com/Papooch/nestjs-cls/commits/95b1fdb))

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNjcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjE3Ni4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-02-28 15:28:10 +00:00
renovate
9ca8fc895a chore: bump up Rust crate thiserror to v2 (#10529)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [thiserror](https://redirect.github.com/dtolnay/thiserror) | dependencies | major | `1` -> `2` |

---

### Release Notes

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

### [`v2.0.11`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.11)

[Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/2.0.10...2.0.11)

-   Add feature gate to tests that use std ([#&#8203;409](https://redirect.github.com/dtolnay/thiserror/issues/409), [#&#8203;410](https://redirect.github.com/dtolnay/thiserror/issues/410), thanks [@&#8203;Maytha8](https://redirect.github.com/Maytha8))

### [`v2.0.10`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.10)

[Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/2.0.9...2.0.10)

-   Support errors containing a generic type parameter's associated type in a field ([#&#8203;408](https://redirect.github.com/dtolnay/thiserror/issues/408))

### [`v2.0.9`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.9)

[Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/2.0.8...2.0.9)

-   Work around `missing_inline_in_public_items` clippy restriction being triggered in macro-generated code ([#&#8203;404](https://redirect.github.com/dtolnay/thiserror/issues/404))

### [`v2.0.8`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.8)

[Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/2.0.7...2.0.8)

-   Improve support for macro-generated `derive(Error)` call sites ([#&#8203;399](https://redirect.github.com/dtolnay/thiserror/issues/399))

### [`v2.0.7`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.7)

[Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/2.0.6...2.0.7)

-   Work around conflict with #\[deny(clippy::allow_attributes)] ([#&#8203;397](https://redirect.github.com/dtolnay/thiserror/issues/397), thanks [@&#8203;zertosh](https://redirect.github.com/zertosh))

### [`v2.0.6`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.6)

[Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/2.0.5...2.0.6)

-   Suppress deprecation warning on generated From impls ([#&#8203;396](https://redirect.github.com/dtolnay/thiserror/issues/396))

### [`v2.0.5`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.5)

[Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/2.0.4...2.0.5)

-   Prevent deprecation warning on generated impl for deprecated type ([#&#8203;394](https://redirect.github.com/dtolnay/thiserror/issues/394))

### [`v2.0.4`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.4)

[Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/2.0.3...2.0.4)

-   Eliminate needless_lifetimes clippy lint in generated `From` impls ([#&#8203;391](https://redirect.github.com/dtolnay/thiserror/issues/391), thanks [@&#8203;matt-phylum](https://redirect.github.com/matt-phylum))

### [`v2.0.3`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.3)

[Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/2.0.2...2.0.3)

-   Support the same Path field being repeated in both Debug and Display representation in error message ([#&#8203;383](https://redirect.github.com/dtolnay/thiserror/issues/383))
-   Improve error message when a format trait used in error message is not implemented by some field ([#&#8203;384](https://redirect.github.com/dtolnay/thiserror/issues/384))

### [`v2.0.2`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.2)

[Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/2.0.1...2.0.2)

-   Fix hang on invalid input inside #\[error(...)] attribute ([#&#8203;382](https://redirect.github.com/dtolnay/thiserror/issues/382))

### [`v2.0.1`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.1)

[Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/2.0.0...2.0.1)

-   Support errors that contain a dynamically sized final field ([#&#8203;375](https://redirect.github.com/dtolnay/thiserror/issues/375))
-   Improve inference of trait bounds for fields that are interpolated multiple times in an error message ([#&#8203;377](https://redirect.github.com/dtolnay/thiserror/issues/377))

### [`v2.0.0`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.0)

[Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/1.0.69...2.0.0)

#### Breaking changes

-   Referencing keyword-named fields by a raw identifier like `{r#type}` inside a format string is no longer accepted; simply use the unraw name like `{type}` ([#&#8203;347](https://redirect.github.com/dtolnay/thiserror/issues/347))

    This aligns thiserror with the standard library's formatting macros, which gained support for implicit argument capture later than the release of this feature in thiserror 1.x.

    ```rust
    #[derive(Error, Debug)]
    #[error("... {type} ...")]  // Before: {r#type}
    pub struct Error {
        pub r#type: Type,
    }
    ```

-   Trait bounds are no longer inferred on fields whose value is shadowed by an explicit named argument in a format message ([#&#8203;345](https://redirect.github.com/dtolnay/thiserror/issues/345))

    ```rust
    // Before: impl<T: Octal> Display for Error<T>
    // After: impl<T> Display for Error<T>
    #[derive(Error, Debug)]
    #[error("{thing:o}", thing = "...")]
    pub struct Error<T> {
        thing: T,
    }
    ```

-   Tuple structs and tuple variants can no longer use numerical `{0}` `{1}` access at the same time as supplying extra positional arguments for a format message, as this makes it ambiguous whether the number refers to a tuple field vs a different positional arg ([#&#8203;354](https://redirect.github.com/dtolnay/thiserror/issues/354))

    ```rust
    #[derive(Error, Debug)]
    #[error("ambiguous: {0} {}", $N)]
    //                  ^^^ Not allowed, use #[error("... {0} {n}", n = $N)]
    pub struct TupleError(i32);
    ```

-   Code containing invocations of thiserror's `derive(Error)` must now have a direct dependency on the `thiserror` crate regardless of the error data structure's contents ([#&#8203;368](https://redirect.github.com/dtolnay/thiserror/issues/368), [#&#8203;369](https://redirect.github.com/dtolnay/thiserror/issues/369), [#&#8203;370](https://redirect.github.com/dtolnay/thiserror/issues/370), [#&#8203;372](https://redirect.github.com/dtolnay/thiserror/issues/372))

#### Features

-   Support disabling thiserror's standard library dependency by disabling the default "std" Cargo feature: `thiserror = { version = "2", default-features = false }` ([#&#8203;373](https://redirect.github.com/dtolnay/thiserror/issues/373))

-   Support using `r#source` as field name to opt out of a field named "source" being treated as an error's `Error::source()` ([#&#8203;350](https://redirect.github.com/dtolnay/thiserror/issues/350))

    ```rust
    #[derive(Error, Debug)]
    #[error("{source} ==> {destination}")]
    pub struct Error {
        r#source: char,
        destination: char,
    }

    let error = Error { source: 'S', destination: 'D' };
    ```

-   Infinite recursion in a generated Display impl now produces an `unconditional_recursion` warning ([#&#8203;359](https://redirect.github.com/dtolnay/thiserror/issues/359))

    ```rust
    #[derive(Error, Debug)]
    #[error("??? {self}")]
    pub struct Error;
    ```

-   A new attribute `#[error(fmt = path::to::myfmt)]` can be used to write formatting logic for an enum variant out-of-line ([#&#8203;367](https://redirect.github.com/dtolnay/thiserror/issues/367))

    ```rust
    #[derive(Error, Debug)]
    pub enum Error {
        #[error(fmt = demo_fmt)]
        Demo { code: u16, message: Option<String> },
    }

    fn demo_fmt(code: &u16, message: &Option<String>, formatter: &mut fmt::Formatter) -> fmt::Result {
        write!(formatter, "{code}")?;
        if let Some(msg) = message {
            write!(formatter, " - {msg}")?;
        }
        Ok(())
    }
    ```

-   Enums with an enum-level format message are now able to have individual variants that are `transparent` to supersede the enum-level message ([#&#8203;366](https://redirect.github.com/dtolnay/thiserror/issues/366))

    ```rust
    #[derive(Error, Debug)]
    #[error("my error {0}")]
    pub enum Error {
        Json(#[from] serde_json::Error),
        Yaml(#[from] serde_yaml::Error),
        #[error(transparent)]
        Other(#[from] anyhow::Error),
    }
    ```

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzYuMiIsInVwZGF0ZWRJblZlciI6IjM5LjE3Ni4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-02-28 15:13:05 +00:00
renovate
54bf4b05f4 chore: bump up copy-webpack-plugin version to v13 (#10530)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [copy-webpack-plugin](https://redirect.github.com/webpack-contrib/copy-webpack-plugin) | [`^12.0.2` -> `^13.0.0`](https://renovatebot.com/diffs/npm/copy-webpack-plugin/12.0.2/13.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/copy-webpack-plugin/13.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/copy-webpack-plugin/13.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/copy-webpack-plugin/12.0.2/13.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/copy-webpack-plugin/12.0.2/13.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>webpack-contrib/copy-webpack-plugin (copy-webpack-plugin)</summary>

### [`v13.0.0`](https://redirect.github.com/webpack-contrib/copy-webpack-plugin/blob/HEAD/CHANGELOG.md#1300-2025-02-27)

[Compare Source](https://redirect.github.com/webpack-contrib/copy-webpack-plugin/compare/v12.0.2...v13.0.0)

##### ⚠ BREAKING CHANGES

-   switch from `globby` and `fast-glob` to `tinyglobby` ([#&#8203;795](https://redirect.github.com/webpack-contrib/copy-webpack-plugin/issues/795)) ([19fd937](19fd937705))

For more information please visit [`tinyglobby`](https://redirect.github.com/SuperchupuDev/tinyglobby).

The breaking change only affects the developer who used these options - [`gitignore`](https://redirect.github.com/sindresorhus/globby#gitignore) and [`ignoreFiles`](https://redirect.github.com/sindresorhus/globby#gitignore) in the `globOptions` option.

Please migrate to the [`ignore`](https://redirect.github.com/SuperchupuDev/tinyglobby#options) option.

##### Bug Fixes

-   concurrency option is limited to files now ([#&#8203;796](https://redirect.github.com/webpack-contrib/copy-webpack-plugin/issues/796)) ([d42469c](d42469cfdc))
-   the order of patterns provided by the developer is respected

##### [12.0.2](https://redirect.github.com/webpack-contrib/copy-webpack-plugin/compare/v12.0.1...v12.0.2) (2024-01-17)

##### Bug Fixes

-   improve perf ([#&#8203;764](https://redirect.github.com/webpack-contrib/copy-webpack-plugin/issues/764)) ([a7379a9](a7379a9907))

##### [12.0.1](https://redirect.github.com/webpack-contrib/copy-webpack-plugin/compare/v12.0.0...v12.0.1) (2024-01-11)

##### Bug Fixes

-   improve perf ([#&#8203;760](https://redirect.github.com/webpack-contrib/copy-webpack-plugin/issues/760)) ([55036ab](55036ab503))

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzYuMiIsInVwZGF0ZWRJblZlciI6IjM5LjE3Ni4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-02-28 14:48:52 +00:00
renovate
4012732058 chore: bump up Rust crate criterion2 to v3 (#10527)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [criterion2](https://bheisler.github.io/criterion.rs/book/index.html) ([source](https://redirect.github.com/Boshen/criterion2.rs)) | workspace.dependencies | major | `2` -> `3` |

---

### Release Notes

<details>
<summary>Boshen/criterion2.rs (criterion2)</summary>

### [`v3.0.0`](https://redirect.github.com/Boshen/criterion2.rs/releases/tag/v3.0.0)

[Compare Source](https://redirect.github.com/Boshen/criterion2.rs/compare/v2.0.0...v3.0.0)

##### Other

-   Make filters to look for a substring unless exact is given ([#&#8203;65](https://redirect.github.com/Boshen/criterion2.rs/pull/65))
-   *(deps)* update rust crates ([#&#8203;64](https://redirect.github.com/Boshen/criterion2.rs/pull/64))
-   *(deps)* update rust crate serde_json to 1.0.132 ([#&#8203;63](https://redirect.github.com/Boshen/criterion2.rs/pull/63))
-   *(deps)* update dependency rust to v1.82.0 ([#&#8203;62](https://redirect.github.com/Boshen/criterion2.rs/pull/62))
-   *(deps)* update rust crate bpaf to 0.9.15 ([#&#8203;61](https://redirect.github.com/Boshen/criterion2.rs/pull/61))
-   *(deps)* update rust crate futures to 0.3.31 ([#&#8203;60](https://redirect.github.com/Boshen/criterion2.rs/pull/60))
-   *(deps)* update rust crate tempfile to 3.13.0 ([#&#8203;59](https://redirect.github.com/Boshen/criterion2.rs/pull/59))
-   *(deps)* update rust crates ([#&#8203;57](https://redirect.github.com/Boshen/criterion2.rs/pull/57))

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzYuMiIsInVwZGF0ZWRJblZlciI6IjM5LjE3Ni4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-02-28 14:31:57 +00:00
renovate
5c16b803b7 chore: bump up @sentry/react version to v9 (#10064)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://redirect.github.com/getsentry/sentry-javascript)) | [`^8.44.0` -> `^9.0.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.54.0/9.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/9.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/9.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/8.54.0/9.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/8.54.0/9.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>getsentry/sentry-javascript (@&#8203;sentry/react)</summary>

### [`v9.0.1`](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.0.1)

[Compare Source](https://redirect.github.com/getsentry/sentry-javascript/compare/9.0.0...9.0.1)

-   ref(flags): rename unleash integration param ([#&#8203;15343](https://redirect.github.com/getsentry/sentry-javascript/pull/15343))

##### Bundle size 📦

| Path                                                             | Size              |
| ---------------------------------------------------------------- | ----------------- |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser)                                                  | 22.9 KB   |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) - with treeshaking flags                         | 22.69 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing)                                  | 35.77 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay)                          | 72.65 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay) - with treeshaking flags | 66.13 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay with Canvas)              | 76.9 KB   |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay, Feedback)                | 89.64 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Feedback)                                 | 39.86 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. sendFeedback)                             | 27.53 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. FeedbackAsync)                            | 32.31 KB  |
| [@&#8203;sentry/react](https://redirect.github.com/sentry/react)                                                    | 24.74 KB  |
| [@&#8203;sentry/react](https://redirect.github.com/sentry/react) (incl. Tracing)                                    | 37.67 KB  |
| [@&#8203;sentry/vue](https://redirect.github.com/sentry/vue)                                                      | 27.09 KB  |
| [@&#8203;sentry/vue](https://redirect.github.com/sentry/vue) (incl. Tracing)                                      | 37.47 KB  |
| [@&#8203;sentry/svelte](https://redirect.github.com/sentry/svelte)                                                   | 22.94 KB  |
| CDN Bundle                                                       | 24.13 KB  |
| CDN Bundle (incl. Tracing)                                       | 35.84 KB  |
| CDN Bundle (incl. Tracing, Replay)                               | 70.55 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback)                     | 75.69 KB  |
| CDN Bundle - uncompressed                                        | 70.59 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                        | 106.46 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                | 217.52 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed      | 230.09 KB |
| [@&#8203;sentry/nextjs](https://redirect.github.com/sentry/nextjs) (client)                                          | 38.63 KB  |
| [@&#8203;sentry/sveltekit](https://redirect.github.com/sentry/sveltekit) (client)                                       | 36.2 KB   |
| [@&#8203;sentry/node](https://redirect.github.com/sentry/node)                                                     | 156.33 KB |
| [@&#8203;sentry/node](https://redirect.github.com/sentry/node) - without tracing                                   | 97.31 KB  |
| [@&#8203;sentry/aws-serverless](https://redirect.github.com/sentry/aws-serverless)                                           | 106.82 KB |

### [`v9.0.0`](https://redirect.github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#900)

[Compare Source](https://redirect.github.com/getsentry/sentry-javascript/compare/8.54.0...9.0.0)

Version `9.0.0` marks a release of the Sentry JavaScript SDKs that contains breaking changes.
The goal of this release is to trim down on unused and potentially confusing APIs, prepare the SDKs for future framework versions to build deeper instrumentation, and remove old polyfills to reduce the packages' size.

##### How To Upgrade

Please carefully read through the migration guide in the Sentry docs on how to upgrade from version 8 to version 9.
Make sure to select your specific platform/framework in the top left corner: https://docs.sentry.io/platforms/javascript/migration/v8-to-v9/

A comprehensive migration guide outlining all changes for all the frameworks can be found within the Sentry JavaScript SDK Repository: https://github.com/getsentry/sentry-javascript/blob/develop/MIGRATION.md

##### Breaking Changes

-   doc(deno)!: Make Deno v2 the minimum supported version ([#&#8203;15085](https://redirect.github.com/getsentry/sentry-javascript/issues/15085))
-   feat!: Bump typescript to `~5.0.0` ([#&#8203;14758](https://redirect.github.com/getsentry/sentry-javascript/issues/14758))
-   feat!: Drop `nitro-utils` package ([#&#8203;14998](https://redirect.github.com/getsentry/sentry-javascript/issues/14998))
-   feat!: Only collect ip addresses with `sendDefaultPii: true` ([#&#8203;15084](https://redirect.github.com/getsentry/sentry-javascript/issues/15084))
-   feat!: Remove `autoSessionTracking` option ([#&#8203;14802](https://redirect.github.com/getsentry/sentry-javascript/issues/14802))
-   feat!: Remove `enableTracing` ([#&#8203;15078](https://redirect.github.com/getsentry/sentry-javascript/issues/15078))
-   feat!: Remove `getCurrentHub()`, `Hub`, and `getCurrentHubShim()` ([#&#8203;15122](https://redirect.github.com/getsentry/sentry-javascript/issues/15122))
-   feat!: Remove `spanId` from propagation context ([#&#8203;14733](https://redirect.github.com/getsentry/sentry-javascript/issues/14733))
-   feat!: Remove deprecated and unused code ([#&#8203;15077](https://redirect.github.com/getsentry/sentry-javascript/issues/15077))
-   feat!: Remove metrics API from the JS SDK ([#&#8203;14745](https://redirect.github.com/getsentry/sentry-javascript/issues/14745))
-   feat!: Require Node `>=18` as minimum supported version ([#&#8203;14749](https://redirect.github.com/getsentry/sentry-javascript/issues/14749))
-   feat(astro)!: Respect user-specified source map setting ([#&#8203;14941](https://redirect.github.com/getsentry/sentry-javascript/issues/14941))
-   feat(browser)!: Remove `captureUserFeedback` method ([#&#8203;14820](https://redirect.github.com/getsentry/sentry-javascript/issues/14820))
-   feat(build)!: Drop pre-ES2020 polyfills ([#&#8203;14882](https://redirect.github.com/getsentry/sentry-javascript/issues/14882))
-   feat(core)!: Add `normalizedRequest` to `samplingContext` ([#&#8203;14902](https://redirect.github.com/getsentry/sentry-javascript/issues/14902))
-   feat(core)!: Always use session from isolation scope ([#&#8203;14860](https://redirect.github.com/getsentry/sentry-javascript/issues/14860))
-   feat(core)!: Pass root spans to `beforeSendSpan` and disallow returning `null` ([#&#8203;14831](https://redirect.github.com/getsentry/sentry-javascript/issues/14831))
-   feat(core)!: Remove `BAGGAGE_HEADER_NAME` export ([#&#8203;14785](https://redirect.github.com/getsentry/sentry-javascript/issues/14785))
-   feat(core)!: Remove `TransactionNamingScheme` type ([#&#8203;14865](https://redirect.github.com/getsentry/sentry-javascript/issues/14865))
-   feat(core)!: Remove `addOpenTelemetryInstrumentation` method ([#&#8203;14792](https://redirect.github.com/getsentry/sentry-javascript/issues/14792))
-   feat(core)!: Remove `arrayify` method ([#&#8203;14782](https://redirect.github.com/getsentry/sentry-javascript/issues/14782))
-   feat(core)!: Remove `debugIntegration` and `sessionTimingIntegration` ([#&#8203;14747](https://redirect.github.com/getsentry/sentry-javascript/issues/14747))
-   feat(core)!: Remove `flatten` method ([#&#8203;14784](https://redirect.github.com/getsentry/sentry-javascript/issues/14784))
-   feat(core)!: Remove `getDomElement` method ([#&#8203;14797](https://redirect.github.com/getsentry/sentry-javascript/issues/14797))
-   feat(core)!: Remove `makeFifoCache` method ([#&#8203;14786](https://redirect.github.com/getsentry/sentry-javascript/issues/14786))
-   feat(core)!: Remove `memoBuilder` export & `WeakSet` fallback ([#&#8203;14859](https://redirect.github.com/getsentry/sentry-javascript/issues/14859))
-   feat(core)!: Remove `transactionContext` from `samplingContext` ([#&#8203;14904](https://redirect.github.com/getsentry/sentry-javascript/issues/14904))
-   feat(core)!: Remove `urlEncode` method ([#&#8203;14783](https://redirect.github.com/getsentry/sentry-javascript/issues/14783))
-   feat(core)!: Remove deprecated `Request` type ([#&#8203;14858](https://redirect.github.com/getsentry/sentry-javascript/issues/14858))
-   feat(core)!: Remove deprecated request data methods ([#&#8203;14896](https://redirect.github.com/getsentry/sentry-javascript/issues/14896))
-   feat(core)!: Remove standalone `Client` interface & deprecate `BaseClient` ([#&#8203;14800](https://redirect.github.com/getsentry/sentry-javascript/issues/14800))
-   feat(core)!: Remove validSeverityLevels export ([#&#8203;14765](https://redirect.github.com/getsentry/sentry-javascript/issues/14765))
-   feat(core)!: Stop accepting `event` as argument for `recordDroppedEvent` ([#&#8203;14999](https://redirect.github.com/getsentry/sentry-javascript/issues/14999))
-   feat(core)!: Stop setting user in `requestDataIntegration` ([#&#8203;14898](https://redirect.github.com/getsentry/sentry-javascript/issues/14898))
-   feat(core)!: Type sdkProcessingMetadata more strictly ([#&#8203;14855](https://redirect.github.com/getsentry/sentry-javascript/issues/14855))
-   feat(core)!: Update `hasTracingEnabled` to consider empty trace config ([#&#8203;14857](https://redirect.github.com/getsentry/sentry-javascript/issues/14857))
-   feat(core)!: Update `requestDataIntegration` handling ([#&#8203;14806](https://redirect.github.com/getsentry/sentry-javascript/issues/14806))
-   feat(deno)!: Remove deno prepack ([#&#8203;14829](https://redirect.github.com/getsentry/sentry-javascript/issues/14829))
-   feat(ember)!: Officially drop support for ember `<=3.x` ([#&#8203;15032](https://redirect.github.com/getsentry/sentry-javascript/issues/15032))
-   feat(nestjs)!: Move `nestIntegration` into nest sdk and remove `setupNestErrorHandler` ([#&#8203;14751](https://redirect.github.com/getsentry/sentry-javascript/issues/14751))
-   feat(nestjs)!: Remove `@WithSentry` decorator ([#&#8203;14762](https://redirect.github.com/getsentry/sentry-javascript/issues/14762))
-   feat(nestjs)!: Remove `SentryService` ([#&#8203;14759](https://redirect.github.com/getsentry/sentry-javascript/issues/14759))
-   feat(nextjs)!: Don't rely on Next.js Build ID for release names ([#&#8203;14939](https://redirect.github.com/getsentry/sentry-javascript/issues/14939))
-   feat(nextjs)!: Remove `experimental_captureRequestError` ([#&#8203;14607](https://redirect.github.com/getsentry/sentry-javascript/issues/14607))
-   feat(nextjs)!: Respect user-provided source map generation settings ([#&#8203;14956](https://redirect.github.com/getsentry/sentry-javascript/issues/14956))
-   feat(node)!: Add support for Prisma v6 and drop v5 support ([#&#8203;15120](https://redirect.github.com/getsentry/sentry-javascript/issues/15120))
-   feat(node)!: Avoid http spans by default for custom OTEL setups ([#&#8203;14678](https://redirect.github.com/getsentry/sentry-javascript/issues/14678))
-   feat(node)!: Collect request sessions via HTTP instrumentation ([#&#8203;14658](https://redirect.github.com/getsentry/sentry-javascript/issues/14658))
-   feat(node)!: Remove `processThreadBreadcrumbIntegration` ([#&#8203;14666](https://redirect.github.com/getsentry/sentry-javascript/issues/14666))
-   feat(node)!: Remove fine grained `registerEsmLoaderHooks` ([#&#8203;15002](https://redirect.github.com/getsentry/sentry-javascript/issues/15002))
-   feat(opentelemetry)!: Exclusively pass root spans through sampling pipeline ([#&#8203;14951](https://redirect.github.com/getsentry/sentry-javascript/issues/14951))
-   feat(pinia)!: Include state of all stores in breadcrumb ([#&#8203;15312](https://redirect.github.com/getsentry/sentry-javascript/issues/15312))
-   feat(react)!: Raise minimum supported TanStack Router version to `1.63.0` ([#&#8203;15030](https://redirect.github.com/getsentry/sentry-javascript/issues/15030))
-   feat(react)!: Remove deprecated `getNumberOfUrlSegments` method ([#&#8203;14744](https://redirect.github.com/getsentry/sentry-javascript/issues/14744))
-   feat(react)!: Remove deprecated react router methods ([#&#8203;14743](https://redirect.github.com/getsentry/sentry-javascript/issues/14743))
-   feat(react)!: Update `ErrorBoundary` `componentStack` type ([#&#8203;14742](https://redirect.github.com/getsentry/sentry-javascript/issues/14742))
-   feat(remix)!: Drop support for Remix v1 ([#&#8203;14988](https://redirect.github.com/getsentry/sentry-javascript/issues/14988))
-   feat(remix)!: Remove `autoInstrumentRemix` option ([#&#8203;15074](https://redirect.github.com/getsentry/sentry-javascript/issues/15074))
-   feat(solidstart)!: Default to `--import` setup and add `autoInjectServerSentry` ([#&#8203;14862](https://redirect.github.com/getsentry/sentry-javascript/issues/14862))
-   feat(solidstart)!: No longer export `sentrySolidStartVite` ([#&#8203;15143](https://redirect.github.com/getsentry/sentry-javascript/issues/15143))
-   feat(solidstart)!: Respect user-provided source map setting ([#&#8203;14979](https://redirect.github.com/getsentry/sentry-javascript/issues/14979))
-   feat(svelte)!: Disable component update tracking by default ([#&#8203;15265](https://redirect.github.com/getsentry/sentry-javascript/issues/15265))
-   feat(sveltekit)!: Drop support for SvelteKit [@&#8203;1](https://redirect.github.com/1).x ([#&#8203;15037](https://redirect.github.com/getsentry/sentry-javascript/issues/15037))
-   feat(sveltekit)!: Remove `fetchProxyScriptNonce` option ([#&#8203;15123](https://redirect.github.com/getsentry/sentry-javascript/issues/15123))
-   feat(sveltekit)!: Respect user-provided source map generation settings ([#&#8203;14886](https://redirect.github.com/getsentry/sentry-javascript/issues/14886))
-   feat(utils)!: Remove `@sentry/utils` package ([#&#8203;14830](https://redirect.github.com/getsentry/sentry-javascript/issues/14830))
-   feat(vue)!: Remove configuring Vue tracing options anywhere else other than through the `vueIntegration`'s `tracingOptions` option ([#&#8203;14856](https://redirect.github.com/getsentry/sentry-javascript/issues/14856))
-   feat(vue/nuxt)!: No longer create `"update"` spans for component tracking by default ([#&#8203;14602](https://redirect.github.com/getsentry/sentry-javascript/issues/14602))
-   fix(node)!: Fix name of `vercelAIIntegration` to `VercelAI` ([#&#8203;15298](https://redirect.github.com/getsentry/sentry-javascript/issues/15298))
-   fix(vue)!: Remove `logError` from `vueIntegration` ([#&#8203;14958](https://redirect.github.com/getsentry/sentry-javascript/issues/14958))
-   ref!: Don't polyfill optional chaining and nullish coalescing ([#&#8203;14603](https://redirect.github.com/getsentry/sentry-javascript/issues/14603))
-   ref(core)!: Cleanup internal types, including `ReportDialogOptions` ([#&#8203;14861](https://redirect.github.com/getsentry/sentry-javascript/issues/14861))
-   ref(core)!: Mark exceptions from `captureConsoleIntegration` as `handled: true` by default ([#&#8203;14734](https://redirect.github.com/getsentry/sentry-javascript/issues/14734))
-   ref(core)!: Move `shutdownTimeout` option type from core to node ([#&#8203;15217](https://redirect.github.com/getsentry/sentry-javascript/issues/15217))
-   ref(core)!: Remove `Scope` type interface in favor of using `Scope` class ([#&#8203;14721](https://redirect.github.com/getsentry/sentry-javascript/issues/14721))
-   ref(core)!: Remove backwards compatible SentryCarrier type ([#&#8203;14697](https://redirect.github.com/getsentry/sentry-javascript/issues/14697))

##### Other Changes

-   chore(browser): Export ipAddress helpers for use in other SDKs ([#&#8203;15079](https://redirect.github.com/getsentry/sentry-javascript/issues/15079))
-   deps(node): Bump `import-in-the-middle` to `1.12.0` ([#&#8203;14796](https://redirect.github.com/getsentry/sentry-javascript/issues/14796))
-   feat(aws): Rename AWS lambda layer name to `SentryNodeServerlessSDKv9` ([#&#8203;14927](https://redirect.github.com/getsentry/sentry-javascript/issues/14927))
-   feat(aws-serverless): Upgrade OTEL deps ([#&#8203;15091](https://redirect.github.com/getsentry/sentry-javascript/issues/15091))
-   feat(browser): Set `user.ip_address` explicitly to `{{auto}}` ([#&#8203;15008](https://redirect.github.com/getsentry/sentry-javascript/issues/15008))
-   feat(core): Add `inheritOrSampleWith` helper to `traceSampler` ([#&#8203;15277](https://redirect.github.com/getsentry/sentry-javascript/issues/15277))
-   feat(core): Emit client reports for unsampled root spans on span start ([#&#8203;14936](https://redirect.github.com/getsentry/sentry-javascript/issues/14936))
-   feat(core): Rename `hasTracingEnabled` to `hasSpansEnabled` ([#&#8203;15309](https://redirect.github.com/getsentry/sentry-javascript/issues/15309))
-   feat(core): Streamline `SpanJSON` type ([#&#8203;14693](https://redirect.github.com/getsentry/sentry-javascript/issues/14693))
-   feat(deno): Don't bundle `@sentry/deno` ([#&#8203;15014](https://redirect.github.com/getsentry/sentry-javascript/issues/15014))
-   feat(deno): Don't publish to `deno.land` ([#&#8203;15016](https://redirect.github.com/getsentry/sentry-javascript/issues/15016))
-   feat(deno): Stop inlining types from core ([#&#8203;14729](https://redirect.github.com/getsentry/sentry-javascript/issues/14729))
-   feat(deps): Bump [@&#8203;opentelemetry/instrumentation-amqplib](https://redirect.github.com/opentelemetry/instrumentation-amqplib) from 0.45.0 to 0.46.0 ([#&#8203;14835](https://redirect.github.com/getsentry/sentry-javascript/issues/14835))
-   feat(deps): Bump [@&#8203;opentelemetry/instrumentation-aws-lambda](https://redirect.github.com/opentelemetry/instrumentation-aws-lambda) from 0.49.0 to 0.50.0 ([#&#8203;14833](https://redirect.github.com/getsentry/sentry-javascript/issues/14833))
-   feat(deps): Bump [@&#8203;opentelemetry/instrumentation-express](https://redirect.github.com/opentelemetry/instrumentation-express) from 0.46.0 to 0.47.0 ([#&#8203;14834](https://redirect.github.com/getsentry/sentry-javascript/issues/14834))
-   feat(deps): Bump [@&#8203;opentelemetry/instrumentation-mysql2](https://redirect.github.com/opentelemetry/instrumentation-mysql2) from 0.44.0 to 0.45.0 ([#&#8203;14836](https://redirect.github.com/getsentry/sentry-javascript/issues/14836))
-   feat(deps): Bump [@&#8203;opentelemetry/propagation-utils](https://redirect.github.com/opentelemetry/propagation-utils) from 0.30.14 to 0.30.15 ([#&#8203;14832](https://redirect.github.com/getsentry/sentry-javascript/issues/14832))
-   feat(deps): bump [@&#8203;opentelemetry/context-async-hooks](https://redirect.github.com/opentelemetry/context-async-hooks) from 1.29.0 to 1.30.0 ([#&#8203;14869](https://redirect.github.com/getsentry/sentry-javascript/issues/14869))
-   feat(deps): bump [@&#8203;opentelemetry/instrumentation-generic-pool](https://redirect.github.com/opentelemetry/instrumentation-generic-pool) from 0.42.0 to 0.43.0 ([#&#8203;14870](https://redirect.github.com/getsentry/sentry-javascript/issues/14870))
-   feat(deps): bump [@&#8203;opentelemetry/instrumentation-knex](https://redirect.github.com/opentelemetry/instrumentation-knex) from 0.43.0 to 0.44.0 ([#&#8203;14872](https://redirect.github.com/getsentry/sentry-javascript/issues/14872))
-   feat(deps): bump [@&#8203;opentelemetry/instrumentation-mongodb](https://redirect.github.com/opentelemetry/instrumentation-mongodb) from 0.50.0 to 0.51.0 ([#&#8203;14871](https://redirect.github.com/getsentry/sentry-javascript/issues/14871))
-   feat(deps): bump [@&#8203;opentelemetry/instrumentation-tedious](https://redirect.github.com/opentelemetry/instrumentation-tedious) from 0.17.0 to 0.18.0 ([#&#8203;14868](https://redirect.github.com/getsentry/sentry-javascript/issues/14868))
-   feat(deps): bump [@&#8203;sentry/cli](https://redirect.github.com/sentry/cli) from 2.39.1 to 2.41.1 ([#&#8203;15173](https://redirect.github.com/getsentry/sentry-javascript/issues/15173))
-   feat(flags): Add Statsig browser integration ([#&#8203;15319](https://redirect.github.com/getsentry/sentry-javascript/issues/15319))
-   feat(gatsby): Preserve user-provided source map settings ([#&#8203;15006](https://redirect.github.com/getsentry/sentry-javascript/issues/15006))
-   feat(nestjs): Remove `SentryTracingInterceptor`, `SentryGlobalGraphQLFilter`, `SentryGlobalGenericFilter` ([#&#8203;14761](https://redirect.github.com/getsentry/sentry-javascript/issues/14761))
-   feat(nextjs): Directly forward `sourcemaps.disable` to webpack plugin ([#&#8203;15109](https://redirect.github.com/getsentry/sentry-javascript/issues/15109))
-   feat(node): Add `processSessionIntegration` ([#&#8203;15081](https://redirect.github.com/getsentry/sentry-javascript/issues/15081))
-   feat(node): Add missing `vercelAIIntegration` export ([#&#8203;15318](https://redirect.github.com/getsentry/sentry-javascript/issues/15318))
-   feat(node): Capture exceptions from `worker_threads` ([#&#8203;15105](https://redirect.github.com/getsentry/sentry-javascript/issues/15105))
-   feat(nuxt): Add enabled to disable Sentry module ([#&#8203;15337](https://redirect.github.com/getsentry/sentry-javascript/issues/15337))
-   feat(nuxt): add `silent`, `errorHandler`, `release` to `SourceMapsOptions` ([#&#8203;15246](https://redirect.github.com/getsentry/sentry-javascript/issues/15246))
-   feat(profiling-node): Use `@sentry-internal/node-cpu-profiler` ([#&#8203;15208](https://redirect.github.com/getsentry/sentry-javascript/issues/15208))
-   feat(replay): Update fflate to 0.8.2 ([#&#8203;14867](https://redirect.github.com/getsentry/sentry-javascript/issues/14867))
-   feat(solidstart): Add `autoInjectServerSentry: 'experimental_dynamic-import` ([#&#8203;14863](https://redirect.github.com/getsentry/sentry-javascript/issues/14863))
-   feat(sveltekit): Only inject fetch proxy script for SvelteKit < 2.16.0 ([#&#8203;15126](https://redirect.github.com/getsentry/sentry-javascript/issues/15126))
-   feat(user feedback): Adds draw tool for UF screenshot annotations ([#&#8203;15062](https://redirect.github.com/getsentry/sentry-javascript/issues/15062))
-   feat(user feedback): Adds toolbar for cropping and annotating ([#&#8203;15282](https://redirect.github.com/getsentry/sentry-javascript/issues/15282))
-   feat: Avoid class fields all-together ([#&#8203;14887](https://redirect.github.com/getsentry/sentry-javascript/issues/14887))
-   feat: Only emit `__esModule` properties in CJS modules when there is a default export ([#&#8203;15018](https://redirect.github.com/getsentry/sentry-javascript/issues/15018))
-   feat: Pass `parentSampleRate` to `tracesSampler` ([#&#8203;15024](https://redirect.github.com/getsentry/sentry-javascript/issues/15024))
-   feat: Propagate and use a sampling random ([#&#8203;14989](https://redirect.github.com/getsentry/sentry-javascript/issues/14989))
-   fix(browser): Remove `browserPerformanceTimeOrigin` side-effects ([#&#8203;14025](https://redirect.github.com/getsentry/sentry-javascript/issues/14025))
-   fix(core): Ensure debugIds are applied to all exceptions in an event ([#&#8203;14881](https://redirect.github.com/getsentry/sentry-javascript/issues/14881))
-   fix(core): Fork scope if custom scope is passed to `startSpanManual` ([#&#8203;14901](https://redirect.github.com/getsentry/sentry-javascript/issues/14901))
-   fix(core): Fork scope if custom scope is passed to `startSpan` ([#&#8203;14900](https://redirect.github.com/getsentry/sentry-javascript/issues/14900))
-   fix(core): Only fall back to `sendDefaultPii` for IP collection in `requestDataIntegration` ([#&#8203;15125](https://redirect.github.com/getsentry/sentry-javascript/issues/15125))
-   fix(nextjs): Flush with `waitUntil` in `captureRequestError` ([#&#8203;15146](https://redirect.github.com/getsentry/sentry-javascript/issues/15146))
-   fix(nextjs): Use batched devserver symbolication endpoint ([#&#8203;15335](https://redirect.github.com/getsentry/sentry-javascript/issues/15335))
-   fix(node): Don't leak `__span` property into breadcrumbs ([#&#8203;14798](https://redirect.github.com/getsentry/sentry-javascript/issues/14798))
-   fix(node): Ensure `httpIntegration` propagates traces ([#&#8203;15233](https://redirect.github.com/getsentry/sentry-javascript/issues/15233))
-   fix(node): Fix sample rand propagation for negative sampling decisions ([#&#8203;15045](https://redirect.github.com/getsentry/sentry-javascript/issues/15045))
-   fix(node): Missing `release` from ANR sessions ([#&#8203;15138](https://redirect.github.com/getsentry/sentry-javascript/issues/15138))
-   fix(node): Set the correct fallback URL fields for outgoing https requests if they are not defined ([#&#8203;15316](https://redirect.github.com/getsentry/sentry-javascript/issues/15316))
-   fix(nuxt): Detect Azure Function runtime for flushing with timeout ([#&#8203;15288](https://redirect.github.com/getsentry/sentry-javascript/issues/15288))
-   fix(react): From location can be undefined in Tanstack Router Instrumentation ([#&#8203;15235](https://redirect.github.com/getsentry/sentry-javascript/issues/15235))
-   fix(react): Import default for hoistNonReactStatics ([#&#8203;15238](https://redirect.github.com/getsentry/sentry-javascript/issues/15238))
-   fix(react): Support lazy-loaded routes and components. ([#&#8203;15039](https://redirect.github.com/getsentry/sentry-javascript/issues/15039))
-   fix(solidstart): Do not copy release-injection map file ([#&#8203;15302](https://redirect.github.com/getsentry/sentry-javascript/issues/15302))
-   ref(browser): Improve active span handling for `browserTracingIntegration` ([#&#8203;14959](https://redirect.github.com/getsentry/sentry-javascript/issues/14959))
-   ref(browser): Improve setting of propagation scope for navigation spans ([#&#8203;15108](https://redirect.github.com/getsentry/sentry-javascript/issues/15108))
-   ref(browser): Skip browser extension warning in non-debug builds ([#&#8203;15310](https://redirect.github.com/getsentry/sentry-javascript/issues/15310))
-   ref(browser): Update `supportsHistory` check & history usage ([#&#8203;14696](https://redirect.github.com/getsentry/sentry-javascript/issues/14696))
-   ref(core): Ensure non-recording root spans have frozen DSC ([#&#8203;14964](https://redirect.github.com/getsentry/sentry-javascript/issues/14964))
-   ref(core): Log debug message when capturing error events ([#&#8203;14701](https://redirect.github.com/getsentry/sentry-javascript/issues/14701))
-   ref(core): Move log message about invalid sample rate ([#&#8203;15215](https://redirect.github.com/getsentry/sentry-javascript/issues/15215))
-   ref(node): Streamline check for adding performance integrations ([#&#8203;15021](https://redirect.github.com/getsentry/sentry-javascript/issues/15021))
-   ref(react): Adapt tanstack router type ([#&#8203;15241](https://redirect.github.com/getsentry/sentry-javascript/issues/15241))
-   ref(svelte): Remove SvelteKit detection ([#&#8203;15313](https://redirect.github.com/getsentry/sentry-javascript/issues/15313))
-   ref(sveltekit): Clean up sub-request check ([#&#8203;15251](https://redirect.github.com/getsentry/sentry-javascript/issues/15251))

Work in this release was contributed by [@&#8203;aloisklink](https://redirect.github.com/aloisklink), [@&#8203;arturovt](https://redirect.github.com/arturovt), [@&#8203;aryanvdesh](https://redirect.github.com/aryanvdesh), [@&#8203;benjick](https://redirect.github.com/benjick), [@&#8203;chris-basebone](https://redirect.github.com/chris-basebone), [@&#8203;davidturissini](https://redirect.github.com/davidturissini), [@&#8203;GrizliK1988](https://redirect.github.com/GrizliK1988), [@&#8203;jahands](https://redirect.github.com/jahands), [@&#8203;jrandolf](https://redirect.github.com/jrandolf), [@&#8203;kunal-511](https://redirect.github.com/kunal-511), [@&#8203;maximepvrt](https://redirect.github.com/maximepvrt), [@&#8203;maxmaxme](https://redirect.github.com/maxmaxme), [@&#8203;mstrokin](https://redirect.github.com/mstrokin), [@&#8203;nathankleyn](https://redirect.github.com/nathankleyn), [@&#8203;nwalters512](https://redirect.github.com/nwalters512), [@&#8203;tannerlinsley](https://redirect.github.com/tannerlinsley), [@&#8203;tjhiggins](https://redirect.github.com/tjhiggins), and [@&#8203;Zen-cronic](https://redirect.github.com/Zen-cronic). Thank you for your contributions!

</details>

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNjQuMSIsInVwZGF0ZWRJblZlciI6IjM5LjE2NC4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-02-28 14:09:36 +00:00
renovate
91e00f08d0 chore: bump up rustc version to v1.85.0 (#10515)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [rustc](https://redirect.github.com/rust-lang/rust) | minor | `1.84.1` -> `1.85.0` |

---

### Release Notes

<details>
<summary>rust-lang/rust (rustc)</summary>

### [`v1.85.0`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1850-2025-02-20)

[Compare Source](https://redirect.github.com/rust-lang/rust/compare/1.84.1...1.85.0)

\==========================

<a id="1.85.0-Language"></a>

## Language

-   [The 2024 Edition is now stable.](https://redirect.github.com/rust-lang/rust/pull/133349)
    See [the edition guide](https://doc.rust-lang.org/nightly/edition-guide/rust-2024/index.html) for more details.
-   [Stabilize async closures](https://redirect.github.com/rust-lang/rust/pull/132706)
    See [RFC 3668](https://rust-lang.github.io/rfcs/3668-async-closures.html) for more details.
-   [Stabilize `#[diagnostic::do_not_recommend]`](https://redirect.github.com/rust-lang/rust/pull/132056)
-   [Add `unpredictable_function_pointer_comparisons` lint to warn against function pointer comparisons](https://redirect.github.com/rust-lang/rust/pull/118833)
-   [Lint on combining `#[no_mangle]` and `#[export_name]` attributes.](https://redirect.github.com/rust-lang/rust/pull/131558)

<a id="1.85.0-Compiler"></a>

## Compiler

-   [The unstable flag `-Zpolymorphize` has been removed](https://redirect.github.com/rust-lang/rust/pull/133883), see [https://github.com/rust-lang/compiler-team/issues/810](https://redirect.github.com/rust-lang/compiler-team/issues/810) for some background.

<a id="1.85.0-Platform-Support"></a>

## Platform Support

-   [Promote `powerpc64le-unknown-linux-musl` to tier 2 with host tools](https://redirect.github.com/rust-lang/rust/pull/133801)

Refer to Rust's \[platform support page]\[platform-support-doc]
for more information on Rust's tiered platform support.

<a id="1.85.0-Libraries"></a>

## Libraries

-   [Panics in the standard library now have a leading `library/` in their path](https://redirect.github.com/rust-lang/rust/pull/132390)
-   [`std::env::home_dir()` on Windows now ignores the non-standard `$HOME` environment variable](https://redirect.github.com/rust-lang/rust/pull/132515)

    It will be un-deprecated in a subsequent release.
-   [Add `AsyncFn*` to the prelude in all editions.](https://redirect.github.com/rust-lang/rust/pull/132611)

<a id="1.85.0-Stabilized-APIs"></a>

## Stabilized APIs

-   [`BuildHasherDefault::new`](https://doc.rust-lang.org/stable/std/hash/struct.BuildHasherDefault.html#method.new)
-   [`ptr::fn_addr_eq`](https://doc.rust-lang.org/std/ptr/fn.fn_addr_eq.html)
-   [`io::ErrorKind::QuotaExceeded`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.QuotaExceeded)
-   [`io::ErrorKind::CrossesDevices`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.CrossesDevices)
-   [`{float}::midpoint`](https://doc.rust-lang.org/core/primitive.f32.html#method.midpoint)
-   [Unsigned `{integer}::midpoint`](https://doc.rust-lang.org/std/primitive.u64.html#method.midpoint)
-   [`NonZeroU*::midpoint`](https://doc.rust-lang.org/std/num/type.NonZeroU32.html#method.midpoint)
-   [impl `std::iter::Extend` for tuples with arity 1 through 12](https://doc.rust-lang.org/stable/std/iter/trait.Extend.html#impl-Extend%3C\(A,\)%3E-for-\(EA,\))
-   [`FromIterator<(A, ...)>` for tuples with arity 1 through 12](https://doc.rust-lang.org/stable/std/iter/trait.FromIterator.html#impl-FromIterator%3C\(EA,\)%3E-for-\(A,\))
-   [`std::task::Waker::noop`](https://doc.rust-lang.org/stable/std/task/struct.Waker.html#method.noop)

These APIs are now stable in const contexts:

-   [`mem::size_of_val`](https://doc.rust-lang.org/stable/std/mem/fn.size_of_val.html)
-   [`mem::align_of_val`](https://doc.rust-lang.org/stable/std/mem/fn.align_of_val.html)
-   [`Layout::for_value`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.for_value)
-   [`Layout::align_to`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.align_to)
-   [`Layout::pad_to_align`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.pad_to_align)
-   [`Layout::extend`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.extend)
-   [`Layout::array`](https://doc.rust-lang.org/stable/std/alloc/struct.Layout.html#method.array)
-   [`std::mem::swap`](https://doc.rust-lang.org/stable/std/mem/fn.swap.html)
-   [`std::ptr::swap`](https://doc.rust-lang.org/stable/std/ptr/fn.swap.html)
-   [`NonNull::new`](https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.new)
-   [`HashMap::with_hasher`](https://doc.rust-lang.org/stable/std/collections/struct.HashMap.html#method.with_hasher)
-   [`HashSet::with_hasher`](https://doc.rust-lang.org/stable/std/collections/struct.HashSet.html#method.with_hasher)
-   [`BuildHasherDefault::new`](https://doc.rust-lang.org/stable/std/hash/struct.BuildHasherDefault.html#method.new)
-   [`<float>::recip`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.recip)
-   [`<float>::to_degrees`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.to_degrees)
-   [`<float>::to_radians`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.to_radians)
-   [`<float>::max`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.max)
-   [`<float>::min`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.min)
-   [`<float>::clamp`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.clamp)
-   [`<float>::abs`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.abs)
-   [`<float>::signum`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.signum)
-   [`<float>::copysign`](https://doc.rust-lang.org/stable/std/primitive.f32.html#method.copysign)
-   [`MaybeUninit::write`](https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#method.write)

<a id="1.85.0-Cargo"></a>

## Cargo

-   [Add future-incompatibility warning against keywords in cfgs and add raw-idents](https://redirect.github.com/rust-lang/cargo/pull/14671/)
-   [Stabilize higher precedence trailing flags](https://redirect.github.com/rust-lang/cargo/pull/14900/)
-   [Pass `CARGO_CFG_FEATURE` to build scripts](https://redirect.github.com/rust-lang/cargo/pull/14902/)

<a id="1.85.0-Rustdoc"></a>

## Rustdoc

-   [Doc comment on impl blocks shows the first line, even when the impl block is collapsed](https://redirect.github.com/rust-lang/rust/pull/132155)

<a id="1.85.0-Compatibility-Notes"></a>

## Compatibility Notes

-   [`rustc` no longer treats the `test` cfg as a well known check-cfg](https://redirect.github.com/rust-lang/rust/pull/131729), instead it is up to the build systems and users of `--check-cfg`\[^check-cfg] to set it as a well known cfg using `--check-cfg=cfg(test)`.

    This is done to enable build systems like Cargo to set it conditionally, as not all source files are suitable for unit tests.
    [Cargo (for now) unconditionally sets the `test` cfg as a well known cfg](https://redirect.github.com/rust-lang/cargo/pull/14963).
    \[^check-cfg]: https://doc.rust-lang.org/nightly/rustc/check-cfg.html
-   [Disable potentially incorrect type inference if there are trivial and non-trivial where-clauses](https://redirect.github.com/rust-lang/rust/pull/132325)
-   `std::env::home_dir()` has been deprecated for years, because it can give surprising results in some Windows configurations if the `HOME` environment variable is set (which is not the normal configuration on Windows). We had previously avoided changing its behavior, out of concern for compatibility with code depending on this non-standard configuration. Given how long this function has been deprecated, we're now fixing its behavior as a bugfix. A subsequent release will remove the deprecation for this function.
-   [Make `core::ffi::c_char` signedness more closely match that of the platform-default `char`](https://redirect.github.com/rust-lang/rust/pull/132975)

    This changed `c_char` from an `i8` to `u8` or vice versa on many Tier 2 and 3
    targets (mostly Arm and RISC-V embedded targets). The new definition may
    result in compilation failures but fixes compatibility issues with C.

    The `libc` crate matches this change as of its 0.2.169 release.
-   [When compiling a nested `macro_rules` macro from an external crate, the content of the inner `macro_rules` is now built with the edition of the external crate, not the local crate.](https://redirect.github.com/rust-lang/rust/pull/133274)
-   [Increase `sparcv9-sun-solaris` and `x86_64-pc-solaris` Solaris baseline to 11.4.](https://redirect.github.com/rust-lang/rust/pull/133293)
-   [Show `abi_unsupported_vector_types` lint in future breakage reports](https://redirect.github.com/rust-lang/rust/pull/133374)
-   [Error if multiple super-trait instantiations of `dyn Trait` need associated types to be specified but only one is provided](https://redirect.github.com/rust-lang/rust/pull/133392)
-   [Change `powerpc64-ibm-aix` default `codemodel` to large](https://redirect.github.com/rust-lang/rust/pull/133811)

<a id="1.85.0-Internal-Changes"></a>

## Internal Changes

These changes do not affect any public interfaces of Rust, but they represent
significant improvements to the performance or internals of rustc and related
tools.

-   [Build `x86_64-unknown-linux-gnu` with LTO for C/C++ code (e.g., `jemalloc`)](https://redirect.github.com/rust-lang/rust/pull/134690)

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzYuMiIsInVwZGF0ZWRJblZlciI6IjM5LjE3Ni4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-02-28 13:39:39 +00:00
pengx17
bab4a07c9f fix(native): expose tapped audio stats (#10524)
Need to encode the audio based on the sample's sample rate & channels.
Also fixed that global audio tap not receiving any samples at all.
2025-02-28 13:24:02 +00:00
L-Sun
61541a2d15 fix(editor): patch android backspace key binding with beforeInput (#10523)
Close [BS-1869](https://linear.app/affine-design/issue/BS-1869/[bug]-android-chrome-%E8%BE%93%E5%85%A5%E9%94%99%E8%AF%AF)

## Problem
On Android devices, keyboard events do not properly capture key information, causing the backspace key and other keyboard functionalities to malfunction. This is due to the specific behavior of Android platform, as discussed in:
- https://stackoverflow.com/a/68188679
- https://stackoverflow.com/a/66724830

## Solution
1. Added special handling for Android platform in `KeyboardControl` class by using `beforeInput` event instead of `keyDown` event
2. Implemented `androidBindKeymapPatch` function to handle special key events on Android platform
3. Updated event handling logic in related components, including:
   - CodeBlock
   - ListKeymap
   - ParagraphKeymap
   - PageKeyboardManager

## Changes
- Added `androidBindKeymapPatch` function for handling key events on Android platform
- Modified `KeyboardControl.bindHotkey` method to add `beforeInput` event handling for Android
- Unified event object access using `ctx.get('defaultState').event` instead of `keyboardState.raw`
- Updated key event handling logic in multiple components

## Before

https://github.com/user-attachments/assets/e8602de4-d584-4adf-816f-369f38312022

## After

https://github.com/user-attachments/assets/f9e1680e-28ff-4d52-bdab-7683cdcb6f82
2025-02-28 13:03:00 +00:00
fengmk2
b59f60c60b feat(server): add workspace avatar support in doc reader (#10390) 2025-02-28 12:41:26 +00:00
akumatus
008fdfc234 feat(core): disable ai if value of sever copilot config is false (#10520)
Fix issue [AF-2224](https://linear.app/affine-design/issue/AF-2224).
2025-02-28 12:24:58 +00:00
zzj3720
5c5c9f8dcd fix(editor): insertion position of new rows and columns is incorrect in table block (#10516)
fix: BS-2714
2025-02-28 12:06:28 +00:00
doodlewind
12acf7e4a0 fix(editor): range IndexSizeError on firefox (#10519)
This is a Firefox compat issue, I've manually confirmed this implementation works in latest Firefox build.
2025-02-28 11:50:56 +00:00
renovate
82dffcbf67 chore: bump up @blocksuite/icons version to v2.2.4 (#10517)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@blocksuite/icons](https://redirect.github.com/toeverything/icons) | [`2.2.3` -> `2.2.4`](https://renovatebot.com/diffs/npm/@blocksuite%2ficons/2.2.3/2.2.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@blocksuite%2ficons/2.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@blocksuite%2ficons/2.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@blocksuite%2ficons/2.2.3/2.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@blocksuite%2ficons/2.2.3/2.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>toeverything/icons (@&#8203;blocksuite/icons)</summary>

### [`v2.2.4`](fa7773d6f0...4686040920)

[Compare Source](fa7773d6f0...4686040920)

</details>

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzYuMiIsInVwZGF0ZWRJblZlciI6IjM5LjE3Ni4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-02-28 11:37:06 +00:00
renovate
04b1239a25 chore: bump up @googleapis/androidpublisher version to v24 (#10518)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@googleapis/androidpublisher](https://redirect.github.com/googleapis/google-api-nodejs-client) | [`^22.0.0` -> `^24.0.0`](https://renovatebot.com/diffs/npm/@googleapis%2fandroidpublisher/22.0.0/24.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@googleapis%2fandroidpublisher/24.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@googleapis%2fandroidpublisher/24.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@googleapis%2fandroidpublisher/22.0.0/24.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@googleapis%2fandroidpublisher/22.0.0/24.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>googleapis/google-api-nodejs-client (@&#8203;googleapis/androidpublisher)</summary>

### [`v24.0.0`](https://redirect.github.com/googleapis/google-api-nodejs-client/blob/HEAD/CHANGELOG.md#12400-2023-08-09)

##### ⚠ BREAKING CHANGES

-   **youtube:** This release has breaking changes.
-   **workloadmanager:** This release has breaking changes.
-   **smartdevicemanagement:** This release has breaking changes.
-   **serviceusage:** This release has breaking changes.
-   **servicedirectory:** This release has breaking changes.
-   **retail:** This release has breaking changes.
-   **networkconnectivity:** This release has breaking changes.
-   **monitoring:** This release has breaking changes.
-   **gkeonprem:** This release has breaking changes.
-   **gkehub:** This release has breaking changes.
-   **contentwarehouse:** This release has breaking changes.
-   **contactcenteraiplatform:** This release has breaking changes.
-   **compute:** This release has breaking changes.
-   **checks:** This release has breaking changes.
-   **bigtableadmin:** This release has breaking changes.
-   **bigquery:** This release has breaking changes.
-   **assuredworkloads:** This release has breaking changes.
-   **androidmanagement:** This release has breaking changes.
-   **analyticsadmin:** This release has breaking changes.
-   migate to Node 14

##### Features

-   **admin:** update the API ([1bc7f53](1bc7f53857))
-   **analyticsadmin:** update the API ([8f479e1](8f479e1550))
-   **analyticshub:** update the API ([427f865](427f8657bc))
-   **androidmanagement:** update the API ([d885722](d885722fa7))
-   **artifactregistry:** update the API ([d70a33e](d70a33e42e))
-   **assuredworkloads:** update the API ([321cff7](321cff70dc))
-   **beyondcorp:** update the API ([ad95808](ad95808585))
-   **bigquerydatatransfer:** update the API ([b290e4a](b290e4a24d))
-   **bigquery:** update the API ([3a1ca66](3a1ca661f4))
-   **bigtableadmin:** update the API ([4f1fb0c](4f1fb0cac0))
-   **chat:** update the API ([c594a3b](c594a3b012))
-   **checks:** update the API ([b9c4657](b9c46572eb))
-   **cloudbuild:** update the API ([1d791a8](1d791a8bc5))
-   **clouddeploy:** update the API ([c733347](c7333472fd))
-   **cloudfunctions:** update the API ([0255d75](0255d75e4b))
-   **compute:** update the API ([0237e76](0237e76d5b))
-   **connectors:** update the API ([cc40ccb](cc40ccbdeb))
-   **contactcenteraiplatform:** update the API ([6778c8d](6778c8ddfa))
-   **containeranalysis:** update the API ([a74b5e3](a74b5e3e99))
-   **container:** update the API ([1f06a76](1f06a76ec8))
-   **content:** update the API ([b5af676](b5af676bbb))
-   **contentwarehouse:** update the API ([ac9b754](ac9b7543ce))
-   **datacatalog:** update the API ([747a4af](747a4af6ff))
-   **dataflow:** update the API ([a62940f](a62940fdc1))
-   **dataform:** update the API ([d1a0a72](d1a0a72df8))
-   **datamigration:** update the API ([5037d65](5037d6562b))
-   **dataplex:** update the API ([ef7bc25](ef7bc250fb))
-   **dataproc:** update the API ([1c699db](1c699db9ce))
-   **datastore:** update the API ([80a30a0](80a30a04e2))
-   **datastream:** update the API ([2c1c784](2c1c784b89))
-   **dialogflow:** update the API ([bac62ef](bac62ef9ff))
-   **discoveryengine:** update the API ([d8debb8](d8debb8863))
-   **discovery:** update the API ([c82eebd](c82eebd5f1))
-   **displayvideo:** update the API ([bbc4d65](bbc4d65427))
-   **documentai:** update the API ([8ac40a0](8ac40a004e))
-   **drivelabels:** update the API ([5ef5d03](5ef5d030b1))
-   **drive:** update the API ([2432651](243265177f))
-   **firebaseappcheck:** update the API ([7c4888c](7c4888c182))
-   **firebase:** update the API ([fdafcaa](fdafcaa969))
-   **firestore:** update the API ([7a14283](7a14283031))
-   **games:** update the API ([55fed7d](55fed7d4ec))
-   **gkebackup:** update the API ([8d1ac26](8d1ac26eb6))
-   **gkehub:** update the API ([81d36c9](81d36c9368))
-   **gkeonprem:** update the API ([7412e91](7412e91ccd))
-   **healthcare:** update the API ([1d0354c](1d0354c855))
-   **migrationcenter:** update the API ([f4cb381](f4cb38184d))
-   **monitoring:** update the API ([f5bf72c](f5bf72c5a7))
-   **networkconnectivity:** update the API ([23894c5](23894c5f96))
-   **networksecurity:** update the API ([d9f4f91](d9f4f9174f))
-   **notebooks:** update the API ([9498d86](9498d86aaf))
-   **ondemandscanning:** update the API ([0ec83f3](0ec83f316b))
-   **osconfig:** update the API ([e1ca8d0](e1ca8d031e))
-   **oslogin:** update the API ([cf32530](cf32530418))
-   **policysimulator:** update the API ([7c67951](7c6795150e))
-   **pubsub:** update the API ([27c5439](27c5439336))
-   regenerate index files ([7e6a0e5](7e6a0e582b))
-   **retail:** update the API ([4dcd52b](4dcd52b6a7))
-   **securitycenter:** update the API ([82cf038](82cf0380c5))
-   **serviceconsumermanagement:** update the API ([da52b7e](da52b7ef38))
-   **servicecontrol:** update the API ([d246968](d24696820f))
-   **servicedirectory:** update the API ([70389d9](70389d96ea))
-   **servicemanagement:** update the API ([6fdca08](6fdca087b3))
-   **servicenetworking:** update the API ([d4784d0](d4784d07dd))
-   **serviceusage:** update the API ([cf72cfd](cf72cfd02b))
-   **smartdevicemanagement:** update the API ([cc5c86e](cc5c86e758))
-   **sqladmin:** update the API ([0c9f7b6](0c9f7b666d))
-   **tagmanager:** update the API ([42c3b97](42c3b97d78))
-   **toolresults:** update the API ([d07c878](d07c8782d3))
-   **tpu:** update the API ([6109722](61097227dc))
-   **trafficdirector:** update the API ([d07ac95](d07ac95641))
-   **vault:** update the API ([e1d2dc4](e1d2dc4ca3))
-   **verifiedaccess:** update the API ([d8e2234](d8e22343e2))
-   **videointelligence:** update the API ([158ae35](158ae35e73))
-   **vmmigration:** update the API ([3adbd55](3adbd5557e))
-   **workloadmanager:** update the API ([2f089aa](2f089aa056))
-   **youtube:** update the API ([83aac2f](83aac2f393))

##### Bug Fixes

-   **abusiveexperiencereport:** update the API ([51e5811](51e581179d))
-   **acceleratedmobilepageurl:** update the API ([a6a2a06](a6a2a06ff1))
-   **accessapproval:** update the API ([5194181](519418151e))
-   **accesscontextmanager:** update the API ([28aebba](28aebba030))
-   **acmedns:** update the API ([c6b1bcb](c6b1bcb8c3))
-   add headers to tests ([d88a219](d88a2193ee))
-   **adexchangebuyer2:** update the API ([436e422](436e422f45))
-   **adexchangebuyer:** update the API ([de73406](de73406cfe))
-   **adexperiencereport:** update the API ([3363255](3363255135))
-   **admob:** update the API ([d249550](d249550bd5))
-   **adsensehost:** update the API ([0a088ff](0a088ff891))
-   **adsense:** update the API ([e1f10f6](e1f10f6ecf))
-   **advisorynotifications:** update the API ([d8350ff](d8350ff286))
-   **aiplatform:** update the API ([7feb2e8](7feb2e8bf0))
-   **alertcenter:** update the API ([a073124](a07312469e))
-   **analyticsdata:** update the API ([43bedd1](43bedd114a))
-   **analyticsreporting:** update the API ([2d68b5a](2d68b5aa54))
-   **analytics:** update the API ([64c4b07](64c4b07238))
-   **androiddeviceprovisioning:** update the API ([ba02075](ba02075615))
-   **androidenterprise:** update the API ([93f7c0c](93f7c0c999))
-   **androidpublisher:** update the API ([8d35576](8d35576047))
-   **apigateway:** update the API ([fc58d33](fc58d331a6))
-   **apigeeregistry:** update the API ([b57542e](b57542e40b))
-   **apikeys:** update the API ([18e475b](18e475be06))
-   **appengine:** update the API ([67a3448](67a3448d66))
-   **appsactivity:** update the API ([f8ba6ee](f8ba6ee70c))
-   **area120tables:** update the API ([6ae8d8d](6ae8d8d8be))
-   **authorizedbuyersmarketplace:** update the API ([61d943b](61d943be06))
-   **baremetalsolution:** update the API ([269dae8](269dae821f))
-   **batch:** update the API ([7aa7cc7](7aa7cc702d))
-   **bigqueryconnection:** update the API ([bb288b1](bb288b1195))
-   **bigqueryreservation:** update the API ([4e77b1d](4e77b1d162))
-   **billingbudgets:** update the API ([0f799e6](0f799e65a5))
-   **binaryauthorization:** update the API ([deb6c10](deb6c10db6))
-   **blockchainnodeengine:** update the API ([b6bd10a](b6bd10a35c))
-   **blogger:** update the API ([975da3e](975da3e0ed))
-   **books:** update the API ([4bef344](4bef344a07))
-   **businessprofileperformance:** update the API ([5b313f4](5b313f4920))
-   **calendar:** update the API ([006efbc](006efbc7fa))
-   **certificatemanager:** update the API ([7d91857](7d91857b20))
-   **chromemanagement:** update the API ([fd29c85](fd29c85f37))
-   **chromepolicy:** update the API ([f51e0db](f51e0db2dc))
-   **chromeuxreport:** update the API ([fd7db9e](fd7db9edc4))
-   **civicinfo:** update the API ([a1f55b2](a1f55b245d))
-   **classroom:** update the API ([7603333](7603333575))
-   **cloudasset:** update the API ([1ffdfc2](1ffdfc2b30))
-   **cloudbilling:** update the API ([46cbf0e](46cbf0ef91))
-   **cloudchannel:** update the API ([e563d83](e563d832be))
-   **clouddebugger:** update the API ([faad469](faad4698e5))
-   **clouderrorreporting:** update the API ([afa4dec](afa4dec030))
-   **cloudidentity:** update the API ([2610c07](2610c07173))
-   **cloudiot:** update the API ([49105a6](49105a65ea))
-   **cloudkms:** update the API ([208f1da](208f1daac6))
-   **cloudprofiler:** update the API ([25cdd90](25cdd90c33))
-   **cloudresourcemanager:** update the API ([493ac8c](493ac8ce90))
-   **cloudscheduler:** update the API ([58070d7](58070d75a2))
-   **cloudsearch:** update the API ([d732a80](d732a80357))
-   **cloudshell:** update the API ([f098eb8](f098eb8765))
-   **cloudsupport:** update the API ([16514b9](16514b97fc))
-   **cloudtasks:** update the API ([12a7fe1](12a7fe1b93))
-   **cloudtrace:** update the API ([85adc52](85adc52814))
-   **composer:** update the API ([746d876](746d876c78))
-   **contactcenterinsights:** update the API ([03a34b1](03a34b14b6))
-   **customsearch:** update the API ([13ef993](13ef993800))
-   **datafusion:** update the API ([d74fb78](d74fb78629))
-   **datalabeling:** update the API ([ed7e0cb](ed7e0cb989))
-   **datalineage:** update the API ([7be88ab](7be88abd11))
-   **datapipelines:** update the API ([68131e2](68131e2960))
-   **deploymentmanager:** update the API ([7a36c72](7a36c726f7))
-   **dfareporting:** update the API ([f9c9934](f9c9934688))
-   **digitalassetlinks:** update the API ([ef3f085](ef3f0859be))
-   **dlp:** update the API ([75eb667](75eb6671c3))
-   **dns:** update the API ([6e63b36](6e63b36afb))
-   **docs:** update the API ([9cdab2d](9cdab2d96b))
-   **domainsrdap:** update the API ([13b01b1](13b01b1767))
-   **domains:** update the API ([884519b](884519bf3a))
-   **doubleclickbidmanager:** update the API ([73d0bed](73d0bedb16))
-   **doubleclicksearch:** update the API ([fa8cb1f](fa8cb1f4aa))
-   **driveactivity:** update the API ([13487f9](13487f9ce2))
-   **essentialcontacts:** update the API ([5fab60a](5fab60a961))
-   **eventarc:** update the API ([d615c48](d615c48812))
-   **factchecktools:** update the API ([6f372f1](6f372f19cc))
-   **fcmdata:** update the API ([3b19295](3b192956b2))
-   **fcm:** update the API ([e099c42](e099c42993))
-   **file:** update the API ([9bbf034](9bbf0348a0))
-   **firebaseappdistribution:** update the API ([8da0eb4](8da0eb460f))
-   **firebasedatabase:** update the API ([4032b62](4032b62921))
-   **firebasedynamiclinks:** update the API ([9d96aea](9d96aeafe1))
-   **firebasehosting:** update the API ([c23f76b](c23f76bf5e))
-   **firebaseml:** update the API ([048c48e](048c48e88b))
-   **firebaserules:** update the API ([5e24b10](5e24b105f7))
-   **firebasestorage:** update the API ([ea95e22](ea95e22fb2))
-   **fitness:** update the API ([7c544ff](7c544ffc24))
-   **forms:** update the API ([8ba614a](8ba614a2aa))
-   **gamesConfiguration:** update the API ([8d46262](8d46262831))
-   **gameservices:** update the API ([900a2fa](900a2fac5c))
-   **gamesManagement:** update the API ([7997150](799715027a))
-   **genomics:** update the API ([c64bc84](c64bc848cb))
-   **gmailpostmastertools:** update the API ([3b25276](3b25276be0))
-   **gmail:** update the API ([6ee8730](6ee873005b))
-   **groupsmigration:** update the API ([e0c396e](e0c396e9d0))
-   **groupssettings:** update the API ([8400a0e](8400a0e998))
-   **homegraph:** update the API ([c77f44b](c77f44b726))
-   **iamcredentials:** update the API ([b806bd9](b806bd9fb9))
-   **iam:** update the API ([6ad470f](6ad470ffbb))
-   **iap:** update the API ([8b998a0](8b998a0914))
-   **ideahub:** update the API ([1540d50](1540d50df9))
-   **identitytoolkit:** update the API ([4d7a874](4d7a874025))
-   **ids:** update the API ([428dc29](428dc29375))
-   **indexing:** update the API ([782806a](782806a470))
-   **integrations:** update the API ([96dd8fd](96dd8fd2c1))
-   **jobs:** update the API ([10826fa](10826fa6de))
-   **kgsearch:** update the API ([9cee192](9cee192c08))
-   **kmsinventory:** update the API ([9492458](9492458165))
-   **language:** update the API ([585690a](585690a033))
-   **libraryagent:** update the API ([9251716](9251716a73))
-   **licensing:** update the API ([c5271b5](c5271b559e))
-   **lifesciences:** update the API ([145d7ce](145d7ce4d4))
-   **localservices:** update the API ([db5b627](db5b6271a4))
-   **logging:** update the API ([df73435](df73435d7d))
-   **managedidentities:** update the API ([1814dfa](1814dfa9e3))
-   **manufacturers:** update the API ([c6c1398](c6c1398806))
-   **memcache:** update the API ([05013bb](05013bb4d2))
-   **metastore:** update the API ([45b0b5d](45b0b5d84f))
-   **ml:** update the API ([9e1be4a](9e1be4aed4))
-   **mybusinessaccountmanagement:** update the API ([6bc90e9](6bc90e9575))
-   **mybusinessbusinesscalls:** update the API ([13ec9e0](13ec9e001a))
-   **mybusinessbusinessinformation:** update the API ([565b3fa](565b3fa86b))
-   **mybusinesslodging:** update the API ([006bd5a](006bd5a42d))
-   **mybusinessnotifications:** update the API ([78e33ee](78e33ee568))
-   **mybusinessplaceactions:** update the API ([bc8e5c7](bc8e5c7259))
-   **mybusinessqanda:** update the API ([0ca91b1](0ca91b1e04))
-   **mybusinessverifications:** update the API ([d5de2b9](d5de2b9692))
-   **networkmanagement:** update the API ([533642b](533642ba85))
-   **networkservices:** update the API ([8133c74](8133c7471e))
-   **oauth2:** update the API ([5097e00](5097e00e9b))
-   **orgpolicy:** update the API ([4f1d852](4f1d85203a))
-   **pagespeedonline:** update the API ([fb574b4](fb574b4740))
-   **paymentsresellersubscription:** update the API ([ecff656](ecff6566f2))
-   **people:** update the API ([abebf9f](abebf9f738))
-   **places:** update the API ([1582524](1582524f23))
-   **playablelocations:** update the API ([711c349](711c349182))
-   **playcustomapp:** update the API ([d96f5b2](d96f5b2af3))
-   **playdeveloperreporting:** update the API ([e05bcaf](e05bcaf6c0))
-   **playintegrity:** update the API ([7c9edd3](7c9edd37f9))
-   **plus:** update the API ([ecac7a8](ecac7a88cd))
-   **policyanalyzer:** update the API ([98148bf](98148bf5d9))
-   **policytroubleshooter:** update the API ([36a5273](36a52733f6))
-   **poly:** update the API ([807484d](807484d57a))
-   **privateca:** update the API ([b654769](b654769dd2))
-   **prod_tt_sasportal:** update the API ([b8c3705](b8c3705040))
-   **publicca:** update the API ([f3361e6](f3361e6e1d))
-   **pubsublite:** update the API ([87e148d](87e148d025))
-   **readerrevenuesubscriptionlinking:** update the API ([6eb57e9](6eb57e9d2f))
-   **realtimebidding:** update the API ([dbcfad2](dbcfad26ca))
-   **recaptchaenterprise:** update the API ([3af6e62](3af6e62c11))
-   **recommendationengine:** update the API ([b5323d8](b5323d877e))
-   **recommender:** update the API ([bf6eed9](bf6eed9745))
-   **redis:** update the API ([6879c13](6879c133e0))
-   **remotebuildexecution:** update the API ([911cd0a](911cd0a68e))
-   **reseller:** update the API ([e7ec5d3](e7ec5d33b9))
-   **resourcesettings:** update the API ([c2c0c9e](c2c0c9ecd6))
-   **runtimeconfig:** update the API ([7866c3a](7866c3a9b9))
-   **run:** update the API ([2ed76fe](2ed76fe355))
-   **safebrowsing:** update the API ([fe23d83](fe23d83559))
-   **sasportal:** update the API ([ca33e9c](ca33e9c71f))
-   **script:** update the API ([207587b](207587b2b7))
-   **searchads360:** update the API ([8ed1df1](8ed1df140b))
-   **searchconsole:** update the API ([208d0a5](208d0a5dc7))
-   **secretmanager:** update the API ([426f146](426f146ac7))
-   **sheets:** update the API ([3333f83](3333f83473))
-   **siteVerification:** update the API ([760447c](760447c313))
-   **slides:** update the API ([5e4d08c](5e4d08cfae))
-   **sourcerepo:** update the API ([f803061](f803061d79))
-   **spanner:** update the API ([8fe5e93](8fe5e9303a))
-   **speech:** update the API ([34b7185](34b7185e75))
-   **sql:** update the API ([b29a348](b29a34873e))
-   **storagetransfer:** update the API ([d4e4820](d4e48203dd))
-   **storage:** update the API ([20860bc](20860bc1ab))
-   **streetviewpublish:** update the API ([1c6bb94](1c6bb94e2e))
-   **sts:** update the API ([5765d2a](5765d2a4a1))
-   **tasks:** update the API ([0eac80e](0eac80eb8e))
-   **testing:** update the API ([fd787ed](fd787ed8f2))
-   **texttospeech:** update the API ([9981feb](9981feb93e))
-   **transcoder:** update the API ([851586c](851586c418))
-   **translate:** update the API ([e11cc5e](e11cc5eea6))
-   **travelimpactmodel:** update the API ([75a5352](75a5352631))
-   **vectortile:** update the API ([4d94932](4d949325d9))
-   **versionhistory:** update the API ([bb2ceec](bb2ceec5dd))
-   **vision:** update the API ([afea669](afea6697bc))
-   **vpcaccess:** update the API ([da58970](da5897041f))
-   **webfonts:** update the API ([f0a4421](f0a4421760))
-   **webmasters:** update the API ([d4143d6](d4143d6ab0))
-   **webrisk:** update the API ([d4cc69b](d4cc69bca7))
-   **websecurityscanner:** update the API ([9960a3a](9960a3aff2))
-   **workflowexecutions:** update the API ([b3488ab](b3488abe18))
-   **workflows:** update the API ([0b82237](0b82237e45))
-   **workstations:** update the API ([a5f5488](a5f5488c31))
-   **youtubeAnalytics:** update the API ([203afe6](203afe652d))
-   **youtubereporting:** update the API ([48b6016](48b6016a38))

##### Miscellaneous Chores

-   migate to Node 14 ([0967781](09677817aa))

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzYuMiIsInVwZGF0ZWRJblZlciI6IjM5LjE3Ni4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-02-28 11:21:58 +00:00
darkskygit
6b76037e39 fix(server): better copilot error handle (#10509) 2025-02-28 11:01:58 +00:00
renovate
7227b7f8f6 chore: bump up oxlint version to v0.15.12 (#10206)
This PR contains the following updates:

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

---

### Release Notes

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

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

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

#### \[0.15.12] - 2025-02-24

##### Features

-   [`914dd46`](https://redirect.github.com/oxc-project/oxc/commit/914dd46) linter: Add eslint/max-depth ([#&#8203;9173](https://redirect.github.com/oxc-project/oxc/issues/9173)) (ikkz)
-   [`0b08159`](https://redirect.github.com/oxc-project/oxc/commit/0b08159) linter: Add eslint/max-lines-per-function ([#&#8203;9161](https://redirect.github.com/oxc-project/oxc/issues/9161)) (ikkz)
-   [`cc8dd48`](https://redirect.github.com/oxc-project/oxc/commit/cc8dd48) linter: Add unicorn/no-invalid-fetch-options rule ([#&#8203;9212](https://redirect.github.com/oxc-project/oxc/issues/9212)) (Mikhail Baev)
-   [`af13b1b`](https://redirect.github.com/oxc-project/oxc/commit/af13b1b) linter: Promote `eslint/no-eval` to `correctness` ([#&#8203;9231](https://redirect.github.com/oxc-project/oxc/issues/9231)) (dalaoshu)
-   [`542bbd7`](https://redirect.github.com/oxc-project/oxc/commit/542bbd7) linter: Support `import-x` plugin name ([#&#8203;9074](https://redirect.github.com/oxc-project/oxc/issues/9074)) (Sysix)
-   [`d266c29`](https://redirect.github.com/oxc-project/oxc/commit/d266c29) linter: Add eslint/max-nested-callbacks ([#&#8203;9172](https://redirect.github.com/oxc-project/oxc/issues/9172)) (ikkz)
-   [`86795d0`](https://redirect.github.com/oxc-project/oxc/commit/86795d0) linter: Implement grouped-accessor-pairs ([#&#8203;9065](https://redirect.github.com/oxc-project/oxc/issues/9065)) (yefan)
-   [`d70bad3`](https://redirect.github.com/oxc-project/oxc/commit/d70bad3) linter: Add eslint/no-unneeded-ternary rule ([#&#8203;9160](https://redirect.github.com/oxc-project/oxc/issues/9160)) (Cédric DIRAND)
-   [`4bd86e6`](https://redirect.github.com/oxc-project/oxc/commit/4bd86e6) linter: Add `fixer` for `unicorn/catch-error-name` ([#&#8203;9165](https://redirect.github.com/oxc-project/oxc/issues/9165)) (dalaoshu)

##### Bug Fixes

-   [`94bd2d8`](https://redirect.github.com/oxc-project/oxc/commit/94bd2d8) language_server: Fix `clippy::significant_drop_in_scrutinee` warning ([#&#8203;9234](https://redirect.github.com/oxc-project/oxc/issues/9234)) (Boshen)
-   [`69091c0`](https://redirect.github.com/oxc-project/oxc/commit/69091c0) linter: Correct default for `eslint/no-eval` ([#&#8203;9312](https://redirect.github.com/oxc-project/oxc/issues/9312)) (dalaoshu)
-   [`3031845`](https://redirect.github.com/oxc-project/oxc/commit/3031845) linter: Add option "allowTypeImports" for rule "no-restricted-imports" ([#&#8203;7894](https://redirect.github.com/oxc-project/oxc/issues/7894)) (Alexander S.)

##### Documentation

-   [`6c0f006`](https://redirect.github.com/oxc-project/oxc/commit/6c0f006) linter: Improve the documentation of eslint/no-useless-concat ([#&#8203;9179](https://redirect.github.com/oxc-project/oxc/issues/9179)) (Tom)
-   [`3414824`](https://redirect.github.com/oxc-project/oxc/commit/3414824) oxc: Enable `clippy::too_long_first_doc_paragraph` ([#&#8203;9237](https://redirect.github.com/oxc-project/oxc/issues/9237)) (Boshen)

##### Refactor

-   [`fb7df52`](https://redirect.github.com/oxc-project/oxc/commit/fb7df52) linter: Allow indirect `eval` by default for `eslint/no-eval` ([#&#8203;9302](https://redirect.github.com/oxc-project/oxc/issues/9302)) (dalaoshu)
-   [`b6fc0f6`](https://redirect.github.com/oxc-project/oxc/commit/b6fc0f6) linter: Improve `unicorn/consistent-function-scoping` ([#&#8203;9163](https://redirect.github.com/oxc-project/oxc/issues/9163)) (dalaoshu)

### [`v0.15.11`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#01511---2025-02-16)

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

##### Features

-   [`5d508a4`](https://redirect.github.com/oxc-project/oxc/commit/5d508a4) linter: Support `env` and `globals` in `overrides` configuration ([#&#8203;8915](https://redirect.github.com/oxc-project/oxc/issues/8915)) (Sysix)

</details>

---

### Configuration

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

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

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

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNjcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjE3Ni4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-02-28 10:43:57 +00:00
doodlewind
22191caa82 fix(editor): safari compat for lit host (#10514)
Fixed this white screen crash on mobile safari:

<img src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/lEGcysB4lFTEbCwZ8jMv/00bffd51-8e06-4d37-88d4-6f5020cd503d.png" width="500">
2025-02-28 10:26:59 +00:00
renovate
b9b3c0db66 chore: Lock file maintenance (#10041)
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - "* 0-3 * * 1" (UTC), 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNjQuMSIsInVwZGF0ZWRJblZlciI6IjM5LjE3Ni4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-02-28 10:06:25 +00:00
renovate
27518e1fb1 chore: bump up all non-major dependencies (#10363)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@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.750.0` -> `3.758.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.750.0/3.758.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.758.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.758.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.750.0/3.758.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.750.0/3.758.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@capgo/inappbrowser](https://redirect.github.com/Cap-go/capacitor-inappbrowser) | [`7.2.16` -> `7.2.18`](https://renovatebot.com/diffs/npm/@capgo%2finappbrowser/7.2.16/7.2.18) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@capgo%2finappbrowser/7.2.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@capgo%2finappbrowser/7.2.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@capgo%2finappbrowser/7.2.16/7.2.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capgo%2finappbrowser/7.2.16/7.2.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@chromatic-com/storybook](https://redirect.github.com/chromaui/addon-visual-tests) | [`3.2.4` -> `3.2.5`](https://renovatebot.com/diffs/npm/@chromatic-com%2fstorybook/3.2.4/3.2.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@chromatic-com%2fstorybook/3.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@chromatic-com%2fstorybook/3.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@chromatic-com%2fstorybook/3.2.4/3.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@chromatic-com%2fstorybook/3.2.4/3.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@electron-forge/cli](https://redirect.github.com/electron/forge) | [`7.6.1` -> `7.7.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fcli/7.6.1/7.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fcli/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fcli/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fcli/7.6.1/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fcli/7.6.1/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@electron-forge/core](https://redirect.github.com/electron/forge) | [`7.6.1` -> `7.7.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fcore/7.6.1/7.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fcore/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fcore/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fcore/7.6.1/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fcore/7.6.1/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@electron-forge/core-utils](https://redirect.github.com/electron/forge) | [`7.6.1` -> `7.7.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fcore-utils/7.6.1/7.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fcore-utils/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fcore-utils/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fcore-utils/7.6.1/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fcore-utils/7.6.1/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@electron-forge/maker-deb](https://redirect.github.com/electron/forge) | [`7.6.1` -> `7.7.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fmaker-deb/7.6.1/7.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fmaker-deb/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fmaker-deb/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fmaker-deb/7.6.1/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fmaker-deb/7.6.1/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@electron-forge/maker-dmg](https://redirect.github.com/electron/forge) | [`7.6.1` -> `7.7.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fmaker-dmg/7.6.1/7.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fmaker-dmg/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fmaker-dmg/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fmaker-dmg/7.6.1/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fmaker-dmg/7.6.1/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@electron-forge/maker-flatpak](https://redirect.github.com/electron/forge) | [`7.6.1` -> `7.7.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fmaker-flatpak/7.6.1/7.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fmaker-flatpak/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fmaker-flatpak/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fmaker-flatpak/7.6.1/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fmaker-flatpak/7.6.1/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@electron-forge/maker-squirrel](https://redirect.github.com/electron/forge) | [`7.6.1` -> `7.7.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fmaker-squirrel/7.6.1/7.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fmaker-squirrel/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fmaker-squirrel/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fmaker-squirrel/7.6.1/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fmaker-squirrel/7.6.1/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@electron-forge/maker-zip](https://redirect.github.com/electron/forge) | [`7.6.1` -> `7.7.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fmaker-zip/7.6.1/7.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fmaker-zip/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fmaker-zip/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fmaker-zip/7.6.1/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fmaker-zip/7.6.1/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@electron-forge/plugin-auto-unpack-natives](https://redirect.github.com/electron/forge) | [`7.6.1` -> `7.7.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fplugin-auto-unpack-natives/7.6.1/7.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fplugin-auto-unpack-natives/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fplugin-auto-unpack-natives/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fplugin-auto-unpack-natives/7.6.1/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fplugin-auto-unpack-natives/7.6.1/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@electron-forge/shared-types](https://redirect.github.com/electron/forge) | [`7.6.1` -> `7.7.0`](https://renovatebot.com/diffs/npm/@electron-forge%2fshared-types/7.6.1/7.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fshared-types/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fshared-types/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fshared-types/7.6.1/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fshared-types/7.6.1/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@eslint/js](https://eslint.org) ([source](https://redirect.github.com/eslint/eslint/tree/HEAD/packages/js)) | [`9.20.0` -> `9.21.0`](https://renovatebot.com/diffs/npm/@eslint%2fjs/9.20.0/9.21.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@eslint%2fjs/9.21.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@eslint%2fjs/9.21.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@eslint%2fjs/9.20.0/9.21.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@eslint%2fjs/9.20.0/9.21.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@google/generative-ai](https://redirect.github.com/google/generative-ai-js) | [`^0.21.0` -> `^0.22.0`](https://renovatebot.com/diffs/npm/@google%2fgenerative-ai/0.21.0/0.22.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@google%2fgenerative-ai/0.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@google%2fgenerative-ai/0.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@google%2fgenerative-ai/0.21.0/0.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@google%2fgenerative-ai/0.21.0/0.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@graphql-codegen/typescript](https://redirect.github.com/dotansimha/graphql-code-generator) ([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/plugins/typescript/typescript)) | [`4.1.3` -> `4.1.5`](https://renovatebot.com/diffs/npm/@graphql-codegen%2ftypescript/4.1.3/4.1.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@graphql-codegen%2ftypescript/4.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@graphql-codegen%2ftypescript/4.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@graphql-codegen%2ftypescript/4.1.3/4.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@graphql-codegen%2ftypescript/4.1.3/4.1.5?slim=true)](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.4.1` -> `4.5.1`](https://renovatebot.com/diffs/npm/@graphql-codegen%2ftypescript-operations/4.4.1/4.5.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@graphql-codegen%2ftypescript-operations/4.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@graphql-codegen%2ftypescript-operations/4.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@graphql-codegen%2ftypescript-operations/4.4.1/4.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@graphql-codegen%2ftypescript-operations/4.4.1/4.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@opentelemetry/instrumentation-graphql](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-graphql#readme) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib)) | [`0.47.0` -> `0.47.1`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-graphql/0.47.0/0.47.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-graphql/0.47.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-graphql/0.47.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-graphql/0.47.0/0.47.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-graphql/0.47.0/0.47.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@opentelemetry/instrumentation-ioredis](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-ioredis#readme) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib)) | [`0.47.0` -> `0.47.1`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-ioredis/0.47.0/0.47.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-ioredis/0.47.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-ioredis/0.47.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-ioredis/0.47.0/0.47.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-ioredis/0.47.0/0.47.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@opentelemetry/instrumentation-nestjs-core](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-nestjs-core#readme) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib)) | [`0.44.0` -> `0.44.1`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-nestjs-core/0.44.0/0.44.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-nestjs-core/0.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-nestjs-core/0.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-nestjs-core/0.44.0/0.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-nestjs-core/0.44.0/0.44.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@opentelemetry/instrumentation-socket.io](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-socket.io#readme) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib)) | [`0.46.0` -> `0.46.1`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-socket.io/0.46.0/0.46.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-socket.io/0.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-socket.io/0.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-socket.io/0.46.0/0.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-socket.io/0.46.0/0.46.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@sentry/esbuild-plugin](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/esbuild-plugin) ([source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins)) | [`3.1.2` -> `3.2.1`](https://renovatebot.com/diffs/npm/@sentry%2fesbuild-plugin/3.1.2/3.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fesbuild-plugin/3.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fesbuild-plugin/3.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fesbuild-plugin/3.1.2/3.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fesbuild-plugin/3.1.2/3.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@sentry/webpack-plugin](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/webpack-plugin) ([source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins)) | [`3.1.2` -> `3.2.1`](https://renovatebot.com/diffs/npm/@sentry%2fwebpack-plugin/3.1.2/3.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fwebpack-plugin/3.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fwebpack-plugin/3.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fwebpack-plugin/3.1.2/3.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fwebpack-plugin/3.1.2/3.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@storybook/addon-essentials](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/essentials) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials)) | [`8.5.6` -> `8.6.2`](https://renovatebot.com/diffs/npm/@storybook%2faddon-essentials/8.5.6/8.6.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-essentials/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-essentials/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-essentials/8.5.6/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-essentials/8.5.6/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@storybook/addon-interactions](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/interactions) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions)) | [`8.5.6` -> `8.6.2`](https://renovatebot.com/diffs/npm/@storybook%2faddon-interactions/8.5.6/8.6.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-interactions/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-interactions/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-interactions/8.5.6/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-interactions/8.5.6/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@storybook/addon-links](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/links) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/links)) | [`8.5.6` -> `8.6.2`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/8.5.6/8.6.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-links/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-links/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-links/8.5.6/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-links/8.5.6/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@storybook/addon-mdx-gfm](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/gfm) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/gfm)) | [`8.5.6` -> `8.6.2`](https://renovatebot.com/diffs/npm/@storybook%2faddon-mdx-gfm/8.5.6/8.6.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-mdx-gfm/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-mdx-gfm/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-mdx-gfm/8.5.6/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-mdx-gfm/8.5.6/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@storybook/react](https://redirect.github.com/storybookjs/storybook/tree/next/code/renderers/react) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/renderers/react)) | [`8.5.6` -> `8.6.2`](https://renovatebot.com/diffs/npm/@storybook%2freact/8.5.6/8.6.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact/8.5.6/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact/8.5.6/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@storybook/react-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/frameworks/react-vite) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite)) | [`8.5.6` -> `8.6.2`](https://renovatebot.com/diffs/npm/@storybook%2freact-vite/8.5.6/8.6.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact-vite/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact-vite/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact-vite/8.5.6/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact-vite/8.5.6/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@swc/core](https://swc.rs) ([source](https://redirect.github.com/swc-project/swc)) | [`1.10.17` -> `1.11.4`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.10.17/1.11.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.11.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fcore/1.11.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fcore/1.10.17/1.11.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.10.17/1.11.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@tailwindcss/postcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss)) | [`4.0.6` -> `4.0.9`](https://renovatebot.com/diffs/npm/@tailwindcss%2fpostcss/4.0.6/4.0.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2fpostcss/4.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tailwindcss%2fpostcss/4.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tailwindcss%2fpostcss/4.0.6/4.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2fpostcss/4.0.6/4.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@tailwindcss/vite](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite)) | [`4.0.6` -> `4.0.9`](https://renovatebot.com/diffs/npm/@tailwindcss%2fvite/4.0.6/4.0.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2fvite/4.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tailwindcss%2fvite/4.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tailwindcss%2fvite/4.0.6/4.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2fvite/4.0.6/4.0.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.13.4` -> `22.13.5`](https://renovatebot.com/diffs/npm/@types%2fnode/22.13.4/22.13.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/22.13.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/22.13.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/22.13.4/22.13.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/22.13.4/22.13.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.13.4` -> `22.13.5`](https://renovatebot.com/diffs/npm/@types%2fnode/22.13.4/22.13.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/22.13.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/22.13.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/22.13.4/22.13.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/22.13.4/22.13.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@types/sinon](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/sinon) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sinon)) | [`17.0.3` -> `17.0.4`](https://renovatebot.com/diffs/npm/@types%2fsinon/17.0.3/17.0.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fsinon/17.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fsinon/17.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fsinon/17.0.3/17.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fsinon/17.0.3/17.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@vitest/browser](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/browser#readme) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/browser)) | [`3.0.6` -> `3.0.7`](https://renovatebot.com/diffs/npm/@vitest%2fbrowser/3.0.6/3.0.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fbrowser/3.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fbrowser/3.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fbrowser/3.0.6/3.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fbrowser/3.0.6/3.0.7?slim=true)](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.0.6` -> `3.0.7`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/3.0.6/3.0.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fcoverage-istanbul/3.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fcoverage-istanbul/3.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fcoverage-istanbul/3.0.6/3.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fcoverage-istanbul/3.0.6/3.0.7?slim=true)](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.0.6` -> `3.0.7`](https://renovatebot.com/diffs/npm/@vitest%2fui/3.0.6/3.0.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fui/3.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fui/3.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fui/3.0.6/3.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fui/3.0.6/3.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [anyhow](https://redirect.github.com/dtolnay/anyhow) | `1.0.95` -> `1.0.96` | [![age](https://developer.mend.io/api/mc/badges/age/crate/anyhow/1.0.96?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/anyhow/1.0.96?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/anyhow/1.0.95/1.0.96?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/anyhow/1.0.95/1.0.96?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [apollographql/apollo-ios](https://redirect.github.com/apollographql/apollo-ios) | `from: "1.17.0"` -> `from: "1.18.0"` | [![age](https://developer.mend.io/api/mc/badges/age/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios.git/1.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios.git/1.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios.git/1.17.0/1.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios.git/1.17.0/1.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |  | minor |
| [apollographql/apollo-ios](https://redirect.github.com/apollographql/apollo-ios) | `1.17.0` -> `1.18.0` | [![age](https://developer.mend.io/api/mc/badges/age/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios/1.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios/1.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios/1.17.0/1.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios/1.17.0/1.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |  | minor |
| [bullmq](https://bullmq.io/) ([source](https://redirect.github.com/taskforcesh/bullmq)) | [`5.41.2` -> `5.41.7`](https://renovatebot.com/diffs/npm/bullmq/5.41.2/5.41.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/bullmq/5.41.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/bullmq/5.41.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/bullmq/5.41.2/5.41.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/bullmq/5.41.2/5.41.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [cc](https://redirect.github.com/rust-lang/cc-rs) | `1.2.12` -> `1.2.15` | [![age](https://developer.mend.io/api/mc/badges/age/crate/cc/1.2.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/cc/1.2.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/cc/1.2.12/1.2.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/cc/1.2.12/1.2.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | build-dependencies | patch |
| [chrono](https://redirect.github.com/chronotope/chrono) | `0.4.39` -> `0.4.40` | [![age](https://developer.mend.io/api/mc/badges/age/crate/chrono/0.4.40?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/chrono/0.4.40?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/chrono/0.4.39/0.4.40?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/chrono/0.4.39/0.4.40?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [electron](https://redirect.github.com/electron/electron) | [`34.2.0` -> `34.3.0`](https://renovatebot.com/diffs/npm/electron/34.2.0/34.3.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/34.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/34.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/34.2.0/34.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/34.2.0/34.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [fast-xml-parser](https://redirect.github.com/NaturalIntelligence/fast-xml-parser) | [`4.5.2` -> `4.5.3`](https://renovatebot.com/diffs/npm/fast-xml-parser/4.5.2/4.5.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/fast-xml-parser/4.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/fast-xml-parser/4.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/fast-xml-parser/4.5.2/4.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/fast-xml-parser/4.5.2/4.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [file-type](https://redirect.github.com/sindresorhus/file-type) | [`20.1.0` -> `20.4.0`](https://renovatebot.com/diffs/npm/file-type/20.1.0/20.4.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/file-type/20.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/file-type/20.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/file-type/20.1.0/20.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/file-type/20.1.0/20.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [gradle](https://gradle.org) ([source](https://redirect.github.com/gradle/gradle)) | `8.12.1` -> `8.13` | [![age](https://developer.mend.io/api/mc/badges/age/gradle-version/gradle/8.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/gradle-version/gradle/8.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/gradle-version/gradle/8.12.1/8.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/gradle-version/gradle/8.12.1/8.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) |  | minor |
| [happy-dom](https://redirect.github.com/capricorn86/happy-dom) | [`17.1.0` -> `17.1.8`](https://renovatebot.com/diffs/npm/happy-dom/17.1.0/17.1.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/17.1.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/17.1.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/17.1.0/17.1.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/17.1.0/17.1.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [html-validate](https://html-validate.org) ([source](https://gitlab.com/html-validate/html-validate)) | [`9.3.0` -> `9.4.1`](https://renovatebot.com/diffs/npm/html-validate/9.3.0/9.4.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/html-validate/9.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/html-validate/9.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/html-validate/9.3.0/9.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/html-validate/9.3.0/9.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [libc](https://redirect.github.com/rust-lang/libc) | `0.2.169` -> `0.2.170` | [![age](https://developer.mend.io/api/mc/badges/age/crate/libc/0.2.170?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/libc/0.2.170?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/libc/0.2.169/0.2.170?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/libc/0.2.169/0.2.170?slim=true)](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.475.0` -> `^0.476.0`](https://renovatebot.com/diffs/npm/lucide-react/0.475.0/0.476.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.476.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-react/0.476.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-react/0.475.0/0.476.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.475.0/0.476.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [msw](https://mswjs.io) ([source](https://redirect.github.com/mswjs/msw)) | [`2.7.0` -> `2.7.3`](https://renovatebot.com/diffs/npm/msw/2.7.0/2.7.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/msw/2.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/msw/2.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/msw/2.7.0/2.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/msw/2.7.0/2.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [nanoid](https://redirect.github.com/ai/nanoid) | [`5.1.0` -> `5.1.2`](https://renovatebot.com/diffs/npm/nanoid/5.1.0/5.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nanoid/5.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nanoid/5.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nanoid/5.1.0/5.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nanoid/5.1.0/5.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [nanoid](https://redirect.github.com/ai/nanoid) | [`5.1.0` -> `5.1.2`](https://renovatebot.com/diffs/npm/nanoid/5.1.0/5.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nanoid/5.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nanoid/5.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nanoid/5.1.0/5.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nanoid/5.1.0/5.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [openai](https://redirect.github.com/openai/openai-node) | [`4.85.1` -> `4.86.1`](https://renovatebot.com/diffs/npm/openai/4.85.1/4.86.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/openai/4.86.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/openai/4.86.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/openai/4.85.1/4.86.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/openai/4.85.1/4.86.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [postcss](https://postcss.org/) ([source](https://redirect.github.com/postcss/postcss)) | [`8.5.2` -> `8.5.3`](https://renovatebot.com/diffs/npm/postcss/8.5.2/8.5.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/postcss/8.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/postcss/8.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/postcss/8.5.2/8.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/postcss/8.5.2/8.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [prettier](https://prettier.io) ([source](https://redirect.github.com/prettier/prettier)) | [`3.5.1` -> `3.5.2`](https://renovatebot.com/diffs/npm/prettier/3.5.1/3.5.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/prettier/3.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prettier/3.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prettier/3.5.1/3.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prettier/3.5.1/3.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [prettier](https://prettier.io) ([source](https://redirect.github.com/prettier/prettier)) | [`3.5.1` -> `3.5.2`](https://renovatebot.com/diffs/npm/prettier/3.5.1/3.5.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/prettier/3.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prettier/3.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prettier/3.5.1/3.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prettier/3.5.1/3.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [react-markdown](https://redirect.github.com/remarkjs/react-markdown) | [`9.0.3` -> `9.1.0`](https://renovatebot.com/diffs/npm/react-markdown/9.0.3/9.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-markdown/9.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-markdown/9.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-markdown/9.0.3/9.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-markdown/9.0.3/9.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [react-router-dom](https://redirect.github.com/remix-run/react-router) ([source](https://redirect.github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom)) | [`6.29.0` -> `6.30.0`](https://renovatebot.com/diffs/npm/react-router-dom/6.29.0/6.30.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-router-dom/6.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-router-dom/6.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-router-dom/6.29.0/6.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-router-dom/6.29.0/6.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [rxjs](https://rxjs.dev) ([source](https://redirect.github.com/reactivex/rxjs)) | [`7.8.1` -> `7.8.2`](https://renovatebot.com/diffs/npm/rxjs/7.8.1/7.8.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/rxjs/7.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/rxjs/7.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/rxjs/7.8.1/7.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/rxjs/7.8.1/7.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [rxjs](https://rxjs.dev) ([source](https://redirect.github.com/reactivex/rxjs)) | [`7.8.1` -> `7.8.2`](https://renovatebot.com/diffs/npm/rxjs/7.8.1/7.8.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/rxjs/7.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/rxjs/7.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/rxjs/7.8.1/7.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/rxjs/7.8.1/7.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [serde](https://serde.rs) ([source](https://redirect.github.com/serde-rs/serde)) | `1.0.217` -> `1.0.218` | [![age](https://developer.mend.io/api/mc/badges/age/crate/serde/1.0.218?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/serde/1.0.218?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/serde/1.0.217/1.0.218?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/serde/1.0.217/1.0.218?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [serde_json](https://redirect.github.com/serde-rs/json) | `1.0.138` -> `1.0.139` | [![age](https://developer.mend.io/api/mc/badges/age/crate/serde_json/1.0.139?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/serde_json/1.0.139?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/serde_json/1.0.138/1.0.139?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/serde_json/1.0.138/1.0.139?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [serde_json](https://redirect.github.com/serde-rs/json) | `1.0.138` -> `1.0.139` | [![age](https://developer.mend.io/api/mc/badges/age/crate/serde_json/1.0.139?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/serde_json/1.0.139?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/serde_json/1.0.138/1.0.139?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/serde_json/1.0.138/1.0.139?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [shadcn-ui](https://redirect.github.com/shadcn/ui) ([source](https://redirect.github.com/shadcn/ui/tree/HEAD/packages/cli)) | [`0.9.4` -> `0.9.5`](https://renovatebot.com/diffs/npm/shadcn-ui/0.9.4/0.9.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/shadcn-ui/0.9.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/shadcn-ui/0.9.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/shadcn-ui/0.9.4/0.9.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/shadcn-ui/0.9.4/0.9.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [storybook](https://redirect.github.com/storybookjs/storybook/tree/next/code/lib/cli) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/lib/cli)) | [`8.5.6` -> `8.6.2`](https://renovatebot.com/diffs/npm/storybook/8.5.6/8.6.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/storybook/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/storybook/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/storybook/8.5.6/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/storybook/8.5.6/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [stripe](https://redirect.github.com/stripe/stripe-node) | [`17.6.0` -> `17.7.0`](https://renovatebot.com/diffs/npm/stripe/17.6.0/17.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/stripe/17.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/stripe/17.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/stripe/17.6.0/17.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/stripe/17.6.0/17.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [strum_macros](https://redirect.github.com/Peternator7/strum) | `0.26.2` -> `0.27.0` | [![age](https://developer.mend.io/api/mc/badges/age/crate/strum_macros/0.27.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [!
2025-02-28 09:07:27 +00:00
L-Sun
d476d3b1df fix(editor): android keyboard can not be opened (#10502)
Close [BS-2674](https://linear.app/affine-design/issue/BS-2674/[android]-%E6%96%87%E6%9C%AC%E7%BC%96%E8%BE%91%E5%8C%BA%E5%9F%9F%E7%82%B9%E5%87%BB%E5%90%8E%E6%97%A0%E6%B3%95%E6%BF%80%E6%B4%BB%E9%94%AE%E7%9B%98) [BS-2609](https://linear.app/affine-design/issue/BS-2609/[android]-%E8%BE%93%E5%85%A5%E7%9A%84-toolbar-%E6%B2%A1%E6%9C%89%E4%BA%86)
2025-02-28 08:23:26 +00:00
doodlewind
f1df774188 fix(editor): invalidate turbo renderer on selection update (#10499) 2025-02-28 08:08:28 +00:00
L-Sun
90b37ce65c fix(core): editor blur unexpectedly when clicking blank area (#10501)
### Before

https://github.com/user-attachments/assets/3c4b20e1-6d89-4dc7-a51f-04b6e9a89486

### After

https://github.com/user-attachments/assets/86b93403-597e-4dbb-ab65-90908342c230
2025-02-28 07:05:06 +00:00
L-Sun
27fc4afc35 chore(core): remove capacitor from frontend/core (#10500) 2025-02-28 07:05:05 +00:00
Saul-Mirone
e90c00c3b7 refactor(editor): perf optimization of flat data (#10494)
The new code should be more efficient as it:
- Avoids unnecessary iterations when objects aren't empty
- Has clearer path management
- Reduces redundant object traversals
2025-02-28 04:51:54 +00:00
Saul-Mirone
1d865ad883 test(editor): collab table test (#10506)
1. **Table UI Enhancements - Test IDs Added**
   - Added `data-testid` attributes to several table components for better testability:
     - `add-column-button` for the column addition button
     - `add-row-button` for the row addition button
     - `drag-column-handle` for column drag handles
     - `drag-row-handle` for row drag handles

2. **New Test Infrastructure**
   - Added new testing utilities in `tests/kit/src/bs/`:
     - `misc.ts`: Added `waitNextFrame` utility function for handling animation frame timing in tests
     - `table.ts`: Added comprehensive table testing utilities including:
       - `createTable`: Creates a new table with initial cells
       - `getCellText`: Retrieves text from a specific table cell
       - `inputToCell`: Inputs text into a specific table cell
       - `clickDeleteButtonInTableMenu`: Handles table deletion operations

3. **New Collaboration Test**
   - Added a new test file `tests/affine-local/e2e/blocksuite/table/collab.spec.ts` that tests table collaboration features:
     - Tests synchronization between two pages (A and B)
     - Verifies table operations sync correctly:
       - Adding columns and rows
       - Inputting cell content
       - Deleting columns and rows
     - Validates cell content consistency across both pages
     - Tests the complete table manipulation workflow in a collaborative setting

4. **Package Configuration Update**
   - Modified `tests/kit/package.json` to expose new test utilities:
     - Added new export mapping: `"./bs/*": "./src/bs/*.ts"` to make the new table testing utilities accessible

This PR primarily focuses on improving table testing infrastructure and adding comprehensive collaboration tests for the table functionality, while also enhancing component testability through data-test-ids.
2025-02-28 04:37:12 +00:00
pengx17
cd0bec5d31 fix(core): at menu ux (#10485)
fix AF-2285

1. loading icon will be rendered to the group name
2. make the focused item more stable
2025-02-28 02:34:29 +00:00
pengx17
59526080d4 fix(electron): hide tray for now (#10498) 2025-02-28 02:13:10 +00:00
pengx17
9e0cae58d7 fix(native): split application & tappable application (#10491)
A listening tappable app's info should inherit from its group process's name/icon. However the group process may not be listed as a tappable application.
2025-02-27 15:02:38 +00:00
Brooooooklyn
c50184bee6 chore(server-native): cleanup unused test (#10493) 2025-02-27 14:20:36 +00:00
Brooooooklyn
d7d33868d4 feat(native): decode audio and mp3 encoder (#10490) 2025-02-27 12:57:28 +00:00
Saul-Mirone
b19c1df43e fix: table collab (#10489)
[Screen Recording 2025-02-27 at 20.24.15.mov <span class="graphite__hidden">(uploaded via Graphite)</span> <img class="graphite__hidden" src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/EUhyG5TOGVlHZ0Suk1wH/b3ac681f-a14d-483a-820c-53c584f0fb44.mov" />](https://app.graphite.dev/media/video/EUhyG5TOGVlHZ0Suk1wH/b3ac681f-a14d-483a-820c-53c584f0fb44.mov)
2025-02-27 12:37:57 +00:00
darkskygit
985906aa13 feat(server): copilot session prompt query (#10479) 2025-02-27 11:25:52 +00:00
forehalo
d50860eee2 fix(server): use updowncounter by default (#10482) 2025-02-27 10:15:13 +00:00
L-Sun
b995b4f965 chore(editor): update page block telemetry (#10487)
Close [BS-2711](https://linear.app/affine-design/issue/BS-2711/page-block埋点更新)
2025-02-27 09:58:58 +00:00
akumatus
1bb5dd0eda fix(core): always update session prompt before chat (#10483)
Why make this fix?
The network search flag is saved locally. If the user opens multiple clients, the local status and server status may be inconsistent.
2025-02-27 09:44:19 +00:00
LongYinan
fc4a716ef1 fix: add missing annotation to apps serviceAccount (#10484) 2025-02-27 17:34:00 +08:00
Saul-Mirone
4c736bc190 feat(editor): type safe draft model and transformer (#10486) 2025-02-27 09:19:49 +00:00
donteatfriedrice
272d41e32d chore: remove unused component imports and styles from text-renderer (#10478) 2025-02-27 08:54:15 +00:00
Saul-Mirone
d57ef5c5b3 fix(editor): transform to draftmodel first when get snapshot (#10477) 2025-02-27 07:52:18 +00:00
darkskygit
1fd3d618be feat(server): update search model (#10475)
fix AF-2283
2025-02-27 07:24:53 +00:00
donteatfriedrice
7c8ba13aad fix(core): extract a scrollable text renderer fot ai panel (#10469) 2025-02-27 07:00:16 +00:00
liuyi
b3821ad619 fix(server): avoid global rejection when event handler errors (#10467) 2025-02-27 06:25:46 +00:00
fundon
caa4dfedfc fix(editor): adjust black and white in shape text color palettes to pure black and pure white (#10450)
Closes: [BS-2697](https://linear.app/affine-design/issue/BS-2697/检查shape-text-color黑白不映射的pr合并状态)

https://github.com/user-attachments/assets/732612e9-5e43-453f-aef2-5f32f5a08614
2025-02-27 06:05:42 +00:00
zzj3720
18dfad28d7 fix(editor): toDraftModal supports flat data structures (#10466)
fix: PD-2374
fix: BS-2703
2025-02-27 05:16:10 +00:00
akumatus
f43a848e18 feat(core): convert ai think tag to markdown divider (#10459)
Support issue [AF-2282](https://linear.app/affine-design/issue/AF-2282).
2025-02-27 04:43:11 +00:00
doodlewind
8cec22cc64 fix(editor): handle resize in turbo renderer (#10465) 2025-02-27 04:18:37 +00:00
pengx17
be94f3fc17 fix(native): potential sharablecontent icon/name crash (#10464) 2025-02-27 03:19:52 +00:00
Yifeng Wang
e9484e8e15 refactor(editor): remove non null asserts in turbo renderer (#10454) 2025-02-27 10:47:26 +08:00
pengx17
f25266ec88 fix(editor): ai chat panel textarea selection issue (#10461)
fix AF-2244
2025-02-27 02:26:57 +00:00
doodlewind
3252dd7a31 feat(editor): automatically hide canvas optimized blocks (#10451)
Qualified DOM blocks can now be optimized away automatically.

<img alt="image.png" width="500" src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/lEGcysB4lFTEbCwZ8jMv/102bf813-154a-4816-9eb0-2c9c0ce01fe7.png">

Since this is under development, verifying state correctness is more important than rendering details.

This won't affect current production version since the passive APIs added to `GfxViewportElement` are disabled by the `enableOptimization = false` config.
2025-02-27 02:10:49 +00:00
akumatus
903d260880 fix(core): ai chat panel scrolling dizziness problem (#10458)
Fix issue [AF-2281](https://linear.app/affine-design/issue/AF-2281).

### What Changed?
- During the re-rendering process of the rich-text editor, the container height is always expanded.
- If the user manually scrolls the chat panel, immediately stop automatically scrolling

[录屏2025-02-27 07.30.08.mov <span class="graphite__hidden">(uploaded via Graphite)</span> <img class="graphite__hidden" src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/sJGviKxfE3Ap685cl5bj/624ea4fa-b8dd-4cf2-a9be-6997bdabc97b.mov" />](https://app.graphite.dev/media/video/sJGviKxfE3Ap685cl5bj/624ea4fa-b8dd-4cf2-a9be-6997bdabc97b.mov)
2025-02-26 23:59:12 +00:00
Saul-Mirone
2c79d7229f refactor(editor): remove legacy service watcher (#10455)
The main changes in this PR involve replacing the deprecated `BlockServiceWatcher` with the new `LifeCycleWatcher` across multiple files. Here's a detailed breakdown:

1. **Core Architectural Change:**
   - Removed `BlockServiceWatcher` class completely (deleted file)
   - Migrated to `LifeCycleWatcher` as the new standard for watching component lifecycle events

2. **Key Changes in Implementation:**
   - Changed from using `blockService.specSlots` events to using `view.viewUpdated` events
   - Replaced `flavour` static property with `key` static property
   - Updated event handling to use more specific payload type checking

3. **Major File Changes:**
   - Modified multiple block components:
     - Embed synced doc block
     - Frame preview
     - Edgeless root spec
     - AI-related components (code, image, paragraph, etc.)
     - Quick search service
     - Edgeless clipboard

4. **Pattern of Changes:**
   The migration follows a consistent pattern:
   ```typescript
   // Old pattern
   class SomeWatcher extends BlockServiceWatcher {
     static override readonly flavour = 'some:flavour';
     mounted() {
       this.blockService.specSlots.viewConnected.on(...)
     }
   }

   // New pattern
   class SomeWatcher extends LifeCycleWatcher {
     static override key = 'some-watcher';
     mounted() {
       const { view } = this.std;
       view.viewUpdated.on(payload => {
         if (payload.type !== 'block' || payload.method !== 'add') return;
         // Handle event
       });
     }
   }
   ```

5. **Benefits:**
   - More explicit and type-safe event handling
   - Cleaner architecture by removing deprecated code
   - More consistent approach to lifecycle management
   - Better separation of concerns

This appears to be a significant architectural improvement that modernizes the codebase by removing deprecated patterns and standardizing on a more robust lifecycle management system.
2025-02-26 15:15:45 +00:00
Saul-Mirone
fd6d96a38e refactor(editor): use transformer from store when possible (#10453) 2025-02-26 14:15:04 +00:00
Saul-Mirone
1c5e360d7e feat(editor): add widget in viewUpdated slot (#10452) 2025-02-26 13:24:32 +00:00
doodlewind
589622043c fix(editor): list toggle position offset (#10448)
Before:

![image](https://github.com/user-attachments/assets/fbddc396-1078-4c1e-8e2c-c26c6e4a6d61)

After:

<img width="579" alt="image" src="https://github.com/user-attachments/assets/7b049b53-269b-484e-ba76-fa6f46a2004c" />

This centering approach won't affect heading blocks:

<img width="267" alt="image" src="https://github.com/user-attachments/assets/3f3217e3-7e23-43fc-a7e5-33b6eadccc88" />
2025-02-26 12:09:00 +00:00
Saul-Mirone
ce87dcf58e feat(editor): schema extension (#10447)
1. **Major Architectural Change: Schema Management**
   - Moved from `workspace.schema` to `store.schema` throughout the codebase
   - Removed schema property from Workspace and Doc interfaces
   - Added `BlockSchemaExtension` pattern across multiple block types

2. **Block Schema Extensions Added**
   - Added new `BlockSchemaExtension` to numerous block types including:
     - DataView, Surface, Attachment, Bookmark, Code
     - Database, Divider, EdgelessText, Embed blocks (Figma, Github, HTML, etc.)
     - Frame, Image, Latex, List, Note, Paragraph
     - Root, Surface Reference, Table blocks

3. **Import/Export System Updates**
   - Updated import functions to accept `schema` parameter:
     - `importHTMLToDoc`
     - `importHTMLZip`
     - `importMarkdownToDoc`
     - `importMarkdownZip`
     - `importNotionZip`
   - Modified export functions to use new schema pattern

4. **Test Infrastructure Updates**
   - Updated test files to use new schema extensions
   - Modified test document creation to include schema extensions
   - Removed direct schema registration in favor of extensions

5. **Service Layer Changes**
   - Updated various services to use `getAFFiNEWorkspaceSchema()`
   - Modified transformer initialization to use document schema
   - Updated collection initialization patterns

6. **Version Management**
   - Removed version-related properties and methods from:
     - `WorkspaceMetaImpl`
     - `TestMeta`
     - `DocImpl`
   - Removed `blockVersions` and `workspaceVersion/pageVersion`

7. **Store and Extension Updates**
   - Added new store extensions and adapters
   - Updated store initialization patterns
   - Added new schema-related functionality in store extension

This PR represents a significant architectural shift in how schemas are managed, moving from a workspace-centric to a store-centric approach, while introducing a more extensible block schema system through `BlockSchemaExtension`. The changes touch multiple layers of the application including core functionality, services, testing infrastructure, and import/export capabilities.
2025-02-26 11:31:29 +00:00
L-Sun
2732b96d00 fix(editor): overflow of embed github card in edgeless note (#10442)
This PR fixes the overflow of the `embed-github-card` inside edgeless notes.

https://github.com/user-attachments/assets/21775d0f-e4c8-4fcc-86d8-aafb27033358
2025-02-26 09:33:57 +00:00
doodlewind
0f8c837fbe refactor(editor): simplify renderer state (#10441)
The redundant `monitoring` state has been removed. The new `ready` state is used for querying if DOM elements can be safely optimized away.
2025-02-26 08:39:58 +00:00
fundon
c058f94e15 chore(editor): improve color formatting tests (#10429) 2025-02-26 08:19:54 +00:00
darkskygit
d25b216311 feat(server): adapt doc loader for server native (#9942) 2025-02-26 08:05:20 +00:00
CatsJuice
e1fd8f5d80 fix(core): correctly toggle visibility of starter-bar based on doc.isEmpty (#10439) 2025-02-26 07:49:51 +00:00
fundon
866b096304 fix(core): fix doc url parsing with custom domain names (#10444)
Closes: [AF-2279](https://affine-pro.slack.com/archives/C06CTBH5L4R/p1740552397245649?thread_ts=1740547457.278239&cid=C06CTBH5L4R)
2025-02-26 07:35:25 +00:00
doodlewind
e38e59d4e5 refactor(editor): request refresh after finding stale bitmap (#10438)
This ensures a bitmap will be eventually generated after tile got invalidated.
2025-02-26 06:49:09 +00:00
EYHN
7dbc1e300d fix(ios): fix magic link sign in (#10436) 2025-02-26 06:32:16 +00:00
zzj3720
1a9bfeaa2c fix(editor): table block supports parsing rich text (#10430)
fix: BS-2685
2025-02-26 04:56:55 +00:00
doodlewind
97cc814a22 fix(editor): remote cursor color inconsistency (#10437)
Fixed:

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/lEGcysB4lFTEbCwZ8jMv/c2db021e-6ee9-4022-913c-84b84953d36e.png)
2025-02-26 04:42:05 +00:00
donteatfriedrice
d63f16da5e fix(editor): affine preview root style (#10420)
Fix [BS-2677](https://linear.app/affine-design/issue/BS-2677/linked-doc-embed-view样式错误)

1. Only show the border of embed synced doc block (in note) when hover.
2. Fix affine preview root padding style, set padding only when affine preview root in embed synced doc block (in surface).
3. Only add the footnote config extension to the chat panel and chat block center peek. For footnotes in other page preview scenarios, such as footnote nodes within embed synced doc blocks or embed linked doc blocks, the hover effect should be maintained.
2025-02-26 04:25:24 +00:00
zzj3720
0e4a79959f fix(editor): improve string conversion logic for checkbox property (#10433)
fix: BS-2465

- Add a FALSE_VALUES set containing various falsy string representations

- Support Chinese negation terms like "否", "不", "错", etc.

- Optimize the implementation of cellFromString method
2025-02-25 23:23:00 +00:00
doodlewind
f3911b1b5e fix(editor): discard stale layout bitmap in turbo renderer (#10427)
Fixes this bug caused by stale bitmap:

[Screen Recording 2025-02-24 at 6.10.19 PM.mov <span class="graphite__hidden">(uploaded via Graphite)</span> <img class="graphite__hidden" src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/lEGcysB4lFTEbCwZ8jMv/3e24f4b7-6f95-4c7c-a79a-b8e4ffdb3b10.mov" />](https://app.graphite.dev/media/video/lEGcysB4lFTEbCwZ8jMv/3e24f4b7-6f95-4c7c-a79a-b8e4ffdb3b10.mov)
2025-02-25 10:51:55 +00:00
5252 changed files with 232529 additions and 154904 deletions

View File

@@ -5,4 +5,10 @@ rustflags = ["-C", "target-feature=+crt-static"]
[target.'cfg(target_os = "linux")']
rustflags = ["-C", "link-args=-Wl,--warn-unresolved-symbols"]
[target.'cfg(target_os = "macos")']
rustflags = ["-C", "link-args=-all_load"]
rustflags = ["-C", "link-args=-all_load", "-C", "link-args=-weak_framework ScreenCaptureKit"]
# https://sourceware.org/bugzilla/show_bug.cgi?id=21032
# https://sourceware.org/bugzilla/show_bug.cgi?id=21031
# https://github.com/rust-lang/rust/issues/134820
# pthread_key_create() destructors and segfault after a DSO unloading
[target.'cfg(all(target_env = "gnu", not(target_os = "windows")))']
rustflags = ["-C", "link-args=-Wl,-z,nodelete"]

View File

@@ -1,10 +0,0 @@
FROM mcr.microsoft.com/devcontainers/base:bookworm
USER vscode
# Install Homebrew For Linux
RUN /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" && \
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" && \
echo "eval \"\$($(brew --prefix)/bin/brew shellenv)\"" >> /home/vscode/.zshrc && \
echo "eval \"\$($(brew --prefix)/bin/brew shellenv)\"" >> /home/vscode/.bashrc && \
# Install Graphite
brew install withgraphite/tap/graphite && gt --version

View File

@@ -1,10 +1,6 @@
#!/bin/bash
# This is a script used by the devcontainer to build the project
#Enable yarn
corepack enable
corepack prepare yarn@stable --activate
# install dependencies
yarn install
@@ -12,4 +8,4 @@ yarn install
yarn affine @affine/server-native build
# Create database
yarn affine @affine/server prisma db push
yarn affine @affine/server prisma migrate reset -f

View File

@@ -1,12 +1,16 @@
// For format details, see https://aka.ms/devcontainer.json.
{
"name": "Debian",
"name": "AFFiNE Dev Container",
"dockerComposeFile": "docker-compose.yml",
"service": "app",
"workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}",
"containerEnv": {
"COREPACK_ENABLE_DOWNLOAD_PROMPT": "0"
},
"features": {
"ghcr.io/devcontainers/features/node:1": {
"version": "18"
"version": "lts",
"installYarnUsingApt": false
},
"ghcr.io/devcontainers/features/rust:1": {}
},
@@ -16,7 +20,7 @@
"extensions": [
"ms-playwright.playwright",
"esbenp.prettier-vscode",
"streetsidesoftware.code-spell-checker"
"dbaeumer.vscode-eslint"
]
}
},

View File

@@ -2,9 +2,7 @@ version: '3.8'
services:
app:
build:
context: .
dockerfile: Dockerfile
image: mcr.microsoft.com/devcontainers/base:bookworm
volumes:
- ../..:/workspaces:cached
command: sleep infinity
@@ -14,7 +12,7 @@ services:
REDIS_SERVER_HOST: redis
db:
image: postgres:latest
image: pgvector/pgvector:pg16
restart: unless-stopped
volumes:
- postgres-data:/var/lib/postgresql/data
@@ -24,8 +22,6 @@ services:
POSTGRES_DB: affine
redis:
image: redis
ports:
- 6379:6379
volumes:
postgres-data:

View File

@@ -1,9 +1,9 @@
set -e
npm install -g @withgraphite/graphite-cli@stable
if [ -v GRAPHITE_TOKEN ];then
gt auth --token $GRAPHITE_TOKEN
fi
git fetch origin canary:canary --depth=1
git branch canary -t origin/canary
gt init --trunk canary

View File

@@ -1,3 +1,6 @@
# postgres major version
DB_VERSION=16
# database credentials
DB_PASSWORD=affine
DB_USERNAME=affine
DB_DATABASE_NAME=affine

View File

@@ -3,7 +3,7 @@ services:
postgres:
env_file:
- .env
image: postgres:16
image: pgvector/pgvector:pg${DB_VERSION:-16}
ports:
- 5432:5432
environment:

View File

@@ -0,0 +1,6 @@
{
"$schema": "https://github.com/toeverything/affine/releases/latest/download/config.schema.json",
"server": {
"name": "AFFiNE Self Hosted Server"
}
}

View File

@@ -0,0 +1,889 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "AFFiNE Application Configuration",
"type": "object",
"properties": {
"metrics": {
"type": "object",
"description": "Configuration for metrics module",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable metric and tracing collection\n@default false",
"default": false
}
}
},
"crypto": {
"type": "object",
"description": "Configuration for crypto module",
"properties": {
"privateKey": {
"type": "string",
"description": "The private key for used by the crypto module to create signed tokens or encrypt data.\n@default \"\"\n@environment `AFFINE_PRIVATE_KEY`",
"default": ""
}
}
},
"job": {
"type": "object",
"description": "Configuration for job module",
"properties": {
"queue": {
"type": "object",
"description": "The config for job queues\n@default {\"attempts\":5,\"removeOnComplete\":true,\"removeOnFail\":{\"age\":86400,\"count\":500}}\n@link https://api.docs.bullmq.io/interfaces/v5.QueueOptions.html",
"default": {
"attempts": 5,
"removeOnComplete": true,
"removeOnFail": {
"age": 86400,
"count": 500
}
}
},
"worker": {
"type": "object",
"description": "The config for job workers\n@default {}\n@link https://api.docs.bullmq.io/interfaces/v5.WorkerOptions.html",
"default": {}
},
"queues.copilot": {
"type": "object",
"description": "The config for copilot job queue\n@default {\"concurrency\":1}",
"properties": {
"concurrency": {
"type": "number"
}
},
"default": {
"concurrency": 1
}
},
"queues.doc": {
"type": "object",
"description": "The config for doc job queue\n@default {\"concurrency\":1}",
"properties": {
"concurrency": {
"type": "number"
}
},
"default": {
"concurrency": 1
}
},
"queues.notification": {
"type": "object",
"description": "The config for notification job queue\n@default {\"concurrency\":10}",
"properties": {
"concurrency": {
"type": "number"
}
},
"default": {
"concurrency": 10
}
},
"queues.nightly": {
"type": "object",
"description": "The config for nightly job queue\n@default {\"concurrency\":1}",
"properties": {
"concurrency": {
"type": "number"
}
},
"default": {
"concurrency": 1
}
}
}
},
"throttle": {
"type": "object",
"description": "Configuration for throttle module",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether the throttler is enabled.\n@default true",
"default": true
},
"throttlers.default": {
"type": "object",
"description": "The config for the default throttler.\n@default {\"ttl\":60,\"limit\":120}",
"default": {
"ttl": 60,
"limit": 120
}
},
"throttlers.strict": {
"type": "object",
"description": "The config for the strict throttler.\n@default {\"ttl\":60,\"limit\":20}",
"default": {
"ttl": 60,
"limit": 20
}
}
}
},
"websocket": {
"type": "object",
"description": "Configuration for websocket module",
"properties": {
"transports": {
"type": "array",
"description": "The enabled transports for accepting websocket traffics.\n@default [\"websocket\",\"polling\"]\n@link https://docs.nestjs.com/websockets/gateways#transports",
"items": {
"type": "string",
"enum": [
"websocket",
"polling"
]
},
"default": [
"websocket",
"polling"
]
},
"maxHttpBufferSize": {
"type": "number",
"description": "How many bytes or characters a message can be, before closing the session (to avoid DoS).\n@default 100000000",
"default": 100000000
}
}
},
"auth": {
"type": "object",
"description": "Configuration for auth module",
"properties": {
"allowSignup": {
"type": "boolean",
"description": "Whether allow new registrations.\n@default true",
"default": true
},
"requireEmailDomainVerification": {
"type": "boolean",
"description": "Whether require email domain record verification before accessing restricted resources.\n@default false",
"default": false
},
"requireEmailVerification": {
"type": "boolean",
"description": "Whether require email verification before accessing restricted resources(not implemented).\n@default true",
"default": true
},
"passwordRequirements": {
"type": "object",
"description": "The password strength requirements when set new password.\n@default {\"min\":8,\"max\":32}",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"default": {
"min": 8,
"max": 32
}
},
"session.ttl": {
"type": "number",
"description": "Application auth expiration time in seconds.\n@default 1296000",
"default": 1296000
},
"session.ttr": {
"type": "number",
"description": "Application auth time to refresh in seconds.\n@default 604800",
"default": 604800
}
}
},
"mailer": {
"type": "object",
"description": "Configuration for mailer module",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether enabled mail service.\n@default false",
"default": false
},
"SMTP.host": {
"type": "string",
"description": "Host of the email server (e.g. smtp.gmail.com)\n@default \"\"\n@environment `MAILER_HOST`",
"default": ""
},
"SMTP.port": {
"type": "number",
"description": "Port of the email server (they commonly are 25, 465 or 587)\n@default 465\n@environment `MAILER_PORT`",
"default": 465
},
"SMTP.username": {
"type": "string",
"description": "Username used to authenticate the email server\n@default \"\"\n@environment `MAILER_USER`",
"default": ""
},
"SMTP.password": {
"type": "string",
"description": "Password used to authenticate the email server\n@default \"\"\n@environment `MAILER_PASSWORD`",
"default": ""
},
"SMTP.sender": {
"type": "string",
"description": "Sender of all the emails (e.g. \"AFFiNE Team <noreply@affine.pro>\")\n@default \"\"\n@environment `MAILER_SENDER`",
"default": ""
},
"SMTP.ignoreTLS": {
"type": "boolean",
"description": "Whether ignore email server's TSL certification verification. Enable it for self-signed certificates.\n@default false\n@environment `MAILER_IGNORE_TLS`",
"default": false
}
}
},
"doc": {
"type": "object",
"description": "Configuration for doc module",
"properties": {
"experimental.yocto": {
"type": "boolean",
"description": "Use `y-octo` to merge updates at the same time when merging using Yjs.\n@default false",
"default": false
},
"history.interval": {
"type": "number",
"description": "The minimum time interval in milliseconds of creating a new history snapshot when doc get updated.\n@default 600000",
"default": 600000
}
}
},
"storages": {
"type": "object",
"description": "Configuration for storages module",
"properties": {
"avatar.publicPath": {
"type": "string",
"description": "The public accessible path prefix for user avatars.\n@default \"/api/avatars/\"",
"default": "/api/avatars/"
},
"avatar.storage": {
"type": "object",
"description": "The config of storage for user avatars.\n@default {\"provider\":\"fs\",\"bucket\":\"avatars\",\"config\":{\"path\":\"~/.affine/storage\"}}",
"oneOf": [
{
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"fs"
]
},
"bucket": {
"type": "string"
},
"config": {
"type": "object",
"properties": {
"path": {
"type": "string"
}
}
}
}
},
{
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"aws-s3"
]
},
"bucket": {
"type": "string"
},
"config": {
"type": "object",
"description": "The config for the s3 compatible storage provider. directly passed to aws-sdk client.\n@link https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html",
"properties": {
"credentials": {
"type": "object",
"description": "The credentials for the s3 compatible storage provider.",
"properties": {
"accessKeyId": {
"type": "string"
},
"secretAccessKey": {
"type": "string"
}
}
}
}
}
}
},
{
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"cloudflare-r2"
]
},
"bucket": {
"type": "string"
},
"config": {
"type": "object",
"description": "The config for the s3 compatible storage provider. directly passed to aws-sdk client.\n@link https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html",
"properties": {
"credentials": {
"type": "object",
"description": "The credentials for the s3 compatible storage provider.",
"properties": {
"accessKeyId": {
"type": "string"
},
"secretAccessKey": {
"type": "string"
}
}
},
"accountId": {
"type": "string",
"description": "The account id for the cloudflare r2 storage provider."
},
"usePresignedURL": {
"type": "object",
"description": "The presigned url config for the cloudflare r2 storage provider.",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether to use presigned url for the cloudflare r2 storage provider."
},
"urlPrefix": {
"type": "string",
"description": "The presigned url prefix for the cloudflare r2 storage provider.\nsee https://developers.cloudflare.com/waf/custom-rules/use-cases/configure-token-authentication/ to configure it.\nExample value: \"https://storage.example.com\"\nExample rule: is_timed_hmac_valid_v0(\"your_secret\", http.request.uri, 10800, http.request.timestamp.sec, 6)"
},
"signKey": {
"type": "string",
"description": "The presigned key for the cloudflare r2 storage provider."
}
}
}
}
}
}
}
],
"default": {
"provider": "fs",
"bucket": "avatars",
"config": {
"path": "~/.affine/storage"
}
}
},
"blob.storage": {
"type": "object",
"description": "The config of storage for all uploaded blobs(images, videos, etc.).\n@default {\"provider\":\"fs\",\"bucket\":\"blobs\",\"config\":{\"path\":\"~/.affine/storage\"}}",
"oneOf": [
{
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"fs"
]
},
"bucket": {
"type": "string"
},
"config": {
"type": "object",
"properties": {
"path": {
"type": "string"
}
}
}
}
},
{
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"aws-s3"
]
},
"bucket": {
"type": "string"
},
"config": {
"type": "object",
"description": "The config for the s3 compatible storage provider. directly passed to aws-sdk client.\n@link https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html",
"properties": {
"credentials": {
"type": "object",
"description": "The credentials for the s3 compatible storage provider.",
"properties": {
"accessKeyId": {
"type": "string"
},
"secretAccessKey": {
"type": "string"
}
}
}
}
}
}
},
{
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"cloudflare-r2"
]
},
"bucket": {
"type": "string"
},
"config": {
"type": "object",
"description": "The config for the s3 compatible storage provider. directly passed to aws-sdk client.\n@link https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html",
"properties": {
"credentials": {
"type": "object",
"description": "The credentials for the s3 compatible storage provider.",
"properties": {
"accessKeyId": {
"type": "string"
},
"secretAccessKey": {
"type": "string"
}
}
},
"accountId": {
"type": "string",
"description": "The account id for the cloudflare r2 storage provider."
},
"usePresignedURL": {
"type": "object",
"description": "The presigned url config for the cloudflare r2 storage provider.",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether to use presigned url for the cloudflare r2 storage provider."
},
"urlPrefix": {
"type": "string",
"description": "The presigned url prefix for the cloudflare r2 storage provider.\nsee https://developers.cloudflare.com/waf/custom-rules/use-cases/configure-token-authentication/ to configure it.\nExample value: \"https://storage.example.com\"\nExample rule: is_timed_hmac_valid_v0(\"your_secret\", http.request.uri, 10800, http.request.timestamp.sec, 6)"
},
"signKey": {
"type": "string",
"description": "The presigned key for the cloudflare r2 storage provider."
}
}
}
}
}
}
}
],
"default": {
"provider": "fs",
"bucket": "blobs",
"config": {
"path": "~/.affine/storage"
}
}
}
}
},
"server": {
"type": "object",
"description": "Configuration for server module",
"properties": {
"name": {
"type": "string",
"description": "A recognizable name for the server. Will be shown when connected with AFFiNE Desktop.\n@default \"AFFiNE Cloud\"",
"default": "AFFiNE Cloud"
},
"externalUrl": {
"type": "string",
"description": "Base url of AFFiNE server, used for generating external urls.\nDefault to be `[server.protocol]://[server.host][:server.port]` if not specified.\n \n@default \"\"\n@environment `AFFINE_SERVER_EXTERNAL_URL`",
"default": ""
},
"https": {
"type": "boolean",
"description": "Whether the server is hosted on a ssl enabled domain (https://).\n@default false\n@environment `AFFINE_SERVER_HTTPS`",
"default": false
},
"host": {
"type": "string",
"description": "Where the server get deployed(FQDN).\n@default \"localhost\"\n@environment `AFFINE_SERVER_HOST`",
"default": "localhost"
},
"port": {
"type": "number",
"description": "Which port the server will listen on.\n@default 3010\n@environment `AFFINE_SERVER_PORT`",
"default": 3010
},
"path": {
"type": "string",
"description": "Subpath where the server get deployed if there is.\n@default \"\"\n@environment `AFFINE_SERVER_SUB_PATH`",
"default": ""
}
}
},
"flags": {
"type": "object",
"description": "Configuration for flags module",
"properties": {
"earlyAccessControl": {
"type": "boolean",
"description": "Only allow users with early access features to access the app\n@default false",
"default": false
}
}
},
"docService": {
"type": "object",
"description": "Configuration for docService module",
"properties": {
"endpoint": {
"type": "string",
"description": "The endpoint of the doc service.\n@default \"\"\n@environment `DOC_SERVICE_ENDPOINT`",
"default": ""
}
}
},
"client": {
"type": "object",
"description": "Configuration for client module",
"properties": {
"versionControl.enabled": {
"type": "boolean",
"description": "Whether check version of client before accessing the server.\n@default false",
"default": false
},
"versionControl.requiredVersion": {
"type": "string",
"description": "Allowed version range of the app that allowed to access the server. Requires 'client/versionControl.enabled' to be true to take effect.\n@default \">=0.20.0\"",
"default": ">=0.20.0"
}
}
},
"captcha": {
"type": "object",
"description": "Configuration for captcha module",
"properties": {
"enabled": {
"type": "boolean",
"description": "Check captcha challenge when user authenticating the app.\n@default false",
"default": false
},
"config": {
"type": "object",
"description": "The config for the captcha plugin.\n@default {\"turnstile\":{\"secret\":\"\"},\"challenge\":{\"bits\":20}}",
"default": {
"turnstile": {
"secret": ""
},
"challenge": {
"bits": 20
}
}
}
}
},
"copilot": {
"type": "object",
"description": "Configuration for copilot module",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether to enable the copilot plugin.\n@default false",
"default": false
},
"providers.openai": {
"type": "object",
"description": "The config for the openai provider.\n@default {\"apiKey\":\"\"}\n@link https://github.com/openai/openai-node",
"default": {
"apiKey": ""
}
},
"providers.fal": {
"type": "object",
"description": "The config for the fal provider.\n@default {\"apiKey\":\"\"}",
"default": {
"apiKey": ""
}
},
"providers.gemini": {
"type": "object",
"description": "The config for the gemini provider.\n@default {\"apiKey\":\"\"}",
"default": {
"apiKey": ""
}
},
"providers.perplexity": {
"type": "object",
"description": "The config for the perplexity provider.\n@default {\"apiKey\":\"\"}",
"default": {
"apiKey": ""
}
},
"unsplash": {
"type": "object",
"description": "The config for the unsplash key.\n@default {\"key\":\"\"}",
"default": {
"key": ""
}
},
"storage": {
"type": "object",
"description": "The config for the storage provider.\n@default {\"provider\":\"fs\",\"bucket\":\"copilot\",\"config\":{\"path\":\"~/.affine/storage\"}}",
"oneOf": [
{
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"fs"
]
},
"bucket": {
"type": "string"
},
"config": {
"type": "object",
"properties": {
"path": {
"type": "string"
}
}
}
}
},
{
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"aws-s3"
]
},
"bucket": {
"type": "string"
},
"config": {
"type": "object",
"description": "The config for the s3 compatible storage provider. directly passed to aws-sdk client.\n@link https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html",
"properties": {
"credentials": {
"type": "object",
"description": "The credentials for the s3 compatible storage provider.",
"properties": {
"accessKeyId": {
"type": "string"
},
"secretAccessKey": {
"type": "string"
}
}
}
}
}
}
},
{
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": [
"cloudflare-r2"
]
},
"bucket": {
"type": "string"
},
"config": {
"type": "object",
"description": "The config for the s3 compatible storage provider. directly passed to aws-sdk client.\n@link https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html",
"properties": {
"credentials": {
"type": "object",
"description": "The credentials for the s3 compatible storage provider.",
"properties": {
"accessKeyId": {
"type": "string"
},
"secretAccessKey": {
"type": "string"
}
}
},
"accountId": {
"type": "string",
"description": "The account id for the cloudflare r2 storage provider."
},
"usePresignedURL": {
"type": "object",
"description": "The presigned url config for the cloudflare r2 storage provider.",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether to use presigned url for the cloudflare r2 storage provider."
},
"urlPrefix": {
"type": "string",
"description": "The presigned url prefix for the cloudflare r2 storage provider.\nsee https://developers.cloudflare.com/waf/custom-rules/use-cases/configure-token-authentication/ to configure it.\nExample value: \"https://storage.example.com\"\nExample rule: is_timed_hmac_valid_v0(\"your_secret\", http.request.uri, 10800, http.request.timestamp.sec, 6)"
},
"signKey": {
"type": "string",
"description": "The presigned key for the cloudflare r2 storage provider."
}
}
}
}
}
}
}
],
"default": {
"provider": "fs",
"bucket": "copilot",
"config": {
"path": "~/.affine/storage"
}
}
}
}
},
"customerIo": {
"type": "object",
"description": "Configuration for customerIo module",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable customer.io integration\n@default false",
"default": false
},
"token": {
"type": "string",
"description": "Customer.io token\n@default \"\"",
"default": ""
}
}
},
"oauth": {
"type": "object",
"description": "Configuration for oauth module",
"properties": {
"providers.google": {
"type": "object",
"description": "Google OAuth provider config\n@default {\"clientId\":\"\",\"clientSecret\":\"\"}\n@link https://developers.google.com/identity/protocols/oauth2/web-server",
"properties": {
"clientId": {
"type": "string"
},
"clientSecret": {
"type": "string"
},
"args": {
"type": "object"
}
},
"default": {
"clientId": "",
"clientSecret": ""
}
},
"providers.github": {
"type": "object",
"description": "GitHub OAuth provider config\n@default {\"clientId\":\"\",\"clientSecret\":\"\"}\n@link https://docs.github.com/en/apps/oauth-apps",
"properties": {
"clientId": {
"type": "string"
},
"clientSecret": {
"type": "string"
},
"args": {
"type": "object"
}
},
"default": {
"clientId": "",
"clientSecret": ""
}
},
"providers.oidc": {
"type": "object",
"description": "OIDC OAuth provider config\n@default {\"clientId\":\"\",\"clientSecret\":\"\",\"issuer\":\"\",\"args\":{}}",
"default": {
"clientId": "",
"clientSecret": "",
"issuer": "",
"args": {}
}
}
}
},
"payment": {
"type": "object",
"description": "Configuration for payment module",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether enable payment plugin\n@default false",
"default": false
},
"showLifetimePrice": {
"type": "boolean",
"description": "Whether enable lifetime price and allow user to pay for it.\n@default true",
"default": true
},
"apiKey": {
"type": "string",
"description": "Stripe API key to enable payment service.\n@default \"\"\n@environment `STRIPE_API_KEY`",
"default": ""
},
"webhookKey": {
"type": "string",
"description": "Stripe webhook key to enable payment service.\n@default \"\"\n@environment `STRIPE_WEBHOOK_KEY`",
"default": ""
},
"stripe": {
"type": "object",
"description": "Stripe sdk options\n@default {}\n@link https://docs.stripe.com/api",
"default": {}
}
}
},
"worker": {
"type": "object",
"description": "Configuration for worker module",
"properties": {
"allowedOrigin": {
"type": "array",
"description": "Allowed origin\n@default [\"localhost\",\"127.0.0.1\"]",
"default": [
"localhost",
"127.0.0.1"
]
}
}
}
}
}

View File

@@ -1,6 +1,6 @@
name: Bug Report
description: File a bug report
title: "\u200b"
title: '[Bug]: '
labels: ['bug']
body:
- type: markdown
@@ -18,20 +18,26 @@ body:
validations:
required: true
- type: dropdown
id: version
id: distribution
attributes:
label: Distribution version
description: What version of AFFiNE are you using?
description: What distribution of AFFiNE are you using?
options:
- macOS x64 (Intel)
- macOS ARM 64 (Apple Silicon)
- Windows x64
- Linux
- Web (app.affine.pro)
- Web (affine.fail)
- Web (insider.affine.pro)
- Web (https://app.affine.pro)
- Beta Web (https://insider.affine.pro)
- Canary Web (https://affine.fail)
validations:
required: true
- type: input
id: version
attributes:
label: App Version
description: What version of AFFiNE are you using?
placeholder: (You can find AFFiNE version in [About AFFiNE] setting panel)
- type: dropdown
id: browsers
attributes:
@@ -51,6 +57,11 @@ body:
If you are self-hosting, please check the box and provide information about your setup.
options:
- label: 'Yes'
- type: input
id: selfhost-version
attributes:
label: Self-hosting Version
description: What version of AFFiNE are you selfhosting?
- type: textarea
id: logs
attributes:

View File

@@ -1,7 +1,8 @@
name: Feature Request
description: Suggest a feature or improvement
title: "\u200b"
title: '[Feature Request]: '
labels: ['feat', 'story']
assignees: ['hwangdev97']
body:
- type: markdown
attributes:

View File

@@ -44,12 +44,14 @@ runs:
RUSTUP_HOME: ${{ env.DEV_DRIVE }}/.rustup
- name: Set CC
if: ${{ contains(inputs.target, 'linux') && inputs.package != '@affine/native' && inputs.no-build != 'true' }}
if: ${{ contains(inputs.target, 'linux') && inputs.no-build != 'true' }}
working-directory: ${{ env.DEV_DRIVE_WORKSPACE || github.workspace }}
shell: bash
# https://github.com/tree-sitter/tree-sitter/issues/4186
# pass -D_BSD_SOURCE to clang to fix the tree-sitter build issue
run: |
echo "CC=clang" >> "$GITHUB_ENV"
echo "TARGET_CC=clang" >> "$GITHUB_ENV"
echo "CC=clang -D_BSD_SOURCE" >> "$GITHUB_ENV"
echo "TARGET_CC=clang -D_BSD_SOURCE" >> "$GITHUB_ENV"
- name: Cache cargo
uses: Swatinem/rust-cache@v2
@@ -82,7 +84,7 @@ runs:
shell: bash
if: ${{ runner.os == 'Windows' && inputs.no-build != 'true' }}
run: |
yarn workspace ${{ inputs.package }} build --target ${{ inputs.target }} --use-napi-cross
yarn workspace ${{ inputs.package }} build --target ${{ inputs.target }}
env:
DEBUG: 'napi:*'
CARGO_HOME: ${{ env.DEV_DRIVE }}/.cargo

View File

@@ -5,28 +5,16 @@ inputs:
description: 'Script to run'
default: 'yarn affine @affine-test/affine-cloud-copilot e2e --forbid-only'
required: false
openai-key:
description: 'OpenAI secret key'
required: true
fal-key:
description: 'Fal secret key'
required: true
runs:
using: 'composite'
steps:
- name: Prepare Server Test Environment
uses: ./.github/actions/server-test-env
- name: Server Copilot E2E Test
shell: bash
run: ${{ inputs.script }}
env:
COPILOT: true
DEV_SERVER_URL: http://localhost:8080
COPILOT_OPENAI_API_KEY: ${{ inputs.openai-key }}
COPILOT_FAL_API_KEY: ${{ inputs.fal-key }}
COPILOT_PERPLEXITY_API_KEY: ${{ inputs.perplexity-key }}
- name: Upload test results
if: ${{ failure() }}

View File

@@ -10,31 +10,14 @@ const {
DATABASE_USERNAME,
DATABASE_PASSWORD,
DATABASE_NAME,
R2_ACCOUNT_ID,
R2_ACCESS_KEY_ID,
R2_SECRET_ACCESS_KEY,
CAPTCHA_TURNSTILE_SECRET,
METRICS_CUSTOMER_IO_TOKEN,
COPILOT_OPENAI_API_KEY,
COPILOT_FAL_API_KEY,
COPILOT_PERPLEXITY_API_KEY,
COPILOT_UNSPLASH_API_KEY,
MAILER_SENDER,
MAILER_USER,
MAILER_PASSWORD,
AFFINE_GOOGLE_CLIENT_ID,
AFFINE_GOOGLE_CLIENT_SECRET,
CLOUD_SQL_IAM_ACCOUNT,
GCLOUD_CONNECTION_NAME,
GCLOUD_CLOUD_SQL_INTERNAL_ENDPOINT,
REDIS_HOST,
REDIS_PASSWORD,
STRIPE_API_KEY,
STRIPE_WEBHOOK_KEY,
CLOUD_SQL_IAM_ACCOUNT,
APP_IAM_ACCOUNT,
REDIS_SERVER_HOST,
REDIS_SERVER_PASSWORD,
STATIC_IP_NAME,
} = process.env;
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
const buildType = BUILD_TYPE || 'canary';
const isProduction = buildType === 'stable';
@@ -88,27 +71,32 @@ const createHelmCommand = ({ isDryRun }) => {
const redisAndPostgres =
isProduction || isBeta || isInternal
? [
`--set-string global.database.url=${DATABASE_URL}`,
`--set cloud-sql-proxy.enabled=true`,
`--set-string cloud-sql-proxy.database.connectionName="${GCLOUD_CONNECTION_NAME}"`,
`--set-string global.database.host=${DATABASE_URL}`,
`--set-string global.database.user=${DATABASE_USERNAME}`,
`--set-string global.database.password=${DATABASE_PASSWORD}`,
`--set-string global.database.name=${DATABASE_NAME}`,
`--set global.database.gcloud.enabled=true`,
`--set-string global.database.gcloud.connectionName="${GCLOUD_CONNECTION_NAME}"`,
`--set-string global.database.gcloud.cloudSqlInternal="${GCLOUD_CLOUD_SQL_INTERNAL_ENDPOINT}"`,
`--set-string global.redis.host="${REDIS_HOST}"`,
`--set-string global.redis.password="${REDIS_PASSWORD}"`,
`--set-string global.redis.host="${REDIS_SERVER_HOST}"`,
`--set-string global.redis.password="${REDIS_SERVER_PASSWORD}"`,
]
: [];
const serviceAnnotations =
const serviceAnnotations = [
`--set-json web.serviceAccount.annotations="{ \\"iam.gke.io/gcp-service-account\\": \\"${APP_IAM_ACCOUNT}\\" }"`,
`--set-json graphql.serviceAccount.annotations="{ \\"iam.gke.io/gcp-service-account\\": \\"${APP_IAM_ACCOUNT}\\" }"`,
`--set-json sync.serviceAccount.annotations="{ \\"iam.gke.io/gcp-service-account\\": \\"${APP_IAM_ACCOUNT}\\" }"`,
`--set-json doc.serviceAccount.annotations="{ \\"iam.gke.io/gcp-service-account\\": \\"${APP_IAM_ACCOUNT}\\" }"`,
].concat(
isProduction || isBeta || isInternal
? [
`--set-json web.service.annotations=\"{ \\"cloud.google.com/neg\\": \\"{\\\\\\"ingress\\\\\\": true}\\" }\"`,
`--set-json graphql.service.annotations=\"{ \\"cloud.google.com/neg\\": \\"{\\\\\\"ingress\\\\\\": true}\\" }\"`,
`--set-json sync.service.annotations=\"{ \\"cloud.google.com/neg\\": \\"{\\\\\\"ingress\\\\\\": true}\\" }\"`,
`--set-json cloud-sql-proxy.serviceAccount.annotations=\"{ \\"iam.gke.io/gcp-service-account\\": \\"${CLOUD_SQL_IAM_ACCOUNT}\\" }\"`,
`--set-json cloud-sql-proxy.nodeSelector=\"{ \\"iam.gke.io/gke-metadata-server-enabled\\": \\"true\\" }\"`,
`--set-json web.service.annotations="{ \\"cloud.google.com/neg\\": \\"{\\\\\\"ingress\\\\\\": true}\\" }"`,
`--set-json graphql.service.annotations="{ \\"cloud.google.com/neg\\": \\"{\\\\\\"ingress\\\\\\": true}\\" }"`,
`--set-json sync.service.annotations="{ \\"cloud.google.com/neg\\": \\"{\\\\\\"ingress\\\\\\": true}\\" }"`,
`--set-json cloud-sql-proxy.serviceAccount.annotations="{ \\"iam.gke.io/gcp-service-account\\": \\"${CLOUD_SQL_IAM_ACCOUNT}\\" }"`,
`--set-json cloud-sql-proxy.nodeSelector="{ \\"iam.gke.io/gke-metadata-server-enabled\\": \\"true\\" }"`,
]
: [];
: []
);
const cpu = cpuConfig[buildType];
const resources = cpu
@@ -129,19 +117,17 @@ const createHelmCommand = ({ isDryRun }) => {
: isInternal
? 'internal'
: 'dev';
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
const host = DEPLOY_HOST || CANARY_DEPLOY_HOST;
const deployCommand = [
`helm upgrade --install affine .github/helm/affine`,
`--namespace ${namespace}`,
`--set-string global.deployment.type="affine"`,
`--set-string global.deployment.platform="gcp"`,
`--set-string global.app.buildType="${buildType}"`,
`--set global.ingress.enabled=true`,
`--set-json global.ingress.annotations=\"{ \\"kubernetes.io/ingress.class\\": \\"gce\\", \\"kubernetes.io/ingress.allow-http\\": \\"true\\", \\"kubernetes.io/ingress.global-static-ip-name\\": \\"${STATIC_IP_NAME}\\" }\"`,
`--set-json global.ingress.annotations="{ \\"kubernetes.io/ingress.class\\": \\"gce\\", \\"kubernetes.io/ingress.allow-http\\": \\"true\\", \\"kubernetes.io/ingress.global-static-ip-name\\": \\"${STATIC_IP_NAME}\\" }"`,
`--set-string global.ingress.host="${host}"`,
`--set global.objectStorage.r2.enabled=true`,
`--set-string global.objectStorage.r2.accountId="${R2_ACCOUNT_ID}"`,
`--set-string global.objectStorage.r2.accessKeyId="${R2_ACCESS_KEY_ID}"`,
`--set-string global.objectStorage.r2.secretAccessKey="${R2_SECRET_ACCESS_KEY}"`,
`--set-string global.version="${APP_VERSION}"`,
...redisAndPostgres,
`--set web.replicaCount=${replica.web}`,
@@ -149,26 +135,6 @@ const createHelmCommand = ({ isDryRun }) => {
`--set graphql.replicaCount=${replica.graphql}`,
`--set-string graphql.image.tag="${imageTag}"`,
`--set graphql.app.host=${host}`,
`--set graphql.app.captcha.enabled=true`,
`--set-string graphql.app.captcha.turnstile.secret="${CAPTCHA_TURNSTILE_SECRET}"`,
`--set graphql.app.copilot.enabled=true`,
`--set-string graphql.app.copilot.openai.key="${COPILOT_OPENAI_API_KEY}"`,
`--set-string graphql.app.copilot.fal.key="${COPILOT_FAL_API_KEY}"`,
`--set-string graphql.app.copilot.perplexity.key="${COPILOT_PERPLEXITY_API_KEY}"`,
`--set-string graphql.app.copilot.unsplash.key="${COPILOT_UNSPLASH_API_KEY}"`,
`--set-string graphql.app.mailer.sender="${MAILER_SENDER}"`,
`--set-string graphql.app.mailer.user="${MAILER_USER}"`,
`--set-string graphql.app.mailer.password="${MAILER_PASSWORD}"`,
`--set-string graphql.app.oauth.google.enabled=true`,
`--set-string graphql.app.oauth.google.clientId="${AFFINE_GOOGLE_CLIENT_ID}"`,
`--set-string graphql.app.oauth.google.clientSecret="${AFFINE_GOOGLE_CLIENT_SECRET}"`,
`--set-string graphql.app.payment.stripe.apiKey="${STRIPE_API_KEY}"`,
`--set-string graphql.app.payment.stripe.webhookKey="${STRIPE_WEBHOOK_KEY}"`,
`--set graphql.app.metrics.enabled=true`,
`--set-string graphql.app.metrics.customerIo.token="${METRICS_CUSTOMER_IO_TOKEN}"`,
`--set graphql.app.experimental.enableJwstCodec=${namespace === 'dev'}`,
`--set graphql.app.features.earlyAccessPreview=false`,
`--set graphql.app.features.syncClientVersionCheck=true`,
`--set sync.replicaCount=${replica.sync}`,
`--set-string sync.image.tag="${imageTag}"`,
`--set-string renderer.image.tag="${imageTag}"`,

View File

@@ -19,5 +19,13 @@ runs:
NODE_ENV: test
run: |
yarn affine @affine/server prisma generate
yarn affine @affine/server prisma db push
yarn affine @affine/server prisma migrate deploy
yarn affine @affine/server data-migration run
- name: Import config
shell: bash
run: |
printf '{"copilot":{"enabled":true,"providers.fal":{"apiKey":"%s"},"providers.gemini":{"apiKey":"%s"},"providers.openai":{"apiKey":"%s"},"providers.perplexity":{"apiKey":"%s"}}}' \
"$COPILOT_FAL_API_KEY" \
"$COPILOT_GOOGLE_API_KEY" \
"$COPILOT_OPENAI_API_KEY" \
"$COPILOT_PERPLEXITY_API_KEY" > ./packages/backend/server/config.json

View File

@@ -13,6 +13,10 @@ inputs:
description: 'Run the install step for Playwright.'
required: false
default: 'false'
playwright-platform:
description: 'The platform to install Playwright for.'
required: false
default: 'chromium,webkit'
electron-install:
description: 'Download the Electron binary'
required: false
@@ -127,7 +131,6 @@ runs:
- name: yarn install
if: ${{ inputs.package-install == 'true' }}
continue-on-error: true
shell: bash
working-directory: ${{ steps.workspace-path.outputs.workspace_path }}
run: yarn ${{ inputs.extra-flags }}
@@ -173,7 +176,7 @@ runs:
- name: Install Playwright's dependencies
shell: bash
if: inputs.playwright-install == 'true'
run: yarn playwright install --with-deps chromium webkit
run: yarn playwright install --with-deps $(echo "${{ inputs.playwright-platform }}" | tr ',' ' ')
working-directory: ${{ steps.workspace-path.outputs.workspace_path }}
env:
PLAYWRIGHT_BROWSERS_PATH: ${{ steps.workspace-path.outputs.workspace_path }}/node_modules/.cache/ms-playwright

View File

@@ -3,4 +3,4 @@ name: affine
description: AFFiNE cloud chart
type: application
version: 0.0.0
appVersion: "0.20.0"
appVersion: "0.21.0"

View File

@@ -40,7 +40,9 @@ spec:
- name: NO_COLOR
value: "1"
- name: DEPLOYMENT_TYPE
value: "affine"
value: "{{ .Values.global.deployment.type }}"
- name: DEPLOYMENT_PLATFORM
value: "{{ .Values.global.deployment.platform }}"
- name: SERVER_FLAVOR
value: "doc"
- name: AFFINE_ENV
@@ -51,7 +53,7 @@ spec:
name: pg-postgresql
key: postgres-password
- name: DATABASE_URL
value: postgres://{{ .Values.global.database.user }}:$(DATABASE_PASSWORD)@{{ .Values.global.database.url }}:{{ .Values.global.database.port }}/{{ .Values.global.database.name }}
value: postgres://{{ .Values.global.database.user }}:$(DATABASE_PASSWORD)@{{ .Values.global.database.host }}:{{ .Values.global.database.port }}/{{ .Values.global.database.name }}
- name: REDIS_SERVER_ENABLED
value: "true"
- name: REDIS_SERVER_HOST

View File

@@ -15,6 +15,11 @@ app:
# AFFINE_SERVER_HOST
host: '0.0.0.0'
https: true
copilot:
enabled: false
secretName: copilot
openai:
key: ''
serviceAccount:
create: true
annotations: {}
@@ -26,7 +31,7 @@ podSecurityContext:
resources:
requests:
cpu: '2'
cpu: '1'
memory: 4Gi
probe:

View File

@@ -1,4 +1,4 @@
{{- if .Values.global.database.gcloud.enabled -}}
{{- if .Values.enabled -}}
1. Get the application URL by running these commands:
{{- if contains "NodePort" .Values.service.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "gcloud-sql-proxy.fullname" . }})

View File

@@ -1,4 +1,4 @@
{{- if .Values.global.database.gcloud.enabled -}}
{{- if .Values.enabled -}}
apiVersion: apps/v1
kind: Deployment
metadata:
@@ -42,7 +42,7 @@ spec:
- "0.0.0.0"
- "--structured-logs"
- "--auto-iam-authn"
- "{{ .Values.global.database.gcloud.connectionName }}"
- "{{ .Values.database.connectionName }}"
env:
# Enable HTTP healthchecks on port 9801. This enables /liveness,
# /readiness and /startup health check endpoints. Allow connections
@@ -56,7 +56,7 @@ spec:
value: 0.0.0.0
ports:
- name: cloud-sql-proxy
containerPort: {{ .Values.global.database.gcloud.proxyPort }}
containerPort: {{ .Values.service.port }}
protocol: TCP
- containerPort: 9801
protocol: TCP

View File

@@ -1,4 +1,4 @@
{{- if .Values.global.database.gcloud.enabled -}}
{{- if .Values.enabled -}}
apiVersion: v1
kind: Service
metadata:

View File

@@ -1,4 +1,4 @@
{{- if .Values.global.database.gcloud.enabled -}}
{{- if .Values.enabled -}}
{{- if .Values.serviceAccount.create -}}
apiVersion: v1
kind: ServiceAccount

View File

@@ -1,4 +1,4 @@
{{- if .Values.global.database.gcloud.enabled -}}
{{- if .Values.enabled -}}
apiVersion: v1
kind: Pod
metadata:

View File

@@ -1,4 +1,7 @@
replicaCount: 3
enabled: false
database:
connectionName: ""
image:
# the tag is defined as chart appVersion.

View File

@@ -3,7 +3,7 @@ name: graphql
description: AFFiNE GraphQL server
type: application
version: 0.0.0
appVersion: "0.20.0"
appVersion: "0.21.0"
dependencies:
- name: gcloud-sql-proxy
version: 0.0.0

View File

@@ -1,9 +0,0 @@
{{- if .Values.app.captcha.enabled -}}
apiVersion: v1
kind: Secret
metadata:
name: "{{ .Values.app.captcha.secretName }}"
type: Opaque
data:
turnstileSecret: {{ .Values.app.captcha.turnstile.secret | b64enc }}
{{- end }}

View File

@@ -1,12 +0,0 @@
{{- if .Values.app.copilot.enabled -}}
apiVersion: v1
kind: Secret
metadata:
name: "{{ .Values.app.copilot.secretName }}"
type: Opaque
data:
openaiSecret: {{ .Values.app.copilot.openai.key | b64enc }}
falSecret: {{ .Values.app.copilot.fal.key | b64enc }}
perplexitySecret: {{ .Values.app.copilot.perplexity.key | b64enc }}
unsplashSecret: {{ .Values.app.copilot.unsplash.key | b64enc }}
{{- end }}

View File

@@ -36,11 +36,13 @@ spec:
- name: NODE_ENV
value: "{{ .Values.env }}"
- name: NODE_OPTIONS
value: "--max-old-space-size=4096"
value: "--max-old-space-size=2048"
- name: NO_COLOR
value: "1"
- name: DEPLOYMENT_TYPE
value: "affine"
value: "{{ .Values.global.deployment.type }}"
- name: DEPLOYMENT_PLATFORM
value: "{{ .Values.global.deployment.platform }}"
- name: SERVER_FLAVOR
value: "graphql"
- name: AFFINE_ENV
@@ -51,9 +53,7 @@ spec:
name: pg-postgresql
key: postgres-password
- name: DATABASE_URL
value: postgres://{{ .Values.global.database.user }}:$(DATABASE_PASSWORD)@{{ .Values.global.database.url }}:{{ .Values.global.database.port }}/{{ .Values.global.database.name }}
- name: REDIS_SERVER_ENABLED
value: "true"
value: postgres://{{ .Values.global.database.user }}:$(DATABASE_PASSWORD)@{{ .Values.global.database.host }}:{{ .Values.global.database.port }}/{{ .Values.global.database.name }}
- name: REDIS_SERVER_HOST
value: "{{ .Values.global.redis.host }}"
- name: REDIS_SERVER_PORT
@@ -75,132 +75,8 @@ spec:
value: "{{ .Values.app.host }}"
- name: AFFINE_SERVER_HTTPS
value: "{{ .Values.app.https }}"
- name: ENABLE_R2_OBJECT_STORAGE
value: "{{ .Values.global.objectStorage.r2.enabled }}"
- name: FEATURES_EARLY_ACCESS_PREVIEW
value: "{{ .Values.app.features.earlyAccessPreview }}"
- name: FEATURES_SYNC_CLIENT_VERSION_CHECK
value: "{{ .Values.app.features.syncClientVersionCheck }}"
- name: MAILER_HOST
valueFrom:
secretKeyRef:
name: "{{ .Values.app.mailer.secretName }}"
key: host
- name: MAILER_PORT
valueFrom:
secretKeyRef:
name: "{{ .Values.app.mailer.secretName }}"
key: port
- name: MAILER_USER
valueFrom:
secretKeyRef:
name: "{{ .Values.app.mailer.secretName }}"
key: user
- name: MAILER_PASSWORD
valueFrom:
secretKeyRef:
name: "{{ .Values.app.mailer.secretName }}"
key: password
- name: MAILER_SENDER
valueFrom:
secretKeyRef:
name: "{{ .Values.app.mailer.secretName }}"
key: sender
- name: STRIPE_API_KEY
valueFrom:
secretKeyRef:
name: "{{ .Values.app.payment.stripe.secretName }}"
key: stripeAPIKey
- name: STRIPE_WEBHOOK_KEY
valueFrom:
secretKeyRef:
name: "{{ .Values.app.payment.stripe.secretName }}"
key: stripeWebhookKey
- name: DOC_SERVICE_ENDPOINT
value: "http://{{ .Values.global.docService.name }}:{{ .Values.global.docService.port }}"
{{ if .Values.app.experimental.enableJwstCodec }}
- name: DOC_MERGE_USE_JWST_CODEC
value: "true"
{{ end }}
{{ if .Values.global.objectStorage.r2.enabled }}
- name: R2_OBJECT_STORAGE_ACCOUNT_ID
valueFrom:
secretKeyRef:
name: "{{ .Values.global.objectStorage.r2.secretName }}"
key: accountId
- name: R2_OBJECT_STORAGE_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: "{{ .Values.global.objectStorage.r2.secretName }}"
key: accessKeyId
- name: R2_OBJECT_STORAGE_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: "{{ .Values.global.objectStorage.r2.secretName }}"
key: secretAccessKey
{{ end }}
{{ if .Values.app.captcha.enabled }}
- name: CAPTCHA_TURNSTILE_SECRET
valueFrom:
secretKeyRef:
name: "{{ .Values.app.captcha.secretName }}"
key: turnstileSecret
{{ end }}
{{ if .Values.app.copilot.enabled }}
- name: COPILOT_OPENAI_API_KEY
valueFrom:
secretKeyRef:
name: "{{ .Values.app.copilot.secretName }}"
key: openaiSecret
- name: COPILOT_FAL_API_KEY
valueFrom:
secretKeyRef:
name: "{{ .Values.app.copilot.secretName }}"
key: falSecret
- name: COPILOT_PERPLEXITY_API_KEY
valueFrom:
secretKeyRef:
name: "{{ .Values.app.copilot.secretName }}"
key: perplexitySecret
- name: COPILOT_UNSPLASH_API_KEY
valueFrom:
secretKeyRef:
name: "{{ .Values.app.copilot.secretName }}"
key: unsplashSecret
{{ end }}
{{ if .Values.app.oauth.google.enabled }}
- name: OAUTH_GOOGLE_ENABLED
value: "true"
- name: OAUTH_GOOGLE_CLIENT_ID
valueFrom:
secretKeyRef:
name: "{{ .Values.app.oauth.google.secretName }}"
key: clientId
- name: OAUTH_GOOGLE_CLIENT_SECRET
valueFrom:
secretKeyRef:
name: "{{ .Values.app.oauth.google.secretName }}"
key: clientSecret
{{ end }}
{{ if .Values.app.oauth.github.enabled }}
- name: OAUTH_GITHUB_CLIENT_ID
valueFrom:
secretKeyRef:
name: "{{ .Values.app.oauth.github.secretName }}"
key: clientId
- name: OAUTH_GITHUB_CLIENT_SECRET
valueFrom:
secretKeyRef:
name: "{{ .Values.app.oauth.github.secretName }}"
key: clientSecret
{{ end }}
{{ if .Values.app.metrics.enabled }}
- name: METRICS_CUSTOMER_IO_TOKEN
valueFrom:
secretKeyRef:
name: "{{ .Values.app.metrics.secretName }}"
key: customerIoSecret
{{ end }}
ports:
- name: http
containerPort: {{ .Values.service.port }}

View File

@@ -1,13 +0,0 @@
{{- if .Values.app.mailer.secretName -}}
apiVersion: v1
kind: Secret
metadata:
name: "{{ .Values.app.mailer.secretName }}"
type: Opaque
data:
host: "{{ .Values.app.mailer.host | b64enc }}"
port: "{{ .Values.app.mailer.port | b64enc }}"
user: "{{ .Values.app.mailer.user | b64enc }}"
password: "{{ .Values.app.mailer.password | b64enc }}"
sender: "{{ .Values.app.mailer.sender | b64enc }}"
{{- end }}

View File

@@ -1,9 +0,0 @@
{{- if .Values.app.metrics.enabled -}}
apiVersion: v1
kind: Secret
metadata:
name: "{{ .Values.app.metrics.secretName }}"
type: Opaque
data:
customerIoSecret: {{ .Values.app.metrics.customerIo.token | b64enc }}
{{- end }}

View File

@@ -23,37 +23,27 @@ spec:
- name: AFFINE_ENV
value: "{{ .Release.Namespace }}"
- name: DEPLOYMENT_TYPE
value: "affine"
value: "{{ .Values.global.deployment.type }}"
- name: DEPLOYMENT_PLATFORM
value: "{{ .Values.global.deployment.platform }}"
- name: DATABASE_PASSWORD
valueFrom:
secretKeyRef:
name: pg-postgresql
key: postgres-password
{{ if not .Values.global.database.gcloud.enabled }}
- name: DATABASE_URL
value: postgres://{{ .Values.global.database.user }}:$(DATABASE_PASSWORD)@{{ .Values.global.database.url }}:{{ .Values.global.database.port }}/{{ .Values.global.database.name }}
{{ end }}
{{ if .Values.global.database.gcloud.enabled }}
- name: DATABASE_URL
value: postgres://{{ .Values.global.database.user }}:$(DATABASE_PASSWORD)@{{ .Values.global.database.gcloud.cloudSqlInternal }}:{{ .Values.global.database.port }}/{{ .Values.global.database.name }}
{{ end }}
{{ if .Values.global.objectStorage.r2.enabled }}
- name: R2_OBJECT_STORAGE_ACCOUNT_ID
value: postgres://{{ .Values.global.database.user }}:$(DATABASE_PASSWORD)@{{ .Values.global.database.host }}:{{ .Values.global.database.port }}/{{ .Values.global.database.name }}
- name: REDIS_SERVER_HOST
value: "{{ .Values.global.redis.host }}"
- name: REDIS_SERVER_PORT
value: "{{ .Values.global.redis.port }}"
- name: REDIS_SERVER_USER
value: "{{ .Values.global.redis.username }}"
- name: REDIS_SERVER_PASSWORD
valueFrom:
secretKeyRef:
name: "{{ .Values.global.objectStorage.r2.secretName }}"
key: accountId
- name: R2_OBJECT_STORAGE_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: "{{ .Values.global.objectStorage.r2.secretName }}"
key: accessKeyId
- name: R2_OBJECT_STORAGE_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: "{{ .Values.global.objectStorage.r2.secretName }}"
key: secretAccessKey
{{ end }}
name: redis
key: redis-password
resources:
requests:
cpu: '100m'

View File

@@ -1,21 +0,0 @@
{{- if .Values.app.oauth.google.enabled -}}
apiVersion: v1
kind: Secret
metadata:
name: "{{ .Values.app.oauth.google.secretName }}"
type: Opaque
data:
clientId: "{{ .Values.app.oauth.google.clientId | b64enc }}"
clientSecret: "{{ .Values.app.oauth.google.clientSecret | b64enc }}"
{{- end }}
---
{{- if .Values.app.oauth.github.enabled -}}
apiVersion: v1
kind: Secret
metadata:
name: "{{ .Values.app.oauth.github.secretName }}"
type: Opaque
data:
clientId: "{{ .Values.app.oauth.github.clientId | b64enc }}"
clientSecret: "{{ .Values.app.oauth.github.clientSecret | b64enc }}"
{{- end }}

View File

@@ -1,8 +0,0 @@
apiVersion: v1
kind: Secret
metadata:
name: "{{ .Values.app.payment.stripe.secretName }}"
type: Opaque
data:
stripeAPIKey: "{{ .Values.app.payment.stripe.apiKey | b64enc }}"
stripeWebhookKey: "{{ .Values.app.payment.stripe.webhookKey | b64enc }}"

View File

@@ -10,55 +10,12 @@ fullnameOverride: ''
# map to NODE_ENV environment variable
env: 'production'
app:
experimental:
enableJwstCodec: true
# AFFINE_SERVER_SUB_PATH
path: ''
# AFFINE_SERVER_HOST
host: '0.0.0.0'
https: true
captcha:
enabled: false
secretName: captcha
turnstile:
secret: ''
copilot:
enabled: false
secretName: copilot
openai:
key: ''
oauth:
google:
enabled: false
secretName: oauth-google
clientId: ''
clientSecret: ''
github:
enabled: false
secretName: oauth-github
clientId: ''
clientSecret: ''
mailer:
secretName: 'mailer'
host: 'smtp.gmail.com'
port: '465'
user: ''
password: ''
sender: 'noreply@toeverything.info'
metrics:
enabled: false
secretName: 'metrics'
customerIo:
token: ''
payment:
stripe:
secretName: 'stripe'
apiKey: ''
webhookKey: ''
features:
earlyAccessPreview: false
syncClientVersionCheck: false
serviceAccount:
create: true
annotations: {}
@@ -71,8 +28,8 @@ podSecurityContext:
resources:
requests:
cpu: '4'
memory: 4Gi
cpu: '2'
memory: 2Gi
probe:
initialDelaySeconds: 20

View File

@@ -36,11 +36,13 @@ spec:
- name: NODE_ENV
value: "{{ .Values.env }}"
- name: NODE_OPTIONS
value: "--max-old-space-size=4096"
value: "--max-old-space-size=2048"
- name: NO_COLOR
value: "1"
- name: DEPLOYMENT_TYPE
value: "affine"
value: "{{ .Values.global.deployment.type }}"
- name: DEPLOYMENT_PLATFORM
value: "{{ .Values.global.deployment.platform }}"
- name: SERVER_FLAVOR
value: "renderer"
- name: AFFINE_ENV
@@ -51,7 +53,7 @@ spec:
name: pg-postgresql
key: postgres-password
- name: DATABASE_URL
value: postgres://{{ .Values.global.database.user }}:$(DATABASE_PASSWORD)@{{ .Values.global.database.url }}:{{ .Values.global.database.port }}/{{ .Values.global.database.name }}
value: postgres://{{ .Values.global.database.user }}:$(DATABASE_PASSWORD)@{{ .Values.global.database.host }}:{{ .Values.global.database.port }}/{{ .Values.global.database.name }}
- name: REDIS_SERVER_ENABLED
value: "true"
- name: REDIS_SERVER_HOST
@@ -75,25 +77,6 @@ spec:
value: "{{ .Values.app.host }}"
- name: AFFINE_SERVER_HTTPS
value: "{{ .Values.app.https }}"
- name: ENABLE_R2_OBJECT_STORAGE
value: "{{ .Values.global.objectStorage.r2.enabled }}"
{{ if .Values.global.objectStorage.r2.enabled }}
- name: R2_OBJECT_STORAGE_ACCOUNT_ID
valueFrom:
secretKeyRef:
name: "{{ .Values.global.objectStorage.r2.secretName }}"
key: accountId
- name: R2_OBJECT_STORAGE_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: "{{ .Values.global.objectStorage.r2.secretName }}"
key: accessKeyId
- name: R2_OBJECT_STORAGE_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: "{{ .Values.global.objectStorage.r2.secretName }}"
key: secretAccessKey
{{ end }}
- name: DOC_SERVICE_ENDPOINT
value: "http://{{ .Values.global.docService.name }}:{{ .Values.global.docService.port }}"
ports:

View File

@@ -27,8 +27,8 @@ podSecurityContext:
resources:
requests:
cpu: '4'
memory: 4Gi
cpu: '1'
memory: 2Gi
probe:
initialDelaySeconds: 20

View File

@@ -3,7 +3,7 @@ name: sync
description: AFFiNE Sync Server
type: application
version: 0.0.0
appVersion: "0.20.0"
appVersion: "0.21.0"
dependencies:
- name: gcloud-sql-proxy
version: 0.0.0

View File

@@ -42,7 +42,9 @@ spec:
- name: NO_COLOR
value: "1"
- name: DEPLOYMENT_TYPE
value: "affine"
value: "{{ .Values.global.deployment.type }}"
- name: DEPLOYMENT_PLATFORM
value: "{{ .Values.global.deployment.platform }}"
- name: SERVER_FLAVOR
value: "sync"
- name: AFFINE_ENV
@@ -53,9 +55,7 @@ spec:
name: pg-postgresql
key: postgres-password
- name: DATABASE_URL
value: postgres://{{ .Values.global.database.user }}:$(DATABASE_PASSWORD)@{{ .Values.global.database.url }}:{{ .Values.global.database.port }}/{{ .Values.global.database.name }}
- name: REDIS_SERVER_ENABLED
value: "true"
value: postgres://{{ .Values.global.database.user }}:$(DATABASE_PASSWORD)@{{ .Values.global.database.host }}:{{ .Values.global.database.port }}/{{ .Values.global.database.name }}
- name: REDIS_SERVER_HOST
value: "{{ .Values.global.redis.host }}"
- name: REDIS_SERVER_PORT

View File

@@ -24,11 +24,11 @@ podSecurityContext:
resources:
limits:
cpu: '4'
memory: 8Gi
requests:
cpu: '2'
memory: 4Gi
requests:
cpu: '1'
memory: 2Gi
probe:
initialDelaySeconds: 20

View File

@@ -1,11 +0,0 @@
{{- if .Values.global.objectStorage.r2.enabled -}}
apiVersion: v1
kind: Secret
metadata:
name: "{{ .Values.global.objectStorage.r2.secretName }}"
type: Opaque
data:
accountId: {{ .Values.global.objectStorage.r2.accountId | b64enc }}
accessKeyId: {{ .Values.global.objectStorage.r2.accessKeyId | b64enc }}
secretAccessKey: {{ .Values.global.objectStorage.r2.secretAccessKey | b64enc }}
{{- end }}

View File

@@ -11,37 +11,23 @@ global:
privateKey: ''
database:
user: 'postgres'
url: 'pg-postgresql'
host: 'pg-postgresql'
port: '5432'
name: 'affine'
password: ''
gcloud:
enabled: false
# use for migration
cloudSqlInternal: ''
connectionName: ''
serviceAccount: ''
cloudProxyReplicas: 3
proxyPort: '5432'
redis:
enabled: true
host: 'redis-master'
port: '6379'
username: ''
password: ''
database: 0
objectStorage:
r2:
enabled: false
secretName: r2
accountId: ''
accessKeyId: ''
secretAccessKey: ''
gke:
enabled: true
docService:
name: 'affine-doc'
port: 3020
deployment:
# change to 'selfhosted' and 'unknown' if this chart is ready to be used for selfhosted deployment
type: 'affine'
platform: 'gcp'
graphql:
service:

View File

@@ -0,0 +1,6 @@
FROM pgvector/pgvector:pg15 AS builder
FROM bitnami/postgresql:15
COPY --from=builder /usr/lib/postgresql/15/lib/vector.so /opt/bitnami/postgresql/lib/
COPY --from=builder /usr/share/postgresql/15/extension/vector* /opt/bitnami/postgresql/share/extension/

View File

@@ -40,6 +40,13 @@
{
"groupName": "nestjs",
"matchPackageNames": ["/^@nestjs/"]
},
{
"groupName": "opentelemetry",
"matchPackageNames": [
"/^@opentelemetry/",
"/^@google-cloud\/opentelemetry-/"
]
}
],
"commitMessagePrefix": "chore: ",

View File

@@ -25,10 +25,11 @@ jobs:
uses: ./.github/actions/setup-node
with:
electron-install: false
extra-flags: workspaces focus @affine/server
extra-flags: workspaces focus @affine/server @types/affine__env
- name: Build Server
run: |
find packages/backend/server -type d -name "__tests__" -exec rm -rf {} +
find packages/backend/server/src -type d -name "__tests__" -exec rm -rf {} +
rm -rf packages/backend/server/src/seed
yarn workspace @affine/server build
- name: Upload server dist
uses: actions/upload-artifact@v4

View File

@@ -42,6 +42,8 @@ jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
env:
NODE_OPTIONS: --max-old-space-size=14384
needs: optimize_ci
if: needs.optimize_ci.outputs.skip == 'false'
permissions:
@@ -53,44 +55,30 @@ jobs:
fail-fast: false
matrix:
language: ['javascript', 'typescript']
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
project: ['affine', 'blocksuite']
steps:
- name: Checkout repository
uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
source-root: ${{ matrix.project == 'affine' && '.' || 'blocksuite' }}
# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality
- name: Delete blocksuite before codeql analysis
if: ${{ matrix.project == 'affine' }}
run: rm -rf blocksuite
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v3
# Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
# If the Autobuild fails above, remove it and uncomment the following three lines.
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
# - run: |
# echo "Run, Build Application using script"
# ./location_of_script_within_repo/buildscript.sh
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
lint:
name: Lint
runs-on: ubuntu-latest
runs-on: ubuntu-24.04-arm
needs: optimize_ci
if: needs.optimize_ci.outputs.skip == 'false'
@@ -115,8 +103,34 @@ jobs:
yarn lint:prettier
- name: Yarn Dedupe
run: yarn dedupe --check
typecheck:
name: Typecheck
runs-on: ubuntu-24.04-arm
needs: optimize_ci
if: needs.optimize_ci.outputs.skip == 'false'
env:
NODE_OPTIONS: --max-old-space-size=14384
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: ./.github/actions/setup-node
with:
electron-install: false
full-cache: true
- name: Run i18n codegen
run: yarn affine @affine/i18n build
- name: Run Type Check
run: yarn typecheck
- name: Run BS Docs Build
run: |
yarn affine bs-docs build
git status --porcelain | grep . && {
echo "Run 'yarn typecheck && yarn affine bs-docs build' and make sure all changes are submitted"
exit 1
} || {
echo "All changes are submitted"
}
lint-rust:
name: Lint Rust
@@ -138,6 +152,31 @@ jobs:
rustup component add clippy
cargo clippy --all-targets --all-features -- -D warnings
check-git-status:
name: Check Git Status
runs-on: ubuntu-latest
needs:
- optimize_ci
if: needs.optimize_ci.outputs.skip == 'false'
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: ./.github/actions/setup-node
with:
full-cache: true
- name: Run Check
run: |
yarn affine init
yarn affine gql build
yarn affine i18n build
git status --porcelain | grep . && {
echo "Run 'yarn affine init && yarn affine gql build && yarn affine i18n build' and make sure all changes are submitted"
exit 1
} || {
echo "All changes are submitted"
}
check-yarn-binary:
name: Check yarn binary
runs-on: ubuntu-latest
@@ -150,8 +189,8 @@ jobs:
yarn set version $(node -e "console.log(require('./package.json').packageManager.split('@')[1])")
git diff --exit-code
e2e-legacy-blocksuite-test:
name: Legacy Blocksuite E2E Test
e2e-blocksuite-test:
name: E2E BlockSuite Test
runs-on: ubuntu-latest
needs: optimize_ci
if: needs.optimize_ci.outputs.skip == 'false'
@@ -165,6 +204,7 @@ jobs:
uses: ./.github/actions/setup-node
with:
playwright-install: true
playwright-platform: 'chromium'
electron-install: false
full-cache: true
@@ -172,7 +212,7 @@ jobs:
run: yarn workspace @blocksuite/playground build
- name: Run playwright tests
run: yarn workspace @blocksuite/legacy-e2e test --forbid-only --shard=${{ matrix.shard }}/${{ strategy.job-total }}
run: yarn workspace @affine-test/blocksuite test --forbid-only --shard=${{ matrix.shard }}/${{ strategy.job-total }}
- name: Upload test results
if: always()
@@ -184,22 +224,24 @@ jobs:
e2e-test:
name: E2E Test
runs-on: ubuntu-latest
runs-on: ubuntu-24.04-arm
needs: optimize_ci
if: needs.optimize_ci.outputs.skip == 'false'
env:
DISTRIBUTION: web
IN_CI_TEST: true
NODE_OPTIONS: --max-old-space-size=14384
strategy:
fail-fast: false
matrix:
shard: [1, 2, 3, 4, 5]
shard: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: ./.github/actions/setup-node
with:
playwright-install: true
playwright-platform: 'chromium'
electron-install: false
full-cache: true
@@ -298,17 +340,11 @@ jobs:
matrix:
spec:
- { os: ubuntu-latest, target: x86_64-unknown-linux-gnu }
- { os: windows-latest, target: x86_64-pc-windows-msvc }
- { os: macos-latest, target: x86_64-apple-darwin }
- { os: macos-latest, target: aarch64-apple-darwin }
steps:
- uses: actions/checkout@v4
- uses: samypr100/setup-dev-drive@v3
if: ${{ matrix.spec.os == 'windows-latest' }}
with:
workspace-copy: true
drive-size: 8GB
- name: Setup Node.js
uses: ./.github/actions/setup-node
with:
@@ -316,7 +352,7 @@ jobs:
electron-install: false
- name: Setup filename
id: filename
working-directory: ${{ env.DEV_DRIVE_WORKSPACE || github.workspace }}
working-directory: ${{ github.workspace }}
shell: bash
run: |
export PLATFORM_ARCH_ABI=$(node -e "console.log(require('@napi-rs/cli').parseTriple('${{ matrix.spec.target }}').platformArchABI)")
@@ -331,7 +367,58 @@ jobs:
if: always()
with:
name: ${{ steps.filename.outputs.filename }}
path: ${{ env.DEV_DRIVE_WORKSPACE || github.workspace }}/packages/frontend/native/${{ steps.filename.outputs.filename }}
path: ${{ github.workspace }}/packages/frontend/native/${{ steps.filename.outputs.filename }}
if-no-files-found: error
# Split Windows build because it's too slow
# and other ci jobs required linux native
build-windows-native:
name: Build AFFiNE native (${{ matrix.spec.target }})
runs-on: ${{ matrix.spec.os }}
needs: optimize_ci
if: needs.optimize_ci.outputs.skip == 'false'
env:
CARGO_PROFILE_RELEASE_DEBUG: '1'
strategy:
fail-fast: false
matrix:
spec:
- { os: windows-latest, target: x86_64-pc-windows-msvc }
- { os: windows-latest, target: aarch64-pc-windows-msvc }
steps:
- uses: actions/checkout@v4
- uses: samypr100/setup-dev-drive@v3
with:
workspace-copy: true
drive-size: 8GB
drive-format: NTFS
env-mapping: |
CARGO_HOME,{{ DEV_DRIVE }}/.cargo
RUSTUP_HOME,{{ DEV_DRIVE }}/.rustup
- name: Setup Node.js
uses: ./.github/actions/setup-node
with:
extra-flags: workspaces focus @affine/native
electron-install: false
- name: Setup filename
id: filename
working-directory: ${{ env.DEV_DRIVE_WORKSPACE }}
shell: bash
run: |
export PLATFORM_ARCH_ABI=$(node -e "console.log(require('@napi-rs/cli').parseTriple('${{ matrix.spec.target }}').platformArchABI)")
echo "filename=affine.$PLATFORM_ARCH_ABI.node" >> "$GITHUB_OUTPUT"
- name: Build AFFiNE native
uses: ./.github/actions/build-rust
with:
target: ${{ matrix.spec.target }}
package: '@affine/native'
- name: Upload ${{ steps.filename.outputs.filename }}
uses: actions/upload-artifact@v4
if: always()
with:
name: ${{ steps.filename.outputs.filename }}
path: ${{ env.DEV_DRIVE_WORKSPACE }}/packages/frontend/native/${{ steps.filename.outputs.filename }}
if-no-files-found: error
build-server-native:
@@ -387,6 +474,28 @@ jobs:
path: dist.tar.gz
if-no-files-found: error
native-unit-test:
name: Native Unit Test
runs-on: ubuntu-latest
needs:
- optimize_ci
- build-native
if: needs.optimize_ci.outputs.skip == 'false'
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: ./.github/actions/setup-node
with:
extra-flags: workspaces focus @affine-tools/cli @affine/monorepo @affine/native
electron-install: false
- name: Download affine.linux-x64-gnu.node
uses: actions/download-artifact@v4
with:
name: affine.linux-x64-gnu.node
path: ./packages/frontend/native
- name: Unit Test
run: yarn affine @affine/native test
server-test:
name: Server Test
runs-on: ubuntu-latest
@@ -397,16 +506,15 @@ jobs:
strategy:
fail-fast: false
matrix:
node_index: [0, 1, 2]
total_nodes: [3]
node_index: [0, 1, 2, 3, 4, 5, 6, 7]
total_nodes: [8]
env:
NODE_ENV: test
DISTRIBUTION: web
DATABASE_URL: postgresql://affine:affine@localhost:5432/affine
REDIS_SERVER_HOST: localhost
services:
postgres:
image: postgres
image: pgvector/pgvector:pg16
env:
POSTGRES_PASSWORD: affine
options: >-
@@ -447,7 +555,6 @@ jobs:
run: yarn affine @affine/server test:coverage --forbid-only
env:
CARGO_TARGET_DIR: '${{ github.workspace }}/target'
COPILOT_OPENAI_API_KEY: 'use_fake_openai_api_key'
CI_NODE_INDEX: ${{ matrix.node_index }}
CI_NODE_TOTAL: ${{ matrix.total_nodes }}
@@ -460,6 +567,64 @@ jobs:
name: affine
fail_ci_if_error: false
server-e2e-test:
# the new version of server e2e test should be super fast, so sharding testing is not needed
name: Server E2E Test
runs-on: ubuntu-latest
needs:
- optimize_ci
- build-server-native
if: needs.optimize_ci.outputs.skip == 'false'
env:
NODE_ENV: test
DATABASE_URL: postgresql://affine:affine@localhost:5432/affine
REDIS_SERVER_HOST: localhost
services:
postgres:
image: pgvector/pgvector:pg16
env:
POSTGRES_PASSWORD: affine
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
redis:
image: redis
ports:
- 6379:6379
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: ./.github/actions/setup-node
with:
electron-install: false
full-cache: true
- name: Download server-native.node
uses: actions/download-artifact@v4
with:
name: server-native.node
path: ./packages/backend/server
- name: Prepare Server Test Environment
uses: ./.github/actions/server-test-env
- name: Run server tests
run: yarn affine @affine/server e2e:coverage --forbid-only
- name: Upload server test coverage results
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/backend/server/.coverage/lcov.info
flags: server-test
name: affine
fail_ci_if_error: false
rust-test:
name: Run native tests
runs-on: ubuntu-latest
@@ -495,7 +660,7 @@ jobs:
REDIS_SERVER_HOST: localhost
services:
postgres:
image: postgres
image: pgvector/pgvector:pg16
env:
POSTGRES_PASSWORD: affine
options: >-
@@ -552,6 +717,11 @@ jobs:
- name: Prepare Server Test Environment
if: ${{ steps.check-blocksuite-update.outputs.skip != 'true' || steps.apifilter.outputs.changed == 'true' }}
env:
COPILOT_OPENAI_API_KEY: ${{ secrets.COPILOT_OPENAI_API_KEY }}
COPILOT_GOOGLE_API_KEY: ${{ secrets.COPILOT_GOOGLE_API_KEY }}
COPILOT_FAL_API_KEY: ${{ secrets.COPILOT_FAL_API_KEY }}
COPILOT_PERPLEXITY_API_KEY: ${{ secrets.COPILOT_PERPLEXITY_API_KEY }}
uses: ./.github/actions/server-test-env
- name: Run server tests
@@ -559,9 +729,6 @@ jobs:
run: yarn affine @affine/server test:copilot:coverage --forbid-only
env:
CARGO_TARGET_DIR: '${{ github.workspace }}/target'
COPILOT_OPENAI_API_KEY: ${{ secrets.COPILOT_OPENAI_API_KEY }}
COPILOT_FAL_API_KEY: ${{ secrets.COPILOT_FAL_API_KEY }}
COPILOT_PERPLEXITY_API_KEY: ${{ secrets.COPILOT_PERPLEXITY_API_KEY }}
- name: Upload server test coverage results
if: ${{ steps.check-blocksuite-update.outputs.skip != 'true' || steps.apifilter.outputs.changed == 'true' }}
@@ -574,7 +741,7 @@ jobs:
fail_ci_if_error: false
copilot-e2e-test:
name: Server Copilot E2E Test
name: Frontend Copilot E2E Test
runs-on: ubuntu-latest
env:
DISTRIBUTION: web
@@ -585,13 +752,13 @@ jobs:
strategy:
fail-fast: false
matrix:
shardIndex: [1, 2, 3]
shardTotal: [3]
shardIndex: [1, 2, 3, 4, 5, 6, 7, 8]
shardTotal: [8]
needs:
- build-server-native
services:
postgres:
image: postgres
image: pgvector/pgvector:pg16
env:
POSTGRES_PASSWORD: affine
options: >-
@@ -632,6 +799,7 @@ jobs:
uses: ./.github/actions/setup-node
with:
playwright-install: true
playwright-platform: 'chromium'
electron-install: false
hard-link-nm: false
@@ -642,16 +810,22 @@ jobs:
name: server-native.node
path: ./packages/backend/server
- name: Prepare Server Test Environment
if: ${{ steps.check-blocksuite-update.outputs.skip != 'true' || steps.e2efilter.outputs.changed == 'true' }}
env:
COPILOT_OPENAI_API_KEY: ${{ secrets.COPILOT_OPENAI_API_KEY }}
COPILOT_GOOGLE_API_KEY: ${{ secrets.COPILOT_GOOGLE_API_KEY }}
COPILOT_FAL_API_KEY: ${{ secrets.COPILOT_FAL_API_KEY }}
COPILOT_PERPLEXITY_API_KEY: ${{ secrets.COPILOT_PERPLEXITY_API_KEY }}
uses: ./.github/actions/server-test-env
- name: Run Copilot E2E Test ${{ matrix.shardIndex }}/${{ matrix.shardTotal }}
if: ${{ steps.check-blocksuite-update.outputs.skip != 'true' || steps.e2efilter.outputs.changed == 'true' }}
uses: ./.github/actions/copilot-test
with:
script: yarn affine @affine-test/affine-cloud-copilot e2e --forbid-only --shard=${{ matrix.shardIndex }}/${{ matrix.shardTotal }}
openai-key: ${{ secrets.COPILOT_OPENAI_API_KEY }}
fal-key: ${{ secrets.COPILOT_FAL_API_KEY }}
perplexity-key: ${{ secrets.COPILOT_PERPLEXITY_API_KEY }}
server-e2e-test:
cloud-e2e-test:
name: ${{ matrix.tests.name }}
runs-on: ubuntu-latest
needs:
@@ -668,16 +842,25 @@ jobs:
fail-fast: false
matrix:
tests:
- name: 'Server E2E Test 1/3'
- name: 'Cloud E2E Test 1/6'
shard: 1
script: yarn affine @affine-test/affine-cloud e2e --forbid-only --shard=1/3
- name: 'Server E2E Test 2/3'
script: yarn affine @affine-test/affine-cloud e2e --forbid-only --shard=1/6
- name: 'Cloud E2E Test 2/6'
shard: 2
script: yarn affine @affine-test/affine-cloud e2e --forbid-only --shard=2/3
- name: 'Server E2E Test 3/3'
script: yarn affine @affine-test/affine-cloud e2e --forbid-only --shard=2/6
- name: 'Cloud E2E Test 3/6'
shard: 3
script: yarn affine @affine-test/affine-cloud e2e --forbid-only --shard=3/3
- name: 'Server Desktop E2E Test'
script: yarn affine @affine-test/affine-cloud e2e --forbid-only --shard=3/6
- name: 'Cloud E2E Test 4/6'
shard: 4
script: yarn affine @affine-test/affine-cloud e2e --forbid-only --shard=4/6
- name: 'Cloud E2E Test 5/6'
shard: 5
script: yarn affine @affine-test/affine-cloud e2e --forbid-only --shard=5/6
- name: 'Cloud E2E Test 6/6'
shard: 6
script: yarn affine @affine-test/affine-cloud e2e --forbid-only --shard=6/6
- name: 'Cloud Desktop E2E Test'
shard: desktop
script: |
yarn affine @affine/electron build:dev
@@ -688,7 +871,7 @@ jobs:
xvfb-run --auto-servernum --server-args="-screen 0 1280x960x24" -- yarn affine @affine-test/affine-desktop-cloud e2e
services:
postgres:
image: postgres
image: pgvector/pgvector:pg16
env:
POSTGRES_PASSWORD: affine
options: >-
@@ -736,9 +919,6 @@ jobs:
${{ matrix.tests.script }}
env:
DEV_SERVER_URL: http://localhost:8080
COPILOT_OPENAI_API_KEY: 1
COPILOT_FAL_API_KEY: 1
COPILOT_PERPLEXITY_API_KEY: 1
- name: Upload test results
if: always()
@@ -838,6 +1018,79 @@ jobs:
if: ${{ matrix.spec.test && matrix.spec.os != 'ubuntu-latest' }}
run: yarn affine @affine-test/affine-desktop e2e
- name: Upload test results
if: always()
uses: actions/upload-artifact@v4
with:
name: test-results-e2e-${{ matrix.spec.os }}-${{ matrix.spec.arch }}
path: ./test-results
if-no-files-found: ignore
desktop-bundle-check:
name: Desktop bundle check (${{ matrix.spec.os }}, ${{ matrix.spec.platform }}, ${{ matrix.spec.arch }}, ${{ matrix.spec.target }}, ${{ matrix.spec.test }})
runs-on: ${{ matrix.spec.os }}
needs:
- optimize_ci
- build-electron-renderer
- build-native
if: needs.optimize_ci.outputs.skip == 'false'
strategy:
fail-fast: false
matrix:
spec:
- {
os: macos-latest,
platform: macos,
arch: x64,
target: x86_64-apple-darwin,
test: false,
}
- {
os: macos-latest,
platform: macos,
arch: arm64,
target: aarch64-apple-darwin,
test: true,
}
- {
os: ubuntu-latest,
platform: linux,
arch: x64,
target: x86_64-unknown-linux-gnu,
test: true,
}
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: ./.github/actions/setup-node
timeout-minutes: 10
with:
extra-flags: workspaces focus @affine/electron @affine/monorepo @affine-test/affine-desktop @affine/nbstore @toeverything/infra
playwright-install: true
hard-link-nm: false
enableScripts: false
- name: Setup filename
id: filename
shell: bash
run: |
export PLATFORM_ARCH_ABI=$(node -e "console.log(require('@napi-rs/cli').parseTriple('${{ matrix.spec.target }}').platformArchABI)")
echo "filename=affine.$PLATFORM_ARCH_ABI.node" >> "$GITHUB_OUTPUT"
- name: Download ${{ steps.filename.outputs.filename }}
uses: actions/download-artifact@v4
with:
name: ${{ steps.filename.outputs.filename }}
path: ./packages/frontend/native
- name: Download web artifact
uses: ./.github/actions/download-web
with:
path: packages/frontend/apps/electron/resources/web-static
- name: Build Desktop Layers
run: yarn affine @affine/electron build
- name: Make bundle (macOS)
if: ${{ matrix.spec.target == 'aarch64-apple-darwin' }}
env:
@@ -861,18 +1114,10 @@ jobs:
HOIST_NODE_MODULES: 1
- name: Output check
if: ${{ matrix.spec.os == 'macos-14' && matrix.spec.arch == 'arm64' }}
if: ${{ matrix.spec.os == 'macos-latest' && matrix.spec.arch == 'arm64' }}
run: |
yarn affine @affine/electron node ./scripts/macos-arm64-output-check.ts
- name: Upload test results
if: always()
uses: actions/upload-artifact@v4
with:
name: test-results-e2e-${{ matrix.spec.os }}-${{ matrix.spec.arch }}
path: ./test-results
if-no-files-found: ignore
test-build-mobile-app:
uses: ./.github/workflows/release-mobile.yml
needs: optimize_ci
@@ -888,21 +1133,27 @@ jobs:
needs:
- analyze
- lint
- typecheck
- lint-rust
- check-git-status
- check-yarn-binary
- e2e-test
- e2e-legacy-blocksuite-test
- e2e-blocksuite-test
- e2e-mobile-test
- unit-test
- build-native
- build-windows-native
- build-server-native
- build-electron-renderer
- native-unit-test
- server-test
- server-e2e-test
- rust-test
- copilot-api-test
- copilot-e2e-test
- server-e2e-test
- desktop-test
- desktop-bundle-check
- cloud-e2e-test
- test-build-mobile-app
if: always()
runs-on: ubuntu-latest

View File

@@ -40,7 +40,7 @@ jobs:
REDIS_SERVER_HOST: localhost
services:
postgres:
image: postgres
image: pgvector/pgvector:pg16
env:
POSTGRES_PASSWORD: affine
options: >-
@@ -76,15 +76,17 @@ jobs:
path: ./packages/backend/server
- name: Prepare Server Test Environment
env:
COPILOT_OPENAI_API_KEY: ${{ secrets.COPILOT_OPENAI_API_KEY }}
COPILOT_FAL_API_KEY: ${{ secrets.COPILOT_FAL_API_KEY }}
COPILOT_GOOGLE_API_KEY: ${{ secrets.COPILOT_GOOGLE_API_KEY }}
COPILOT_PERPLEXITY_API_KEY: ${{ secrets.COPILOT_PERPLEXITY_API_KEY }}
uses: ./.github/actions/server-test-env
- name: Run server tests
run: yarn affine @affine/server test:copilot:coverage --forbid-only
env:
CARGO_TARGET_DIR: '${{ github.workspace }}/target'
COPILOT_OPENAI_API_KEY: ${{ secrets.COPILOT_OPENAI_API_KEY }}
COPILOT_FAL_API_KEY: ${{ secrets.COPILOT_FAL_API_KEY }}
COPILOT_PERPLEXITY_API_KEY: ${{ secrets.COPILOT_PERPLEXITY_API_KEY }}
- name: Upload server test coverage results
uses: codecov/codecov-action@v5
@@ -96,7 +98,7 @@ jobs:
fail_ci_if_error: false
copilot-e2e-test:
name: Server Copilot E2E Test
name: Frontend Copilot E2E Test
runs-on: ubuntu-latest
env:
DISTRIBUTION: web
@@ -106,13 +108,13 @@ jobs:
strategy:
fail-fast: false
matrix:
shardIndex: [1, 2, 3]
shardTotal: [3]
shardIndex: [1, 2, 3, 4, 5, 6, 7, 8]
shardTotal: [8]
needs:
- build-server-native
services:
postgres:
image: postgres
image: pgvector/pgvector:pg16
env:
POSTGRES_PASSWORD: affine
options: >-
@@ -142,13 +144,18 @@ jobs:
name: server-native.node
path: ./packages/backend/server
- name: Prepare Server Test Environment
env:
COPILOT_OPENAI_API_KEY: ${{ secrets.COPILOT_OPENAI_API_KEY }}
COPILOT_FAL_API_KEY: ${{ secrets.COPILOT_FAL_API_KEY }}
COPILOT_GOOGLE_API_KEY: ${{ secrets.COPILOT_GOOGLE_API_KEY }}
COPILOT_PERPLEXITY_API_KEY: ${{ secrets.COPILOT_PERPLEXITY_API_KEY }}
uses: ./.github/actions/server-test-env
- name: Run Copilot E2E Test ${{ matrix.shardIndex }}/${{ matrix.shardTotal }}
uses: ./.github/actions/copilot-test
with:
script: yarn affine @affine-test/affine-cloud-copilot e2e --forbid-only --shard=${{ matrix.shardIndex }}/${{ matrix.shardTotal }}
openai-key: ${{ secrets.COPILOT_OPENAI_API_KEY }}
fal-key: ${{ secrets.COPILOT_FAL_API_KEY }}
perplexity-key: ${{ secrets.COPILOT_PERPLEXITY_API_KEY }}
test-done:
needs:

View File

@@ -92,32 +92,16 @@ jobs:
APP_VERSION: ${{ steps.version.outputs.APP_VERSION }}
DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }}
CANARY_DEPLOY_HOST: ${{ secrets.CANARY_DEPLOY_HOST }}
R2_ACCOUNT_ID: ${{ secrets.R2_ACCOUNT_ID }}
R2_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }}
R2_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET_ACCESS_KEY }}
CAPTCHA_TURNSTILE_SECRET: ${{ secrets.CAPTCHA_TURNSTILE_SECRET }}
COPILOT_OPENAI_API_KEY: ${{ secrets.COPILOT_OPENAI_API_KEY }}
COPILOT_FAL_API_KEY: ${{ secrets.COPILOT_FAL_API_KEY }}
COPILOT_PERPLEXITY_API_KEY: ${{ secrets.COPILOT_PERPLEXITY_API_KEY }}
COPILOT_UNSPLASH_API_KEY: ${{ secrets.COPILOT_UNSPLASH_API_KEY }}
METRICS_CUSTOMER_IO_TOKEN: ${{ secrets.METRICS_CUSTOMER_IO_TOKEN }}
MAILER_SENDER: ${{ secrets.OAUTH_EMAIL_SENDER }}
MAILER_USER: ${{ secrets.OAUTH_EMAIL_LOGIN }}
MAILER_PASSWORD: ${{ secrets.OAUTH_EMAIL_PASSWORD }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
AFFINE_GOOGLE_CLIENT_ID: ${{ secrets.AFFINE_GOOGLE_CLIENT_ID }}
AFFINE_GOOGLE_CLIENT_SECRET: ${{ secrets.AFFINE_GOOGLE_CLIENT_SECRET }}
DATABASE_URL: ${{ secrets.DATABASE_URL }}
DATABASE_USERNAME: ${{ secrets.DATABASE_USERNAME }}
DATABASE_PASSWORD: ${{ secrets.DATABASE_PASSWORD }}
DATABASE_NAME: ${{ secrets.DATABASE_NAME }}
GCLOUD_CONNECTION_NAME: ${{ secrets.GCLOUD_CONNECTION_NAME }}
GCLOUD_CLOUD_SQL_INTERNAL_ENDPOINT: ${{ secrets.GCLOUD_CLOUD_SQL_INTERNAL_ENDPOINT }}
REDIS_HOST: ${{ secrets.REDIS_HOST }}
REDIS_PASSWORD: ${{ secrets.REDIS_PASSWORD }}
REDIS_SERVER_HOST: ${{ secrets.REDIS_SERVER_HOST }}
REDIS_SERVER_PASSWORD: ${{ secrets.REDIS_SERVER_PASSWORD }}
CLOUD_SQL_IAM_ACCOUNT: ${{ secrets.CLOUD_SQL_IAM_ACCOUNT }}
STRIPE_API_KEY: ${{ secrets.STRIPE_API_KEY }}
STRIPE_WEBHOOK_KEY: ${{ secrets.STRIPE_WEBHOOK_KEY }}
APP_IAM_ACCOUNT: ${{ secrets.APP_IAM_ACCOUNT }}
STATIC_IP_NAME: ${{ secrets.STATIC_IP_NAME }}
deploy-done:

View File

@@ -73,11 +73,11 @@ jobs:
fail-fast: false
matrix:
spec:
- runner: macos-14
- runner: macos-latest
platform: darwin
arch: x64
target: x86_64-apple-darwin
- runner: macos-14
- runner: macos-latest
platform: darwin
arch: arm64
target: aarch64-apple-darwin
@@ -127,7 +127,7 @@ jobs:
- name: Signing By Apple Developer ID
if: ${{ matrix.spec.platform == 'darwin' }}
uses: apple-actions/import-codesign-certs@v3
uses: apple-actions/import-codesign-certs@v5
with:
p12-file-base64: ${{ secrets.CERTIFICATES_P12 }}
p12-password: ${{ secrets.CERTIFICATES_P12_PASSWORD }}
@@ -142,11 +142,19 @@ jobs:
# some flatpak deps need git protocol.file.allow
git config --global protocol.file.allow always
- name: Remove nbstore node_modules
shell: bash
# node_modules of nbstore is not needed for building, and it will make the build process out of memory
run: |
rm -rf packages/frontend/apps/electron/node_modules/@affine/nbstore/node_modules/@blocksuite
rm -rf packages/frontend/apps/electron/node_modules/@affine/native/node_modules
- name: make
run: yarn affine @affine/electron make --platform=${{ matrix.spec.platform }} --arch=${{ matrix.spec.arch }}
env:
SKIP_WEB_BUILD: 1
HOIST_NODE_MODULES: 1
NODE_OPTIONS: --max-old-space-size=14384
- name: signing DMG
if: ${{ matrix.spec.platform == 'darwin' }}
@@ -240,11 +248,20 @@ jobs:
- name: Build Desktop Layers
run: yarn affine @affine/electron build
- name: Remove nbstore node_modules
shell: bash
# node_modules of nbstore is not needed for building, and it will make the build process out of memory
run: |
rm -rf packages/frontend/apps/electron/node_modules/@affine/nbstore/node_modules/@blocksuite
rm -rf packages/frontend/apps/electron/node_modules/@affine/native/node_modules
- name: package
run: yarn affine @affine/electron package --platform=${{ matrix.spec.platform }} --arch=${{ matrix.spec.arch }}
run: |
yarn affine @affine/electron package --platform=${{ matrix.spec.platform }} --arch=${{ matrix.spec.arch }}
env:
SKIP_WEB_BUILD: 1
HOIST_NODE_MODULES: 1
NODE_OPTIONS: --max-old-space-size=14384
- name: get all files to be signed
id: get_files_to_be_signed
@@ -443,6 +460,7 @@ jobs:
run: |
cp ./.docker/selfhost/compose.yml ./release/docker-compose.yml
cp ./.docker/selfhost/.env.example ./release/.env.example
cp ./.docker/selfhost/schema.json ./release/config.schema.json
- name: Generate Release yml
run: |
node ./scripts/generate-release-yml.mjs

View File

@@ -54,7 +54,7 @@ jobs:
build-ios-web:
needs:
- output-env
runs-on: ubuntu-latest
runs-on: ubuntu-24.04-arm
environment: ${{ needs.output-env.outputs.ENVIRONMENT }}
outputs:
RELEASE_VERSION: ${{ steps.version.outputs.APP_VERSION }}
@@ -85,7 +85,7 @@ jobs:
path: packages/frontend/apps/ios/dist
build-android-web:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04-arm
needs:
- output-env
environment: ${{ needs.output-env.outputs.ENVIRONMENT }}
@@ -117,10 +117,31 @@ jobs:
name: android
path: packages/frontend/apps/android/dist
ios:
runs-on: macos-latest
determine-ios-runner:
runs-on: ubuntu-latest
needs:
- build-ios-web
outputs:
RUNNER: ${{ steps.runner.outputs.RUNNER }}
steps:
- name: Determine Runner
id: runner
# Randomly pick runner with 80% chance for blaze/macos-14 and 20% chance for namespace-profile-macos
# blaze/macos-14 is free but has limited concurrency
run: |
RANDOM_NUMBER=$(( $RANDOM % 100 + 1 ))
if [ $RANDOM_NUMBER -le 20 ]; then
echo "Selected namespace-profile-macos (20% probability)"
echo "RUNNER=namespace-profile-macos" >> $GITHUB_OUTPUT
else
echo "Selected blaze/macos-14 (80% probability)"
echo "RUNNER=blaze/macos-14" >> $GITHUB_OUTPUT
fi
ios:
runs-on: ${{ github.ref_name == 'canary' && 'macos-latest' || needs.determine-ios-runner.outputs.RUNNER }}
needs:
- determine-ios-runner
steps:
- uses: actions/checkout@v4
- name: Download mobile artifact
@@ -139,11 +160,13 @@ jobs:
enableScripts: false
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: 16.1
xcode-version: 16.2
- name: Install Swiftformat
run: brew install swiftformat
- name: Cap sync
run: yarn workspace @affine/ios cap sync
run: yarn workspace @affine/ios sync
- name: Signing By Apple Developer ID
uses: apple-actions/import-codesign-certs@v3
uses: apple-actions/import-codesign-certs@v5
id: import-codesign-certs
with:
p12-file-base64: ${{ secrets.CERTIFICATES_P12_MOBILE }}
@@ -154,11 +177,6 @@ jobs:
target: 'aarch64-apple-ios'
package: 'affine_mobile_native'
no-build: 'true'
- name: Build Rust
run: |
brew install swiftformat
cargo build -p affine_mobile_native --lib --release --target aarch64-apple-ios
cargo run -p affine_mobile_native --bin uniffi-bindgen generate --library target/aarch64-apple-ios/release/libaffine_mobile_native.a --language swift --out-dir packages/frontend/apps/ios/App/App/uniffi
- name: Testflight
if: ${{ env.BUILD_TYPE != 'stable' }}
working-directory: packages/frontend/apps/ios/App
@@ -206,7 +224,7 @@ jobs:
run: yarn workspace @affine/android cap sync
- uses: actions/setup-python@v5
with:
python-version: '3.12'
python-version: '3.13'
- name: Auth gcloud
id: auth
uses: google-github-actions/auth@v2

View File

@@ -53,7 +53,7 @@ jobs:
uses: actions/checkout@v4
with:
ref: l10n_crowdin_translations
- name: Setup Node.js
uses: ./.github/actions/setup-node
with:

1
.gitignore vendored
View File

@@ -84,3 +84,4 @@ packages/frontend/core/public/static/templates
# script
af
af.cmd
*.resolved

View File

@@ -1,7 +1,7 @@
# we will make this file shared by prettier|eslint|oxlint
**/node_modules
.yarn
.github
.github/helm
.vscode
.yarnrc.yml
.docker
@@ -30,9 +30,11 @@ tools/cli/src/webpack/error-handler.js
packages/backend/native/index.d.ts
packages/backend/server/src/__tests__/__snapshots__
packages/common/native/fixtures/**
packages/common/graphql/src/graphql/index.ts
packages/frontend/native/index.d.ts
packages/frontend/native/index.js
packages/frontend/graphql/src/graphql/index.ts
packages/frontend/graphql/src/schema.ts
packages/frontend/apps/android/App/app/build/**
blocksuite/tests-legacy/snapshots
packages/frontend/apps/android/App/**
packages/frontend/apps/ios/App/**
tests/blocksuite/snapshots
blocksuite/docs/api/**
packages/frontend/admin/src/config.json

View File

@@ -0,0 +1,36 @@
diff --git a/testing-module.d.ts b/testing-module.d.ts
index 0b08dfe24534c605f58f2104255eb2a20c3fb566..8fad3ab267decccca2d4d9a8e208ace2cd811e92 100644
--- a/testing-module.d.ts
+++ b/testing-module.d.ts
@@ -13,6 +13,7 @@ export declare class TestingModule extends NestApplicationContext {
protected readonly graphInspector: GraphInspector;
constructor(container: NestContainer, graphInspector: GraphInspector, contextModule: Module, applicationConfig: ApplicationConfig, scope?: Type<any>[]);
private isHttpServer;
+ useCustomApplicationConstructor(Ctor: Type<INestApplication>): void;
createNestApplication<T extends INestApplication = INestApplication>(httpAdapter: HttpServer | AbstractHttpAdapter, options?: NestApplicationOptions): T;
createNestApplication<T extends INestApplication = INestApplication>(options?: NestApplicationOptions): T;
createNestMicroservice<T extends object>(options: NestMicroserviceOptions & T): INestMicroservice;
diff --git a/testing-module.js b/testing-module.js
index 17957b409b224bc43c7e40a1071cf08061366063..6bc4e8a694fdec02df91e512131ffd70259d8859 100644
--- a/testing-module.js
+++ b/testing-module.js
@@ -15,6 +15,9 @@ class TestingModule extends core_1.NestApplicationContext {
this.applicationConfig = applicationConfig;
this.graphInspector = graphInspector;
}
+ useCustomApplicationConstructor(Ctor) {
+ this.applicationConstructor = Ctor;
+ }
isHttpServer(serverOrOptions) {
return !!(serverOrOptions && serverOrOptions.patch);
}
@@ -24,7 +27,8 @@ class TestingModule extends core_1.NestApplicationContext {
: [this.createHttpAdapter(), serverOrOptions];
this.applyLogger(appOptions);
this.container.setHttpAdapter(httpAdapter);
- const instance = new core_1.NestApplication(this.container, httpAdapter, this.applicationConfig, this.graphInspector, appOptions);
+ const Ctor = this.applicationConstructor || core_1.NestApplication;
+ const instance = new Ctor(this.container, httpAdapter, this.applicationConfig, this.graphInspector, appOptions);
return this.createAdapterProxy(instance, httpAdapter);
}
createNestMicroservice(options) {

File diff suppressed because one or more lines are too long

948
.yarn/releases/yarn-4.9.0.cjs vendored Executable file

File diff suppressed because one or more lines are too long

View File

@@ -12,4 +12,4 @@ npmPublishAccess: public
npmPublishRegistry: "https://registry.npmjs.org"
yarnPath: .yarn/releases/yarn-4.6.0.cjs
yarnPath: .yarn/releases/yarn-4.9.0.cjs

1045
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -8,46 +8,71 @@ members = [
"./packages/frontend/native/schema",
"./packages/frontend/native/sqlite_v1",
]
resolver = "2"
resolver = "3"
[workspace.package]
edition = "2024"
[workspace.dependencies]
affine_common = { path = "./packages/common/native" }
affine_nbstore = { path = "./packages/frontend/native/nbstore" }
anyhow = "1"
base64-simd = "0.8"
block2 = "0.6"
chrono = "0.4"
core-foundation = "0.10"
coreaudio-rs = "0.12"
criterion2 = { version = "2", default-features = false }
dispatch2 = "0.2"
dotenvy = "0.15"
file-format = { version = "0.26", features = ["reader"] }
homedir = "0.3"
mimalloc = "0.1"
napi = { version = "3.0.0-alpha.12", features = ["async", "chrono_date", "error_anyhow", "napi9", "serde"] }
napi-build = { version = "2" }
napi-derive = { version = "3.0.0-alpha.12" }
notify = { version = "8", features = ["serde"] }
objc2 = "0.6"
objc2-foundation = "0.3"
once_cell = "1"
parking_lot = "0.12"
rand = "0.9"
rayon = "1.10"
rubato = "0.16"
screencapturekit = "0.3"
serde = "1"
serde_json = "1"
sha3 = "0.10"
sqlx = { version = "0.8", default-features = false, features = ["chrono", "macros", "migrate", "runtime-tokio", "sqlite", "tls-rustls"] }
thiserror = "2"
tiktoken-rs = "0.6"
tokio = "1.37"
uniffi = "0.29"
uuid = "1.8"
v_htmlescape = "0.15"
y-octo = { git = "https://github.com/y-crdt/y-octo.git", branch = "main" }
affine_common = { path = "./packages/common/native" }
affine_nbstore = { path = "./packages/frontend/native/nbstore" }
anyhow = "1"
base64-simd = "0.8"
block2 = "0.6"
chrono = "0.4"
core-foundation = "0.10"
coreaudio-rs = "0.12"
criterion2 = { version = "3", default-features = false }
dispatch2 = "0.2"
docx-parser = { git = "https://github.com/toeverything/docx-parser" }
dotenvy = "0.15"
file-format = { version = "0.26", features = ["reader"] }
homedir = "0.3"
infer = { version = "0.19.0" }
libc = "0.2"
mimalloc = "0.1"
napi = { version = "3.0.0-alpha.31", features = ["async", "chrono_date", "error_anyhow", "napi9", "serde"] }
napi-build = { version = "2" }
napi-derive = { version = "3.0.0-alpha.28" }
notify = { version = "8", features = ["serde"] }
objc2 = "0.6"
objc2-foundation = "0.3"
once_cell = "1"
parking_lot = "0.12"
path-ext = "0.1.1"
pdf-extract = { git = "https://github.com/toeverything/pdf-extract" }
rand = "0.9"
rayon = "1.10"
readability = { version = "0.3.0", default-features = false }
rubato = "0.16"
screencapturekit = "0.3"
serde = "1"
serde_json = "1"
sha3 = "0.10"
sqlx = { version = "0.8", default-features = false, features = ["chrono", "macros", "migrate", "runtime-tokio", "sqlite", "tls-rustls"] }
strum_macros = "0.27.0"
symphonia = { version = "0.5", features = ["all", "opt-simd"] }
text-splitter = "0.25"
thiserror = "2"
tiktoken-rs = "0.6"
tokio = "1.37"
tree-sitter = { version = "0.25" }
tree-sitter-c = { version = "0.23" }
tree-sitter-c-sharp = { version = "0.23" }
tree-sitter-cpp = { version = "0.23" }
tree-sitter-go = { version = "0.23" }
tree-sitter-java = { version = "0.23" }
tree-sitter-javascript = { version = "0.23" }
tree-sitter-kotlin-ng = { version = "1.1" }
tree-sitter-python = { version = "0.23" }
tree-sitter-rust = { version = "0.24" }
tree-sitter-scala = { version = "0.23" }
tree-sitter-typescript = { version = "0.23" }
uniffi = "0.29"
url = { version = "2.5" }
uuid = "1.8"
v_htmlescape = "0.15"
y-octo = { git = "https://github.com/y-crdt/y-octo.git", branch = "main" }
[profile.dev.package.sqlx-macros]
opt-level = 3
@@ -57,3 +82,7 @@ codegen-units = 1
lto = true
opt-level = 3
strip = "symbols"
# android uniffi bindgen requires symbols
[profile.release.package.affine_mobile_native]
strip = "none"

View File

@@ -21,9 +21,26 @@
<br/>
<br/>
<div align="left" valign="middle">
<a href="https://runblaze.dev">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://www.runblaze.dev/logo_dark.png">
<img align="right" src="https://www.runblaze.dev/logo_light.png" height="102px"/>
</picture>
</a>
<br style="display: none;"/>
_Special thanks to [Blaze](https://runblaze.dev) for their support of this project. They provide high-performance Apple Silicon macOS and Linux (AMD64 & ARM64) runners for GitHub Actions, greatly reducing our automated build times._
</div>
<br/>
<br/>
<div align="center">
<a href="https://affine.pro">Home Page</a> |
<a href="https://discord.gg/whd5mjYqVw">Discord</a> |
<a href="https://affine.pro/redirect/discord">Discord</a> |
<a href="https://app.affine.pro">Live Demo</a> |
<a href="https://affine.pro/blog/">Blog</a> |
<a href="https://docs.affine.pro/docs/">Documentation</a>
@@ -178,7 +195,7 @@ Begin with Docker to deploy your own feature-rich, unrestricted version of AFFiN
## Hiring
Some amazing companies, including AFFiNE, are looking for developers! Are you interested in joining AFFiNE or its partners? Check out our Discord channel for some of the latest jobs available.
Some amazing companies, including AFFiNE, are looking for developers! Are you interested in joining AFFiNE or its partners? Check out our [Discord channel](https://affine.pro/redirect/discord) for some of the latest jobs available.
## Feature Request

View File

@@ -3,94 +3,176 @@
"description": "BlockSuite for Affine",
"type": "module",
"scripts": {
"build": "tsc --build --verbose",
"test:unit": "nx vite:test --run --passWithNoTests",
"test:unit:coverage": "nx vite:test --run --coverage",
"test:e2e": "playwright test"
"build": "tsc --build --verbose"
},
"sideEffects": false,
"keywords": [],
"author": "toeverything",
"license": "MIT",
"dependencies": {
"@blocksuite/block-std": "workspace:*",
"@blocksuite/blocks": "workspace:*",
"@blocksuite/affine-block-attachment": "workspace:*",
"@blocksuite/affine-block-bookmark": "workspace:*",
"@blocksuite/affine-block-callout": "workspace:*",
"@blocksuite/affine-block-code": "workspace:*",
"@blocksuite/affine-block-data-view": "workspace:*",
"@blocksuite/affine-block-database": "workspace:*",
"@blocksuite/affine-block-divider": "workspace:*",
"@blocksuite/affine-block-edgeless-text": "workspace:*",
"@blocksuite/affine-block-embed": "workspace:*",
"@blocksuite/affine-block-frame": "workspace:*",
"@blocksuite/affine-block-image": "workspace:*",
"@blocksuite/affine-block-latex": "workspace:*",
"@blocksuite/affine-block-list": "workspace:*",
"@blocksuite/affine-block-note": "workspace:*",
"@blocksuite/affine-block-paragraph": "workspace:*",
"@blocksuite/affine-block-root": "workspace:*",
"@blocksuite/affine-block-surface": "workspace:*",
"@blocksuite/affine-block-surface-ref": "workspace:*",
"@blocksuite/affine-block-table": "workspace:*",
"@blocksuite/affine-components": "workspace:*",
"@blocksuite/affine-fragment-doc-title": "workspace:*",
"@blocksuite/affine-fragment-frame-panel": "workspace:*",
"@blocksuite/affine-fragment-outline": "workspace:*",
"@blocksuite/affine-gfx-brush": "workspace:*",
"@blocksuite/affine-gfx-connector": "workspace:*",
"@blocksuite/affine-gfx-group": "workspace:*",
"@blocksuite/affine-gfx-mindmap": "workspace:*",
"@blocksuite/affine-gfx-note": "workspace:*",
"@blocksuite/affine-gfx-shape": "workspace:*",
"@blocksuite/affine-gfx-template": "workspace:*",
"@blocksuite/affine-gfx-text": "workspace:*",
"@blocksuite/affine-gfx-turbo-renderer": "workspace:*",
"@blocksuite/affine-inline-footnote": "workspace:*",
"@blocksuite/affine-inline-latex": "workspace:*",
"@blocksuite/affine-inline-link": "workspace:*",
"@blocksuite/affine-inline-mention": "workspace:*",
"@blocksuite/affine-inline-preset": "workspace:*",
"@blocksuite/affine-inline-reference": "workspace:*",
"@blocksuite/affine-model": "workspace:*",
"@blocksuite/affine-rich-text": "workspace:*",
"@blocksuite/affine-shared": "workspace:*",
"@blocksuite/affine-widget-drag-handle": "workspace:*",
"@blocksuite/affine-widget-edgeless-auto-connect": "workspace:*",
"@blocksuite/affine-widget-edgeless-toolbar": "workspace:*",
"@blocksuite/affine-widget-frame-title": "workspace:*",
"@blocksuite/affine-widget-remote-selection": "workspace:*",
"@blocksuite/affine-widget-scroll-anchoring": "workspace:*",
"@blocksuite/affine-widget-slash-menu": "workspace:*",
"@blocksuite/affine-widget-toolbar": "workspace:*",
"@blocksuite/data-view": "workspace:*",
"@blocksuite/global": "workspace:*",
"@blocksuite/inline": "workspace:*",
"@blocksuite/std": "workspace:*",
"@blocksuite/store": "workspace:*",
"@blocksuite/sync": "workspace:*"
"@blocksuite/sync": "workspace:*",
"rxjs": "^7.8.1"
},
"exports": {
".": "./src/index.ts",
"./effects": "./src/effects.ts",
"./block-std": "./src/block-std/index.ts",
"./block-std/gfx": "./src/block-std/gfx.ts",
"./std": "./src/std/index.ts",
"./std/gfx": "./src/std/gfx.ts",
"./std/inline": "./src/std/inline.ts",
"./std/effects": "./src/std/effects.ts",
"./global": "./src/global/index.ts",
"./global/utils": "./src/global/utils.ts",
"./global/env": "./src/global/env.ts",
"./global/exceptions": "./src/global/exceptions.ts",
"./global/di": "./src/global/di.ts",
"./global/types": "./src/global/types.ts",
"./global/gfx": "./src/global/gfx.ts",
"./global/disposable": "./src/global/disposable.ts",
"./global/lit": "./src/global/lit.ts",
"./store": "./src/store/index.ts",
"./store/test": "./src/store/test.ts",
"./inline": "./src/inline/index.ts",
"./inline/consts": "./src/inline/consts.ts",
"./inline/types": "./src/inline/types.ts",
"./blocks": "./src/blocks/index.ts",
"./blocks/schemas": "./src/blocks/schemas.ts",
"./sync": "./src/sync/index.ts"
},
"typesVersions": {
"*": {
"effects": [
"dist/effects.d.ts"
],
"block-std": [
"dist/block-std/index.d.ts"
],
"block-std/gfx": [
"dist/block-std/gfx.d.ts"
],
"global": [
"dist/global/index.d.ts"
],
"global/utils": [
"dist/global/utils.d.ts"
],
"global/env": [
"dist/global/env.d.ts"
],
"global/exceptions": [
"dist/global/exceptions.d.ts"
],
"global/di": [
"dist/global/di.d.ts"
],
"global/types": [
"dist/global/types.d.ts"
],
"store": [
"dist/store/index.d.ts"
],
"inline": [
"dist/inline/index.d.ts"
],
"inline/consts": [
"dist/inline/consts.d.ts"
],
"inline/types": [
"dist/inline/types.d.ts"
],
"blocks": [
"dist/blocks/index.d.ts"
],
"blocks/schemas": [
"dist/blocks/schemas.d.ts"
],
"sync": [
"dist/sync/index.d.ts"
]
}
"./blocks/attachment": "./src/blocks/attachment.ts",
"./blocks/bookmark": "./src/blocks/bookmark.ts",
"./blocks/callout": "./src/blocks/callout.ts",
"./blocks/code": "./src/blocks/code.ts",
"./blocks/data-view": "./src/blocks/data-view.ts",
"./blocks/database": "./src/blocks/database.ts",
"./blocks/divider": "./src/blocks/divider.ts",
"./blocks/edgeless-text": "./src/blocks/edgeless-text.ts",
"./blocks/embed": "./src/blocks/embed.ts",
"./blocks/frame": "./src/blocks/frame.ts",
"./blocks/image": "./src/blocks/image.ts",
"./blocks/latex": "./src/blocks/latex.ts",
"./blocks/list": "./src/blocks/list.ts",
"./blocks/note": "./src/blocks/note.ts",
"./blocks/paragraph": "./src/blocks/paragraph.ts",
"./blocks/root": "./src/blocks/root.ts",
"./blocks/surface": "./src/blocks/surface.ts",
"./blocks/surface-ref": "./src/blocks/surface-ref.ts",
"./blocks/table": "./src/blocks/table.ts",
"./data-view": "./src/data-view/index.ts",
"./data-view/effects": "./src/data-view/effects.ts",
"./inlines/link": "./src/inlines/link.ts",
"./inlines/reference": "./src/inlines/reference.ts",
"./inlines/preset": "./src/inlines/preset.ts",
"./inlines/footnote": "./src/inlines/footnote.ts",
"./inlines/latex": "./src/inlines/latex.ts",
"./inlines/mention": "./src/inlines/mention.ts",
"./widgets/drag-handle": "./src/widgets/drag-handle.ts",
"./widgets/edgeless-auto-connect": "./src/widgets/edgeless-auto-connect.ts",
"./widgets/edgeless-toolbar": "./src/widgets/edgeless-toolbar.ts",
"./widgets/frame-title": "./src/widgets/frame-title.ts",
"./widgets/remote-selection": "./src/widgets/remote-selection.ts",
"./widgets/scroll-anchoring": "./src/widgets/scroll-anchoring.ts",
"./widgets/slash-menu": "./src/widgets/slash-menu.ts",
"./widgets/toolbar": "./src/widgets/toolbar.ts",
"./fragments/doc-title": "./src/fragments/doc-title.ts",
"./fragments/frame-panel": "./src/fragments/frame-panel.ts",
"./fragments/outline": "./src/fragments/outline.ts",
"./gfx/text": "./src/gfx/text.ts",
"./gfx/brush": "./src/gfx/brush.ts",
"./gfx/shape": "./src/gfx/shape.ts",
"./gfx/note": "./src/gfx/note.ts",
"./gfx/mindmap": "./src/gfx/mindmap.ts",
"./gfx/connector": "./src/gfx/connector.ts",
"./gfx/group": "./src/gfx/group.ts",
"./gfx/template": "./src/gfx/template.ts",
"./gfx/turbo-renderer": "./src/gfx/turbo-renderer.ts",
"./components/block-selection": "./src/components/block-selection.ts",
"./components/block-zero-width": "./src/components/block-zero-width.ts",
"./components/caption": "./src/components/caption.ts",
"./components/card-style-dropdown-menu": "./src/components/card-style-dropdown-menu.ts",
"./components/color-picker": "./src/components/color-picker.ts",
"./components/context-menu": "./src/components/context-menu.ts",
"./components/date-picker": "./src/components/date-picker.ts",
"./components/drop-indicator": "./src/components/drop-indicator.ts",
"./components/embed-card-modal": "./src/components/embed-card-modal.ts",
"./components/filterable-list": "./src/components/filterable-list.ts",
"./components/highlight-dropdown-menu": "./src/components/highlight-dropdown-menu.ts",
"./components/hover": "./src/components/hover.ts",
"./components/icon-button": "./src/components/icon-button.ts",
"./components/icons": "./src/components/icons.ts",
"./components/link-preview": "./src/components/link-preview.ts",
"./components/linked-doc-title": "./src/components/linked-doc-title.ts",
"./components/notification": "./src/components/notification.ts",
"./components/peek": "./src/components/peek.ts",
"./components/portal": "./src/components/portal.ts",
"./components/smooth-corner": "./src/components/smooth-corner.ts",
"./components/toast": "./src/components/toast.ts",
"./components/toggle-button": "./src/components/toggle-button.ts",
"./components/toggle-switch": "./src/components/toggle-switch.ts",
"./components/toolbar": "./src/components/toolbar.ts",
"./components/view-dropdown-menu": "./src/components/view-dropdown-menu.ts",
"./components/tooltip-content-with-shortcut": "./src/components/tooltip-content-with-shortcut.ts",
"./rich-text": "./src/rich-text/index.ts",
"./rich-text/effects": "./src/rich-text/effects.ts",
"./shared/adapters": "./src/shared/adapters.ts",
"./shared/commands": "./src/shared/commands.ts",
"./shared/consts": "./src/shared/consts.ts",
"./shared/selection": "./src/shared/selection.ts",
"./shared/services": "./src/shared/services.ts",
"./shared/styles": "./src/shared/styles.ts",
"./shared/theme": "./src/shared/theme.ts",
"./shared/types": "./src/shared/types.ts",
"./shared/utils": "./src/shared/utils.ts",
"./schemas": "./src/schemas.ts",
"./model": "./src/model/index.ts",
"./sync": "./src/sync/index.ts",
"./adapters": "./src/adapters/index.ts",
"./extensions": "./src/extensions/index.ts"
},
"files": [
"src",
@@ -98,5 +180,9 @@
"!src/__tests__",
"!dist/__tests__"
],
"version": "0.20.0"
"version": "0.21.0",
"devDependencies": {
"@vanilla-extract/vite-plugin": "^5.0.0",
"vitest": "3.1.1"
}
}

View File

@@ -3680,88 +3680,95 @@ bbb
expect(nanoidReplacement(rawBlockSnapshot)).toEqual(blockSnapshot);
});
test('inline latex', async () => {
const markdown = 'inline $E=mc^2$ latex\n';
const blockSnapshot: BlockSnapshot = {
type: 'block',
id: 'matchesReplaceMap[0]',
flavour: 'affine:note',
props: {
xywh: '[0,0,800,95]',
background: DefaultTheme.noteBackgrounColor,
index: 'a0',
hidden: false,
displayMode: NoteDisplayMode.DocAndEdgeless,
},
children: [
{
type: 'block',
id: 'matchesReplaceMap[1]',
flavour: 'affine:paragraph',
props: {
type: 'text',
text: {
'$blocksuite:internal:text$': true,
delta: [
{
insert: 'inline ',
},
{
insert: ' ',
attributes: {
latex: 'E=mc^2',
},
},
{
insert: ' latex',
},
],
},
},
children: [],
describe('inline latex', () => {
test.each([
['dollar sign syntax', 'inline $E=mc^2$ latex\n'],
['backslash syntax', 'inline \\(E=mc^2\\) latex\n'],
])('should convert %s correctly', async (_, markdown) => {
const blockSnapshot: BlockSnapshot = {
type: 'block',
id: 'matchesReplaceMap[0]',
flavour: 'affine:note',
props: {
xywh: '[0,0,800,95]',
background: DefaultTheme.noteBackgrounColor,
index: 'a0',
hidden: false,
displayMode: NoteDisplayMode.DocAndEdgeless,
},
],
};
children: [
{
type: 'block',
id: 'matchesReplaceMap[1]',
flavour: 'affine:paragraph',
props: {
type: 'text',
text: {
'$blocksuite:internal:text$': true,
delta: [
{
insert: 'inline ',
},
{
insert: ' ',
attributes: {
latex: 'E=mc^2',
},
},
{
insert: ' latex',
},
],
},
},
children: [],
},
],
};
const mdAdapter = new MarkdownAdapter(createJob(), provider);
const rawBlockSnapshot = await mdAdapter.toBlockSnapshot({
file: markdown,
const mdAdapter = new MarkdownAdapter(createJob(), provider);
const rawBlockSnapshot = await mdAdapter.toBlockSnapshot({
file: markdown,
});
expect(nanoidReplacement(rawBlockSnapshot)).toEqual(blockSnapshot);
});
expect(nanoidReplacement(rawBlockSnapshot)).toEqual(blockSnapshot);
});
test('latex block', async () => {
const markdown = '$$\nE=mc^2\n$$\n';
const blockSnapshot: BlockSnapshot = {
type: 'block',
id: 'matchesReplaceMap[0]',
flavour: 'affine:note',
props: {
xywh: '[0,0,800,95]',
background: DefaultTheme.noteBackgrounColor,
index: 'a0',
hidden: false,
displayMode: NoteDisplayMode.DocAndEdgeless,
},
children: [
{
type: 'block',
id: 'matchesReplaceMap[1]',
flavour: 'affine:latex',
props: {
latex: 'E=mc^2',
},
children: [],
describe('latex block', () => {
test.each([
['dollar sign syntax', '$$\nE=mc^2\n$$\n'],
['backslash syntax', '\\[\nE=mc^2\n\\]\n'],
])('should convert %s correctly', async (_, markdown) => {
const blockSnapshot: BlockSnapshot = {
type: 'block',
id: 'matchesReplaceMap[0]',
flavour: 'affine:note',
props: {
xywh: '[0,0,800,95]',
background: DefaultTheme.noteBackgrounColor,
index: 'a0',
hidden: false,
displayMode: NoteDisplayMode.DocAndEdgeless,
},
],
};
children: [
{
type: 'block',
id: 'matchesReplaceMap[1]',
flavour: 'affine:latex',
props: {
latex: 'E=mc^2',
},
children: [],
},
],
};
const mdAdapter = new MarkdownAdapter(createJob(), provider);
const rawBlockSnapshot = await mdAdapter.toBlockSnapshot({
file: markdown,
const mdAdapter = new MarkdownAdapter(createJob(), provider);
const rawBlockSnapshot = await mdAdapter.toBlockSnapshot({
file: markdown,
});
expect(nanoidReplacement(rawBlockSnapshot)).toEqual(blockSnapshot);
});
expect(nanoidReplacement(rawBlockSnapshot)).toEqual(blockSnapshot);
});
test('reference', async () => {

View File

@@ -4,8 +4,11 @@ import type { SliceSnapshot } from '@blocksuite/store';
import { describe, expect, test } from 'vitest';
import { createJob } from '../utils/create-job.js';
import { getProvider } from '../utils/get-provider.js';
import { nanoidReplacement } from '../utils/nanoid-replacement.js';
const provider = getProvider();
describe('notion-text to snapshot', () => {
test('basic', () => {
const notionText =
@@ -95,7 +98,7 @@ describe('notion-text to snapshot', () => {
pageId: '',
};
const ntAdapter = new NotionTextAdapter(createJob());
const ntAdapter = new NotionTextAdapter(createJob(), provider);
const target = ntAdapter.toSliceSnapshot({
file: notionText,
workspaceId: '',

View File

@@ -1,51 +1,49 @@
import {
addProperty,
copyCellsByProperty,
databaseBlockColumns,
databaseBlockProperties,
deleteColumn,
getCell,
getProperty,
updateCell,
} from '@blocksuite/affine-block-database';
import {
type Cell,
type Column,
type CellDataType,
type ColumnDataType,
type DatabaseBlockModel,
DatabaseBlockSchema,
NoteBlockSchema,
ParagraphBlockSchema,
RootBlockSchema,
DatabaseBlockSchemaExtension,
NoteBlockSchemaExtension,
ParagraphBlockSchemaExtension,
RootBlockSchemaExtension,
} from '@blocksuite/affine-model';
import { propertyModelPresets } from '@blocksuite/data-view/property-pure-presets';
import type { BlockModel, Store } from '@blocksuite/store';
import { Schema, Text } from '@blocksuite/store';
import { Text } from '@blocksuite/store';
import {
createAutoIncrementIdGenerator,
TestWorkspace,
} from '@blocksuite/store/test';
import { beforeEach, describe, expect, test } from 'vitest';
const AffineSchemas = [
RootBlockSchema,
NoteBlockSchema,
ParagraphBlockSchema,
DatabaseBlockSchema,
const extensions = [
RootBlockSchemaExtension,
NoteBlockSchemaExtension,
ParagraphBlockSchemaExtension,
DatabaseBlockSchemaExtension,
];
function createTestOptions() {
const idGenerator = createAutoIncrementIdGenerator();
const schema = new Schema();
schema.register(AffineSchemas);
return { id: 'test-collection', idGenerator, schema };
return { id: 'test-collection', idGenerator };
}
function createTestDoc(docId = 'doc0') {
const options = createTestOptions();
const collection = new TestWorkspace(options);
collection.meta.initialize();
const doc = collection.createDoc({ id: docId });
const doc = collection.createDoc(docId);
doc.load();
return doc;
return doc.getStore({ extensions });
}
describe('DatabaseManager', () => {
@@ -57,9 +55,9 @@ describe('DatabaseManager', () => {
let databaseBlockId: BlockModel['id'];
let p1: BlockModel['id'];
let p2: BlockModel['id'];
let col1: Column['id'];
let col2: Column['id'];
let col3: Column['id'];
let col1: ColumnDataType['id'];
let col2: ColumnDataType['id'];
let col3: ColumnDataType['id'];
const selection = [
{ id: '1', value: 'Done', color: 'var(--affine-tag-white)' },
@@ -84,7 +82,7 @@ describe('DatabaseManager', () => {
noteBlockId
);
const databaseModel = doc.getBlockById(
const databaseModel = doc.getModelById(
databaseBlockId
) as DatabaseBlockModel;
db = databaseModel;
@@ -92,7 +90,7 @@ describe('DatabaseManager', () => {
col1 = addProperty(
db,
'end',
databaseBlockColumns.numberColumnConfig.create('Number')
databaseBlockProperties.numberColumnConfig.create('Number')
);
col2 = addProperty(
db,
@@ -104,7 +102,7 @@ describe('DatabaseManager', () => {
col3 = addProperty(
db,
'end',
databaseBlockColumns.richTextColumnConfig.create('Rich Text')
databaseBlockProperties.richTextColumnConfig.create('Rich Text')
);
doc.updateBlock(databaseModel, {
@@ -138,7 +136,7 @@ describe('DatabaseManager', () => {
test('getColumn', () => {
const column = {
...databaseBlockColumns.numberColumnConfig.create('testColumnId'),
...databaseBlockProperties.numberColumnConfig.create('testColumnId'),
id: 'testColumnId',
};
addProperty(db, 'end', column);
@@ -149,7 +147,7 @@ describe('DatabaseManager', () => {
test('addColumn', () => {
const column =
databaseBlockColumns.numberColumnConfig.create('Test Column');
databaseBlockProperties.numberColumnConfig.create('Test Column');
const id = addProperty(db, 'end', column);
const result = getProperty(db, id);
@@ -159,7 +157,7 @@ describe('DatabaseManager', () => {
test('deleteColumn', () => {
const column = {
...databaseBlockColumns.numberColumnConfig.create('Test Column'),
...databaseBlockProperties.numberColumnConfig.create('Test Column'),
id: 'testColumnId',
};
addProperty(db, 'end', column);
@@ -178,10 +176,10 @@ describe('DatabaseManager', () => {
noteBlockId
);
const column = {
...databaseBlockColumns.numberColumnConfig.create('Test Column'),
...databaseBlockProperties.numberColumnConfig.create('Test Column'),
id: 'testColumnId',
};
const cell: Cell = {
const cell: CellDataType = {
columnId: column.id,
value: 42,
};
@@ -189,7 +187,7 @@ describe('DatabaseManager', () => {
addProperty(db, 'end', column);
updateCell(db, modelId, cell);
const model = doc.getBlockById(modelId);
const model = doc.getModelById(modelId);
expect(model).not.toBeNull();

View File

@@ -0,0 +1,42 @@
import { defaultImageProxyMiddleware } from '@blocksuite/affine-block-image';
import { SpecProvider } from '@blocksuite/affine-shared/utils';
import {
Schema,
Transformer,
type TransformerMiddleware,
} from '@blocksuite/store';
import { TestWorkspace } from '@blocksuite/store/test';
import { AffineSchemas } from '../../schemas.js';
declare global {
interface Window {
happyDOM: {
settings: {
fetch: {
disableSameOriginPolicy: boolean;
};
};
};
}
}
export function createJob(middlewares?: TransformerMiddleware[]) {
window.happyDOM.settings.fetch.disableSameOriginPolicy = true;
const testMiddlewares = middlewares ?? [];
testMiddlewares.push(defaultImageProxyMiddleware);
const schema = new Schema().register(AffineSchemas);
const docCollection = new TestWorkspace();
docCollection.storeExtensions = SpecProvider._.getSpec('store').value;
docCollection.meta.initialize();
return new Transformer({
schema,
blobCRUD: docCollection.blobSync,
middlewares: testMiddlewares,
docCRUD: {
create: (id: string) => docCollection.createDoc(id).getStore({ id }),
get: (id: string) => docCollection.getDoc(id)?.getStore({ id }) ?? null,
delete: (id: string) => docCollection.removeDoc(id),
},
});
}

View File

@@ -0,0 +1,19 @@
import { SpecProvider } from '@blocksuite/affine-shared/utils';
import { Container } from '@blocksuite/global/di';
import {
registerBlockSpecs,
registerStoreSpecs,
} from '../../extensions/register';
registerStoreSpecs();
registerBlockSpecs();
export function getProvider() {
const container = new Container();
const exts = SpecProvider._.getSpec('store').value;
exts.forEach(ext => {
ext.setup(container);
});
return container.provider();
}

View File

@@ -0,0 +1,69 @@
import {
HtmlInlineToDeltaAdapterExtensions,
InlineDeltaToHtmlAdapterExtensions,
InlineDeltaToMarkdownAdapterExtensions,
InlineDeltaToPlainTextAdapterExtensions,
MarkdownInlineToDeltaAdapterExtensions,
NotionHtmlInlineToDeltaAdapterExtensions,
} from '@blocksuite/affine-inline-preset';
import {
AttachmentAdapterFactoryExtension,
HtmlAdapterFactoryExtension,
ImageAdapterFactoryExtension,
MarkdownAdapterFactoryExtension,
MixTextAdapterFactoryExtension,
NotionHtmlAdapterFactoryExtension,
NotionTextAdapterFactoryExtension,
PlainTextAdapterFactoryExtension,
} from '@blocksuite/affine-shared/adapters';
import type { ExtensionType } from '@blocksuite/store';
import { defaultBlockHtmlAdapterMatchers } from './html/block-matcher';
import { defaultBlockMarkdownAdapterMatchers } from './markdown/block-matcher';
import { defaultMarkdownPreprocessors } from './markdown/preprocessor';
import { defaultBlockNotionHtmlAdapterMatchers } from './notion-html/block-matcher';
import { defaultBlockPlainTextAdapterMatchers } from './plain-text/block-matcher';
export function getAdapterFactoryExtensions(): ExtensionType[] {
return [
AttachmentAdapterFactoryExtension,
ImageAdapterFactoryExtension,
MarkdownAdapterFactoryExtension,
PlainTextAdapterFactoryExtension,
HtmlAdapterFactoryExtension,
NotionTextAdapterFactoryExtension,
NotionHtmlAdapterFactoryExtension,
MixTextAdapterFactoryExtension,
];
}
export function getHtmlAdapterExtensions(): ExtensionType[] {
return [
...HtmlInlineToDeltaAdapterExtensions,
...defaultBlockHtmlAdapterMatchers,
...InlineDeltaToHtmlAdapterExtensions,
];
}
export function getMarkdownAdapterExtensions(): ExtensionType[] {
return [
...MarkdownInlineToDeltaAdapterExtensions,
...defaultBlockMarkdownAdapterMatchers,
...InlineDeltaToMarkdownAdapterExtensions,
...defaultMarkdownPreprocessors,
];
}
export function getNotionHtmlAdapterExtensions(): ExtensionType[] {
return [
...NotionHtmlInlineToDeltaAdapterExtensions,
...defaultBlockNotionHtmlAdapterMatchers,
];
}
export function getPlainTextAdapterExtensions(): ExtensionType[] {
return [
...defaultBlockPlainTextAdapterMatchers,
...InlineDeltaToPlainTextAdapterExtensions,
];
}

View File

@@ -0,0 +1,37 @@
import { BookmarkBlockHtmlAdapterExtension } from '@blocksuite/affine-block-bookmark';
import { CodeBlockHtmlAdapterExtension } from '@blocksuite/affine-block-code';
import { DatabaseBlockHtmlAdapterExtension } from '@blocksuite/affine-block-database';
import { DividerBlockHtmlAdapterExtension } from '@blocksuite/affine-block-divider';
import {
EmbedFigmaBlockHtmlAdapterExtension,
EmbedGithubBlockHtmlAdapterExtension,
EmbedIframeBlockHtmlAdapterExtension,
EmbedLinkedDocHtmlAdapterExtension,
EmbedLoomBlockHtmlAdapterExtension,
EmbedSyncedDocBlockHtmlAdapterExtension,
EmbedYoutubeBlockHtmlAdapterExtension,
} from '@blocksuite/affine-block-embed';
import { ImageBlockHtmlAdapterExtension } from '@blocksuite/affine-block-image';
import { ListBlockHtmlAdapterExtension } from '@blocksuite/affine-block-list';
import { ParagraphBlockHtmlAdapterExtension } from '@blocksuite/affine-block-paragraph';
import { RootBlockHtmlAdapterExtension } from '@blocksuite/affine-block-root';
import { TableBlockHtmlAdapterExtension } from '@blocksuite/affine-block-table';
export const defaultBlockHtmlAdapterMatchers = [
ListBlockHtmlAdapterExtension,
ParagraphBlockHtmlAdapterExtension,
CodeBlockHtmlAdapterExtension,
DividerBlockHtmlAdapterExtension,
ImageBlockHtmlAdapterExtension,
RootBlockHtmlAdapterExtension,
EmbedYoutubeBlockHtmlAdapterExtension,
EmbedFigmaBlockHtmlAdapterExtension,
EmbedLoomBlockHtmlAdapterExtension,
EmbedGithubBlockHtmlAdapterExtension,
EmbedIframeBlockHtmlAdapterExtension,
BookmarkBlockHtmlAdapterExtension,
DatabaseBlockHtmlAdapterExtension,
TableBlockHtmlAdapterExtension,
EmbedLinkedDocHtmlAdapterExtension,
EmbedSyncedDocBlockHtmlAdapterExtension,
];

View File

@@ -0,0 +1,6 @@
export * from './extension.js';
export * from './html/block-matcher.js';
export * from './markdown/block-matcher.js';
export * from './markdown/preprocessor.js';
export * from './notion-html/block-matcher.js';
export * from './plain-text/block-matcher.js';

View File

@@ -0,0 +1,41 @@
import { BookmarkBlockMarkdownAdapterExtension } from '@blocksuite/affine-block-bookmark';
import { CodeBlockMarkdownAdapterExtension } from '@blocksuite/affine-block-code';
import { DatabaseBlockMarkdownAdapterExtension } from '@blocksuite/affine-block-database';
import { DividerBlockMarkdownAdapterExtension } from '@blocksuite/affine-block-divider';
import {
EmbedFigmaMarkdownAdapterExtension,
EmbedGithubMarkdownAdapterExtension,
EmbedIframeBlockMarkdownAdapterExtension,
EmbedLinkedDocMarkdownAdapterExtension,
EmbedLoomMarkdownAdapterExtension,
EmbedSyncedDocMarkdownAdapterExtension,
EmbedYoutubeMarkdownAdapterExtension,
} from '@blocksuite/affine-block-embed';
import { ImageBlockMarkdownAdapterExtension } from '@blocksuite/affine-block-image';
import { LatexBlockMarkdownAdapterExtension } from '@blocksuite/affine-block-latex';
import { ListBlockMarkdownAdapterExtension } from '@blocksuite/affine-block-list';
import { DocNoteBlockMarkdownAdapterExtension } from '@blocksuite/affine-block-note';
import { ParagraphBlockMarkdownAdapterExtension } from '@blocksuite/affine-block-paragraph';
import { RootBlockMarkdownAdapterExtension } from '@blocksuite/affine-block-root';
import { TableBlockMarkdownAdapterExtension } from '@blocksuite/affine-block-table';
export const defaultBlockMarkdownAdapterMatchers = [
RootBlockMarkdownAdapterExtension,
DocNoteBlockMarkdownAdapterExtension,
EmbedFigmaMarkdownAdapterExtension,
EmbedGithubMarkdownAdapterExtension,
EmbedLinkedDocMarkdownAdapterExtension,
EmbedLoomMarkdownAdapterExtension,
EmbedSyncedDocMarkdownAdapterExtension,
EmbedYoutubeMarkdownAdapterExtension,
EmbedIframeBlockMarkdownAdapterExtension,
ListBlockMarkdownAdapterExtension,
ParagraphBlockMarkdownAdapterExtension,
BookmarkBlockMarkdownAdapterExtension,
CodeBlockMarkdownAdapterExtension,
DatabaseBlockMarkdownAdapterExtension,
TableBlockMarkdownAdapterExtension,
DividerBlockMarkdownAdapterExtension,
ImageBlockMarkdownAdapterExtension,
LatexBlockMarkdownAdapterExtension,
];

View File

@@ -0,0 +1,7 @@
import { CodeMarkdownPreprocessorExtension } from '@blocksuite/affine-block-code';
import { LatexMarkdownPreprocessorExtension } from '@blocksuite/affine-block-latex';
export const defaultMarkdownPreprocessors = [
LatexMarkdownPreprocessorExtension,
CodeMarkdownPreprocessorExtension,
];

View File

@@ -0,0 +1,34 @@
import { BookmarkBlockPlainTextAdapterExtension } from '@blocksuite/affine-block-bookmark';
import { CodeBlockPlainTextAdapterExtension } from '@blocksuite/affine-block-code';
import { DatabaseBlockPlainTextAdapterExtension } from '@blocksuite/affine-block-database';
import { DividerBlockPlainTextAdapterExtension } from '@blocksuite/affine-block-divider';
import {
EmbedFigmaBlockPlainTextAdapterExtension,
EmbedGithubBlockPlainTextAdapterExtension,
EmbedIframeBlockPlainTextAdapterExtension,
EmbedLinkedDocBlockPlainTextAdapterExtension,
EmbedLoomBlockPlainTextAdapterExtension,
EmbedSyncedDocBlockPlainTextAdapterExtension,
EmbedYoutubeBlockPlainTextAdapterExtension,
} from '@blocksuite/affine-block-embed';
import { LatexBlockPlainTextAdapterExtension } from '@blocksuite/affine-block-latex';
import { ListBlockPlainTextAdapterExtension } from '@blocksuite/affine-block-list';
import { ParagraphBlockPlainTextAdapterExtension } from '@blocksuite/affine-block-paragraph';
import type { ExtensionType } from '@blocksuite/store';
export const defaultBlockPlainTextAdapterMatchers: ExtensionType[] = [
ParagraphBlockPlainTextAdapterExtension,
ListBlockPlainTextAdapterExtension,
DividerBlockPlainTextAdapterExtension,
CodeBlockPlainTextAdapterExtension,
BookmarkBlockPlainTextAdapterExtension,
EmbedFigmaBlockPlainTextAdapterExtension,
EmbedGithubBlockPlainTextAdapterExtension,
EmbedLoomBlockPlainTextAdapterExtension,
EmbedYoutubeBlockPlainTextAdapterExtension,
EmbedLinkedDocBlockPlainTextAdapterExtension,
EmbedSyncedDocBlockPlainTextAdapterExtension,
EmbedIframeBlockPlainTextAdapterExtension,
LatexBlockPlainTextAdapterExtension,
DatabaseBlockPlainTextAdapterExtension,
];

View File

@@ -1 +0,0 @@
export * from '@blocksuite/block-std/gfx';

View File

@@ -1 +0,0 @@
export * from '@blocksuite/block-std';

View File

@@ -0,0 +1 @@
export * from '@blocksuite/affine-block-attachment';

View File

@@ -0,0 +1 @@
export * from '@blocksuite/affine-block-bookmark';

View File

@@ -0,0 +1 @@
export * from '@blocksuite/affine-block-callout';

View File

@@ -0,0 +1 @@
export * from '@blocksuite/affine-block-code';

View File

@@ -0,0 +1 @@
export * from '@blocksuite/affine-block-data-view';

View File

@@ -0,0 +1 @@
export * from '@blocksuite/affine-block-database';

View File

@@ -0,0 +1 @@
export * from '@blocksuite/affine-block-divider';

View File

@@ -0,0 +1 @@
export * from '@blocksuite/affine-block-edgeless-text';

View File

@@ -0,0 +1 @@
export * from '@blocksuite/affine-block-embed';

View File

@@ -0,0 +1 @@
export * from '@blocksuite/affine-block-frame';

View File

@@ -0,0 +1 @@
export * from '@blocksuite/affine-block-image';

View File

@@ -1 +0,0 @@
export * from '@blocksuite/blocks';

View File

@@ -0,0 +1 @@
export * from '@blocksuite/affine-block-latex';

View File

@@ -0,0 +1 @@
export * from '@blocksuite/affine-block-list';

View File

@@ -0,0 +1 @@
export * from '@blocksuite/affine-block-note';

View File

@@ -0,0 +1 @@
export * from '@blocksuite/affine-block-paragraph';

View File

@@ -0,0 +1 @@
export * from '@blocksuite/affine-block-root';

View File

@@ -1 +0,0 @@
export * from '@blocksuite/blocks/schemas';

View File

@@ -0,0 +1 @@
export * from '@blocksuite/affine-block-surface-ref';

Some files were not shown because too many files have changed in this diff Show More