Commit Graph

402 Commits

Author SHA1 Message Date
fengmk2
867ae7933f refactor(server): improve oauth login flow (#10648)
close CLOUD-145
2025-03-12 15:27:36 +08: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
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
Saul-Mirone
cac05e720a refactor(editor): gfx text package (#10738) 2025-03-10 10:25:21 +00:00
Saul-Mirone
12bc142809 refactor(editor): remove blocks package (#10708) 2025-03-09 05:44:26 +00:00
Saul-Mirone
8aedef0a36 chore(editor): reorg packages (#10702) 2025-03-08 12:00:34 +08: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
83b05aca4d refactor(editor): surface-ref slash menu config extension (#10681) 2025-03-07 09:05:04 +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
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
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
L-Sun
43ce609cba refactor(editor): database slash menu config extension (#10670) 2025-03-07 02:50:27 +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
forehalo
e02fb4fa94 refactor(core): standardize frontend error handling (#10667) 2025-03-06 13:10:18 +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
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
bd62634a76 feat(editor): add callout block (#10563)
- Add `CalloutBlockModel `
- Implement `CalloutBlockComponent `
- Integrate with slash menu (/)
2025-03-05 09:28:51 +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
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
Brooooooklyn
5dbffba08d feat(native): media capture (#9992) 2025-02-25 06:51:56 +00:00
forehalo
2e0f0c624a chore: set base version to 0.20 (#10382) 2025-02-24 04:44:42 +00:00
Saul-Mirone
55651503df refactor(editor): extract root block (#10356)
Closes: [BS-2207](https://linear.app/affine-design/issue/BS-2207/move-root-block-to-affineblock-root)
2025-02-21 12:38:26 +00:00
Saul-Mirone
f3218ab3bc refactor(editor): rename presets to integration test (#10340) 2025-02-21 06:26:03 +00:00
Saul-Mirone
b8dcb85007 refactor: move outline fragment to separate package (#10331)
### TL;DR

Moved outline functionality into a dedicated fragment package and updated vanilla-extract CSS dependency.

### What changed?

- Created new `@blocksuite/affine-fragment-outline` package
- Relocated outline-related code from presets to the new fragment package
- Updated imports across affected files to reference the new package location
- Upgraded `@vanilla-extract/css` dependency from 1.14.0/1.16.1 to 1.17.0
- Added necessary package configuration and TypeScript setup for the new fragment

### How to test?

1. Verify outline functionality works as expected in both desktop and mobile views
2. Check that outline panel, viewer, and mobile menu components render correctly
3. Ensure outline navigation and interactions continue to work
4. Confirm no regressions in outline-related features

### Why make this change?

This change improves code organization by isolating outline functionality into a dedicated package, following the modular architecture pattern. This makes the codebase more maintainable and allows for better separation of concerns. The vanilla-extract CSS upgrade ensures consistency across packages and provides access to the latest features and fixes.
2025-02-20 15:59:13 +00:00
Saul-Mirone
007bbabce4 refactor: move frame manager and panel to separate packages (#10324)
### TL;DR
Moved frame management functionality from `blocksuite/blocks` to `@blocksuite/affine-block-frame` package.

### What changed?
- Relocated `frame-manager.ts` from `blocksuite/blocks` to `@blocksuite/affine-block-frame`
- Added new dependencies to block-frame package: `@blocksuite/affine-block-surface` and `yjs`
- Updated imports across multiple components to reference frame manager from its new location
- Moved utility functions `areSetsEqual` and `isFrameBlock` into frame-manager file
- Replaced direct EdgelessRootService references with GfxController in frame panel components

### How to test?
1. Verify frame functionality works in edgeless mode
2. Test frame creation, selection, and manipulation
3. Confirm frame navigation and presentation modes operate correctly
4. Check that frame panel and toolbar interactions remain functional

### Why make this change?
This refactoring improves code organization by consolidating frame-related functionality into a dedicated package, making the codebase more modular and easier to maintain. It also reduces dependencies between packages and provides clearer boundaries for frame-related features.
2025-02-20 13:06:40 +00:00
DarkSky
88a3a2d13b feat(server): self-hosted worker (#10085) 2025-02-12 08:01:57 +08:00
Brooooooklyn
c6932a8ae4 chore: remove @affine/workers (#10084)
It was moved to https://github.com/toeverything/affine-workers
2025-02-11 11:17:59 +00:00
fundon
d03744688b refactor(editor): move embed-card-modal to components (#10037) 2025-02-10 10:56:13 +00:00
JimmFly
e68bdbde3e feat(core): add self host team plan (#9569) 2025-02-07 03:35:24 +00:00
L-Sun
891d9df0b1 feat(editor): show doc title in page block (#9975)
Close [BS-2392](https://linear.app/affine-design/issue/BS-2392/page-block-需要显示文章title)

### What Changes
- Add `<doc-title>` to edgeless page block (a.k.a the first page visible note block)
- Refactors:
  - Move `<doc-title>` to `@blocksuite/affine-component`, but you can aslo import it from `@blocksuite/preset`
  - Extract `<edgeless-note-mask>` and `<edgeless-note-background>` from `<affine-edgeless-note>` to a seperate file
  - Rewrite styles of `<affine-edgeless-note>` with `@vanilla-extract/css`

https://github.com/user-attachments/assets/a0c03239-803e-4bfa-b30e-33b919213b12
2025-02-06 21:18:28 +00:00
forehalo
2ff31c6274 build(component): fix component storybook (#9990) 2025-02-06 15:58:10 +00:00
renovate
f00fb327e2 chore: bump up all non-major dependencies (#9810)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@clack/prompts](https://redirect.github.com/natemoo-re/clack/tree/main/packages/prompts#readme) ([source](https://redirect.github.com/natemoo-re/clack/tree/HEAD/packages/prompts)) | [`^0.9.0` -> `^0.10.0`](https://renovatebot.com/diffs/npm/@clack%2fprompts/0.9.1/0.10.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@clack%2fprompts/0.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@clack%2fprompts/0.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@clack%2fprompts/0.9.1/0.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@clack%2fprompts/0.9.1/0.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@graphql-codegen/cli](https://redirect.github.com/dotansimha/graphql-code-generator) ([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/graphql-codegen-cli)) | [`5.0.3` -> `5.0.4`](https://renovatebot.com/diffs/npm/@graphql-codegen%2fcli/5.0.3/5.0.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@graphql-codegen%2fcli/5.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@graphql-codegen%2fcli/5.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@graphql-codegen%2fcli/5.0.3/5.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@graphql-codegen%2fcli/5.0.3/5.0.4?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.68` -> `3.0.0-alpha.70`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.68/3.0.0-alpha.70) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.70?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.70?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.68/3.0.0-alpha.70?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.68/3.0.0-alpha.70?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@playwright/test](https://playwright.dev) ([source](https://redirect.github.com/microsoft/playwright)) | [`=1.49.1` -> `=1.50.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.49.1/1.50.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.50.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.50.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.49.1/1.50.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.49.1/1.50.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@playwright/test](https://playwright.dev) ([source](https://redirect.github.com/microsoft/playwright)) | [`=1.49.1` -> `=1.50.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.49.1/1.50.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.50.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.50.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.49.1/1.50.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.49.1/1.50.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@shoelace-style/shoelace](https://redirect.github.com/shoelace-style/shoelace) | [`2.19.1` -> `2.20.0`](https://renovatebot.com/diffs/npm/@shoelace-style%2fshoelace/2.19.1/2.20.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@shoelace-style%2fshoelace/2.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@shoelace-style%2fshoelace/2.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@shoelace-style%2fshoelace/2.19.1/2.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@shoelace-style%2fshoelace/2.19.1/2.20.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@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.4` -> `3.0.5`](https://renovatebot.com/diffs/npm/@vitest%2fbrowser/3.0.4/3.0.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fbrowser/3.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fbrowser/3.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fbrowser/3.0.4/3.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fbrowser/3.0.4/3.0.5?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.2` -> `3.0.5`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/3.0.2/3.0.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fcoverage-istanbul/3.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fcoverage-istanbul/3.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fcoverage-istanbul/3.0.2/3.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fcoverage-istanbul/3.0.2/3.0.5?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.2` -> `3.0.5`](https://renovatebot.com/diffs/npm/@vitest%2fui/3.0.2/3.0.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fui/3.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fui/3.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fui/3.0.2/3.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fui/3.0.2/3.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [apollographql/apollo-ios](https://redirect.github.com/apollographql/apollo-ios) | `from: "1.16.0"` -> `from: "1.17.0"` | [![age](https://developer.mend.io/api/mc/badges/age/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios.git/1.17.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.17.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.16.0/1.17.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.16.0/1.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |  | minor |
| [gradle](https://gradle.org) ([source](https://redirect.github.com/gradle/gradle)) | `8.12` -> `8.12.1` | [![age](https://developer.mend.io/api/mc/badges/age/gradle-version/gradle/8.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/gradle-version/gradle/8.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/gradle-version/gradle/8.12/8.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/gradle-version/gradle/8.12/8.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |  | patch |
| [lucide-react](https://lucide.dev) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.473.0` -> `^0.474.0`](https://renovatebot.com/diffs/npm/lucide-react/0.473.0/0.474.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.474.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-react/0.474.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-react/0.473.0/0.474.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.473.0/0.474.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [node](https://nodejs.org) ([source](https://redirect.github.com/nodejs/node)) | `22.13.0` -> `22.13.1` | [![age](https://developer.mend.io/api/mc/badges/age/node-version/node/v22.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/node-version/node/v22.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/node-version/node/v22.13.0/v22.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/node-version/node/v22.13.0/v22.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |  | patch |
| [playwright](https://playwright.dev) ([source](https://redirect.github.com/microsoft/playwright)) | [`=1.49.1` -> `=1.50.1`](https://renovatebot.com/diffs/npm/playwright/1.49.1/1.50.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright/1.50.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright/1.50.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright/1.49.1/1.50.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright/1.49.1/1.50.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [react-email](https://redirect.github.com/resend/react-email) ([source](https://redirect.github.com/resend/react-email/tree/HEAD/packages/react-email)) | [`3.0.4` -> `3.0.6`](https://renovatebot.com/diffs/npm/react-email/3.0.4/3.0.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-email/3.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-email/3.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-email/3.0.4/3.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-email/3.0.4/3.0.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [swr](https://swr.vercel.app) ([source](https://redirect.github.com/vercel/swr)) | [`2.3.0` -> `2.3.2`](https://renovatebot.com/diffs/npm/swr/2.3.0/2.3.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/swr/2.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/swr/2.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/swr/2.3.0/2.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/swr/2.3.0/2.3.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.0.9` -> `6.1.0`](https://renovatebot.com/diffs/npm/vite/6.0.9/6.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/6.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/6.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/6.0.9/6.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/6.0.9/6.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | resolutions | minor |
| [com.apollographql.apollo](https://redirect.github.com/apollographql/apollo-kotlin) | `4.1.0` -> `4.1.1` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.apollographql.apollo:com.apollographql.apollo.gradle.plugin/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.apollographql.apollo:com.apollographql.apollo.gradle.plugin/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.apollographql.apollo:com.apollographql.apollo.gradle.plugin/4.1.0/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.apollographql.apollo:com.apollographql.apollo.gradle.plugin/4.1.0/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | plugin | patch |
| [com.apollographql.apollo:apollo-api](https://redirect.github.com/apollographql/apollo-kotlin) | `4.1.0` -> `4.1.1` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.apollographql.apollo:apollo-api/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.apollographql.apollo:apollo-api/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.apollographql.apollo:apollo-api/4.1.0/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.apollographql.apollo:apollo-api/4.1.0/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [com.apollographql.apollo:apollo-runtime](https://redirect.github.com/apollographql/apollo-kotlin) | `4.1.0` -> `4.1.1` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.apollographql.apollo:apollo-runtime/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.apollographql.apollo:apollo-runtime/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.apollographql.apollo:apollo-runtime/4.1.0/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.apollographql.apollo:apollo-runtime/4.1.0/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [org.jetbrains.kotlin.jvm](https://kotlinlang.org/) ([source](https://redirect.github.com/JetBrains/kotlin)) | `2.1.0` -> `2.1.10` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin/2.1.10?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.10?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.0/2.1.10?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.0/2.1.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | plugin | patch |
| [org.jetbrains.kotlin.android](https://kotlinlang.org/) ([source](https://redirect.github.com/JetBrains/kotlin)) | `2.1.0` -> `2.1.10` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.jetbrains.kotlin.android:org.jetbrains.kotlin.android.gradle.plugin/2.1.10?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.10?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.0/2.1.10?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.0/2.1.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | plugin | patch |

---

### Release Notes

<details>
<summary>natemoo-re/clack (@&#8203;clack/prompts)</summary>

### [`v0.10.0`](https://redirect.github.com/natemoo-re/clack/blob/HEAD/packages/prompts/CHANGELOG.md#0100)

[Compare Source](https://redirect.github.com/natemoo-re/clack/compare/@clack/prompts@0.9.1...@clack/prompts@0.10.0)

##### Minor Changes

-   [`613179d`](https://redirect.github.com/natemoo-re/clack/commit/613179d): Adds a new `indicator` option to `spinner`, which supports the original `"dots"` loading animation or a new `"timer"` loading animation.

    ```ts
    import * as p from "@&#8203;clack/prompts";

    const spin = p.spinner({ indicator: "timer" });
    spin.start("Loading");
    await sleep(3000);
    spin.stop("Loaded");
    ```

-   [`a38b2bc`](https://redirect.github.com/natemoo-re/clack/commit/a38b2bc): Adds `stream` API which provides the same methods as `log`, but for iterable (even async) message streams. This is particularly useful for AI responses which are dynamically generated by LLMs.

    ```ts
    import * as p from "@&#8203;clack/prompts";

    await p.stream.step(
      (async function* () {
        yield* generateLLMResponse(question);
      })()
    );
    ```

</details>

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

### [`v5.0.4`](https://redirect.github.com/dotansimha/graphql-code-generator/blob/HEAD/packages/graphql-codegen-cli/CHANGELOG.md#504)

[Compare Source](https://redirect.github.com/dotansimha/graphql-code-generator/compare/@graphql-codegen/cli@5.0.3...@graphql-codegen/cli@5.0.4)

##### Patch Changes

-   [#&#8203;10248](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10248) [`72eb86f`](72eb86f49b) Thanks [@&#8203;renovate](https://redirect.github.com/apps/renovate)! - dependencies updates:

    -   Updated dependency [`@whatwg-node/fetch@^0.10.0` ↗︎](https://www.npmjs.com/package/@&#8203;whatwg-node/fetch/v/0.10.0) (from `^0.9.20`, in `dependencies`)

-   [#&#8203;10227](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10227) [`6f1741a`](6f1741af03) Thanks [@&#8203;eddeee888](https://redirect.github.com/eddeee888)! - Fix schema pointers type to allow an array of pointers

-   Updated dependencies \[[`8737dd8`](8737dd86b4), [`ed71811`](ed71811ace)]:
    -   [@&#8203;graphql-codegen/client-preset](https://redirect.github.com/graphql-codegen/client-preset)[@&#8203;4](https://redirect.github.com/4).6.0

</details>

<details>
<summary>napi-rs/napi-rs (@&#8203;napi-rs/cli)</summary>

### [`v3.0.0-alpha.70`](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.69...@napi-rs/cli@3.0.0-alpha.70)

[Compare Source](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.69...@napi-rs/cli@3.0.0-alpha.70)

### [`v3.0.0-alpha.69`](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.68...@napi-rs/cli@3.0.0-alpha.69)

[Compare Source](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.68...@napi-rs/cli@3.0.0-alpha.69)

</details>

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

### [`v1.50.1`](https://redirect.github.com/microsoft/playwright/compare/v1.50.0...dbc685ca98bf937a318f36b0de9ed6e48dac2db5)

[Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.50.0...v1.50.1)

### [`v1.50.0`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.50.0)

[Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.49.1...v1.50.0)

#### Test runner

-   New option [`timeout`](https://playwright.dev/docs/api/class-test#test-step-option-timeout) allows specifying a maximum run time for an individual test step. A timed-out step will fail the execution of the test.

    ```js
    test('some test', async ({ page }) => {
      await test.step('a step', async () => {
        // This step can time out separately from the test
      }, { timeout: 1000 });
    });
    ```

-   New method [test.step.skip()](https://playwright.dev/docs/api/class-test#test-step-skip) to disable execution of a test step.

    ```js
    test('some test', async ({ page }) => {
      await test.step('before running step', async () => {
        // Normal step
      });

      await test.step.skip('not yet ready', async () => {
        // This step is skipped
      });

      await test.step('after running step', async () => {
        // This step still runs even though the previous one was skipped
      });
    });
    ```

-   Expanded [expect(locator).toMatchAriaSnapshot()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-match-aria-snapshot-2) to allow storing of aria snapshots in separate YAML files.

-   Added method [expect(locator).toHaveAccessibleErrorMessage()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-accessible-error-message) to assert the Locator points to an element with a given [aria errormessage](https://w3c.github.io/aria/#aria-errormessage).

-   Option [testConfig.updateSnapshots](https://playwright.dev/docs/api/class-testconfig#test-config-update-snapshots) added the configuration enum `changed`. `changed` updates only the snapshots that have changed, whereas `all` now updates all snapshots, regardless of whether there are any differences.

-   New option [testConfig.updateSourceMethod](https://playwright.dev/docs/api/class-testconfig#test-config-update-source-method) defines the way source code is updated when [testConfig.updateSnapshots](https://playwright.dev/docs/api/class-testconfig#test-config-update-snapshots) is configured. Added `overwrite` and `3-way` modes that write the changes into source code, on top of existing `patch` mode that creates a patch file.

    ```bash
    npx playwright test --update-snapshots=changed --update-source-method=3way
    ```

-   Option [testConfig.webServer](https://playwright.dev/docs/api/class-testconfig#test-config-web-server) added a `gracefulShutdown` field for specifying a process kill signal other than the default `SIGKILL`.

-   Exposed [testStep.attachments](https://playwright.dev/docs/api/class-teststep#test-step-attachments) from the reporter API to allow retrieval of all attachments created by that step.

#### UI updates

-   Updated default HTML reporter to improve display of attachments.
-   New button for picking elements to produce aria snapshots.
-   Additional details (such as keys pressed) are now displayed alongside action API calls in traces.
-   Display of `canvas` content in traces is error-prone. Display is now disabled by default, and can be enabled via the `Display canvas content` UI setting.
-   `Call` and `Network` panels now display additional time information.

#### Breaking

-   [expect(locator).toBeEditable()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-be-editable) and [locator.isEditable()](https://playwright.dev/docs/api/class-locator#locator-is-editable) now throw if the target element is not `<input>`, `<select>`, or a number of other editable elements.
-   Option [testConfig.updateSnapshots](https://playwright.dev/docs/api/class-testconfig#test-config-update-snapshots) now updates all snapshots when set to `all`, rather than only the failed/changed snapshots. Use the new enum `changed` to keep the old functionality of only updating the changed snapshots.

#### Browser Versions

-   Chromium 133.0.6943.16
-   Mozilla Firefox 134.0
-   WebKit 18.2

This version was also tested against the following stable channels:

-   Google Chrome 132
-   Microsoft Edge 132

</details>

<details>
<summary>shoelace-style/shoelace (@&#8203;shoelace-style/shoelace)</summary>

### [`v2.20.0`](https://redirect.github.com/shoelace-style/shoelace/releases/tag/v2.20.0)

[Compare Source](https://redirect.github.com/shoelace-style/shoelace/compare/v2.19.1...v2.20.0)

#### Commits

-   [`7fd18d1`](https://redirect.github.com/shoelace-style/shoelace/commit/7fd18d1): Modify ja.ts ([#&#8203;2329](https://redirect.github.com/shoelace-style/shoelace/issues/2329)) (jz5) [#&#8203;2329](https://redirect.github.com/shoelace-style/shoelace/pull/2329)
-   [`c16c533`](https://redirect.github.com/shoelace-style/shoelace/commit/c16c533): update changelog (Cory LaViska)
-   [`7f88bb3`](https://redirect.github.com/shoelace-style/shoelace/commit/7f88bb3): Svelte documentation: adding Two-way Binding example in <sl-select> ([#&#8203;2327](https://redirect.github.com/shoelace-style/shoelace/issues/2327)) (Emanuel Saramago) [#&#8203;2327](https://redirect.github.com/shoelace-style/shoelace/pull/2327)
-   [`b5e82d6`](https://redirect.github.com/shoelace-style/shoelace/commit/b5e82d6): update docs (Cory LaViska)
-   [`81e94f2`](https://redirect.github.com/shoelace-style/shoelace/commit/81e94f2): Only trigger defaultslotchange of select after initialization ([#&#8203;2318](https://redirect.github.com/shoelace-style/shoelace/issues/2318)) (Susanne Kirchner) [#&#8203;2318](https://redirect.github.com/shoelace-style/shoelace/pull/2318)
-   [`f0c93d0`](https://redirect.github.com/shoelace-style/shoelace/commit/f0c93d0): update changelog (Cory LaViska)
-   [`6761fdc`](https://redirect.github.com/shoelace-style/shoelace/commit/6761fdc): Merge branch 'next' of https://github.com/shoelace-style/shoelace into next (Cory LaViska)
-   [`b0399ca`](https://redirect.github.com/shoelace-style/shoelace/commit/b0399ca): fix tabbable for radios ([#&#8203;2357](https://redirect.github.com/shoelace-style/shoelace/issues/2357)) (Konnor Rogers) [#&#8203;2357](https://redirect.github.com/shoelace-style/shoelace/pull/2357)
-   [`372ba1f`](https://redirect.github.com/shoelace-style/shoelace/commit/372ba1f): fix ssr for sl-alert and scrollend-polyfill ([#&#8203;2359](https://redirect.github.com/shoelace-style/shoelace/issues/2359)) (Christian Schilling) [#&#8203;2359](https://redirect.github.com/shoelace-style/shoelace/pull/2359)
-   [`69cf94b`](https://redirect.github.com/shoelace-style/shoelace/commit/69cf94b): Explain why dividers don't show if you use TailwindCSS and add a workaround. ([#&#8203;2356](https://redirect.github.com/shoelace-style/shoelace/issues/2356)) (Marcus) [#&#8203;2356](https://redirect.github.com/shoelace-style/shoelace/pull/2356)
-   [`b5f308c`](https://redirect.github.com/shoelace-style/shoelace/commit/b5f308c): move to section (Cory LaViska)
-   [`cb6460c`](https://redirect.github.com/shoelace-style/shoelace/commit/cb6460c): update action (Cory LaViska)
-   [`d93ee89`](https://redirect.github.com/shoelace-style/shoelace/commit/d93ee89): add changelog check (Cory LaViska)
-   [`0bc6d8c`](https://redirect.github.com/shoelace-style/shoelace/commit/0bc6d8c): fix error (Cory LaViska)
-   [`c3b1fb9`](https://redirect.github.com/shoelace-style/shoelace/commit/c3b1fb9): try again (Cory LaViska)
-   [`fce7f7c`](https://redirect.github.com/shoelace-style/shoelace/commit/fce7f7c): fix comment (Cory LaViska)
-   [`afc2b06`](https://redirect.github.com/shoelace-style/shoelace/commit/afc2b06): sigh (Cory LaViska)
-   [`03f8464`](https://redirect.github.com/shoelace-style/shoelace/commit/03f8464): ahem (Cory LaViska)
-   [`471e6cc`](https://redirect.github.com/shoelace-style/shoelace/commit/471e6cc): somebody save me (Cory LaViska)
-   [`c858a3a`](https://redirect.github.com/shoelace-style/shoelace/commit/c858a3a): yaml was a mistake (Cory LaViska)
-   [`5e11687`](https://redirect.github.com/shoelace-style/shoelace/commit/5e11687): save me tarides (Cory LaViska)
-   [`4530ba3`](https://redirect.github.com/shoelace-style/shoelace/commit/4530ba3): welp (Cory LaViska)
-   [`d674577`](https://redirect.github.com/shoelace-style/shoelace/commit/d674577): not today i guess (Cory LaViska)
-   [`ca8a12b`](https://redirect.github.com/shoelace-style/shoelace/commit/ca8a12b): maybe, just maybe (Cory LaViska)
-   [`74dafea`](https://redirect.github.com/shoelace-style/shoelace/commit/74dafea): somebody save me (Cory LaViska)
-   [`39e4557`](https://redirect.github.com/shoelace-style/shoelace/commit/39e4557): ok konnor (Cory LaViska)
-   [`d45e6df`](https://redirect.github.com/shoelace-style/shoelace/commit/d45e6df): revert (Cory LaViska)
-   [`e3b117d`](https://redirect.github.com/shoelace-style/shoelace/commit/e3b117d): i'll get you next time gadget! next time... (Cory LaViska)
-   [`a7aadc9`](https://redirect.github.com/shoelace-style/shoelace/commit/a7aadc9): SlSplitPanel `snap` improvements. ([#&#8203;2340](https://redirect.github.com/shoelace-style/shoelace/issues/2340)) (Auri Collings) [#&#8203;2340](https://redirect.github.com/shoelace-style/shoelace/pull/2340)
-   [`bb8f16a`](https://redirect.github.com/shoelace-style/shoelace/commit/bb8f16a): fix code field (Cory LaViska)
-   [`ee7aa09`](https://redirect.github.com/shoelace-style/shoelace/commit/ee7aa09): update changelog (Cory LaViska)
-   [`ff34da1`](https://redirect.github.com/shoelace-style/shoelace/commit/ff34da1): prettier (Cory LaViska)
-   [`de371b3`](https://redirect.github.com/shoelace-style/shoelace/commit/de371b3): update version (Cory LaViska)
-   [`960de96`](https://redirect.github.com/shoelace-style/shoelace/commit/960de96): 2.20.0 (Cory LaViska)

</details>

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

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

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

This release includes security patches for:

-   [Remote Code Execution when accessing a malicious website while Vitest API server is listening | CVE-2025-24964](https://redirect.github.com/vitest-dev/vitest/security/advisories/GHSA-9crc-q9x8-hgqq)

##### 🚀 Features

-   **ui**: Insert message "no tests found" in ui - by [@&#8203;DevJoaoLopes](https://redirect.github.com/DevJoaoLopes) in [https://github.com/vitest-dev/vitest/issues/7366](https://redirect.github.com/vitest-dev/vitest/issues/7366) [<samp>(92da4)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/92da490bd)

##### 🐞 Bug Fixes

-   Validate websocket request - by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) and [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/7317](https://redirect.github.com/vitest-dev/vitest/issues/7317) [<samp>(191ef)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/191ef9e34)
-   Don't toggle cli cursor on non-TTY - by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/7336](https://redirect.github.com/vitest-dev/vitest/issues/7336) [<samp>(3c805)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/3c8050e69)
-   **vite-node**: Differentiate file url with hash and query - by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa)  in [https://github.com/vitest-dev/vitest/issues/7365](https://redirect.github.com/vitest-dev/vitest/issues/7365) [<samp>(926ca)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/926ca9546)

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

</details>

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

### [`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`.

</details>

<details>
<summary>gradle/gradle (gradle)</summary>

### [`v8.12.1`](https://redirect.github.com/gradle/gradle/compare/v8.12.0...v8.12.1)

[Compare Source](https://redirect.github.com/gradle/gradle/compare/v8.12.0...v8.12.1)

</details>

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

### [`v0.474.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.474.0): New icons 0.474.0

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

##### Modified Icons 🔨

-   `expand` ([#&#8203;2677](https://redirect.github.com/lucide-icons/lucide/issues/2677)) by [@&#8203;jguddas](https://redirect.github.com/jguddas)

</details>

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

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

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

</details>

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

### [`v3.0.6`](https://redirect.github.com/resend/react-email/blob/HEAD/packages/react-email/CHANGELOG.md#306)

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

##### Patch Changes

-   [`c6fcd94`](https://redirect.github.com/resend/react-email/commit/c6fcd94): Fix preview server crashing without React 19

### [`v3.0.5`](https://redirect.github.com/resend/react-email/blob/HEAD/packages/react-email/CHANGELOG.md#305)

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

##### Patch Changes

-   [`7337d04`](https://redirect.github.com/resend/react-email/commit/7337d04): Fix emails being re-rendered each time there is navigation in the preview server

</details>

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

### [`v2.3.2`](https://redirect.github.com/vercel/swr/compare/v2.3.1...v2.3.2)

[Compare Source](https://redirect.github.com/vercel/swr/compare/v2.3.1...v2.3.2)

### [`v2.3.1`](https://redirect.github.com/vercel/swr/releases/tag/v2.3.1)

[Compare Source](https://redirect.github.com/vercel/swr/compare/v2.3.0...v2.3.1)

##### Fixes

-   fix: missing `throwOnError` in SWRMutationHook options by [@&#8203;Ram4GB](https://redirect.github.com/Ram4GB) in [https://github.com/vercel/swr/pull/3054](https://redirect.github.com/vercel/swr/pull/3054)
-   fix: sever env detection for deno by [@&#8203;elrrrrrrr](https://redirect.github.com/elrrrrrrr) in [https://github.com/vercel/swr/pull/4064](https://redirect.github.com/vercel/swr/pull/4064)
-   keepPreviousData: return fallback instead of undefined value by [@&#8203;dvoytenko](https://redirect.github.com/dvoytenko) in [https://github.com/vercel/swr/pull/4084](https://redirect.github.com/vercel/swr/pull/4084)

##### Misc

-   ci: update pnpm setup and lock pnpm vesion by [@&#8203;huozhi](https://redirect.github.com/huozhi) in [https://github.com/vercel/swr/pull/4085](https://redirect.github.com/vercel/swr/pull/4085)
-   build: bump bundler by [@&#8203;huozhi](https://redirect.github.com/huozhi) in [https://github.com/vercel/swr/pull/4086](https://redirect.github.com/vercel/swr/pull/4086)
-   refactor: type improvement of `useSWRHandler` by [@&#8203;samuel871211](https://redirect.github.com/samuel871211) in [https://github.com/vercel/swr/pull/4075](https://redirect.github.com/vercel/swr/pull/4075)

#### New Contributors

-   [@&#8203;Ram4GB](https://redirect.github.com/Ram4GB) made their first contribution in [https://github.com/vercel/swr/pull/3054](https://redirect.github.com/vercel/swr/pull/3054)
-   [@&#8203;elrrrrrrr](https://redirect.github.com/elrrrrrrr) made their first contribution in [https://github.com/vercel/swr/pull/4064](https://redirect.github.com/vercel/swr/pull/4064)
-   [@&#8203;dvoytenko](https://redirect.github.com/dvoytenko) made their first contribution in [https://github.com/vercel/swr/pull/4084](https://redirect.github.com/vercel/swr/pull/4084)
-   [@&#8203;samuel871211](https://redirect.github.com/samuel871211) made their first contribution in [https://github.com/vercel/swr/pull/4075](https://redirect.github.com/vercel/swr/pull/4075)

**Full Changelog**: https://github.com/vercel/swr/compare/v2.3.0...v2.3.1

</details>

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

### [`v6.1.0`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#610-2025-02-05)

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

-   refactor: deprecate `vite optimize` command ([#&#8203;19348](https://redirect.github.com/vitejs/vite/issues/19348)) ([6e0e3c0](6e0e3c0b99)), closes [#&#8203;19348](https://redirect.github.com/vitejs/vite/issues/19348)
-   feat: show hosts in cert in CLI ([#&#8203;19317](https://redirect.github.com/vitejs/vite/issues/19317)) ([a5e306f](a5e306f2fc)), closes [#&#8203;19317](https://redirect.github.com/vitejs/vite/issues/19317)
-   feat: support for env var for defining allowed hosts ([#&#8203;19325](https://redirect.github.com/vitejs/vite/issues/19325)) ([4d88f6c](4d88f6c939)), closes [#&#8203;19325](https://redirect.github.com/vitejs/vite/issues/19325)
-   feat: use native runtime to import the config ([#&#8203;19178](https://redirect.github.com/vitejs/vite/issues/19178)) ([7c2a794](7c2a7942cc)), closes [#&#8203;19178](https://redirect.github.com/vitejs/vite/issues/19178)
-   fix: avoid builtStart during vite optimize ([#&#8203;19356](https://redirect.github.com/vitejs/vite/issues/19356)) ([fdb36e0](fdb36e0769)), closes [#&#8203;19356](https://redirect.github.com/vitejs/vite/issues/19356)
-   fix(build): fix stale build manifest on watch rebuild ([#&#8203;19361](https://redirect.github.com/vitejs/vite/issues/19361)) ([fcd5785](fcd578587b)), closes [#&#8203;19361](https://redirect.github.com/vitejs/vite/issues/19361)

### [`v6.0.11`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small6011-2025-01-21-small)

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

-   fix: `preview.allowedHosts` with specific values was not respected ([#&#8203;19246](https://redirect.github.com/vitejs/vite/issues/19246)) ([aeb3ec8](aeb3ec84a2)), closes [#&#8203;19246](https://redirect.github.com/vitejs/vite/issues/19246)
-   fix: allow CORS from loopback addresses by default ([#&#8203;19249](https://redirect.github.com/vitejs/vite/issues/19249)) ([3d03899](3d03899737)), closes [#&#8203;19249](https://redirect.github.com/vitejs/vite/issues/19249)

### [`v6.0.10`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small6010-2025-01-20-small)

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

-   fix: try parse `server.origin` URL ([#&#8203;19241](https://redirect.github.com/vitejs/vite/issues/19241)) ([2495022](2495022420)), closes [#&#8203;19241](https://redirect.github.com/vitejs/vite/issues/19241)

</details>

<details>
<summary>apollographql/apollo-kotlin (com.apollographql.apollo)</summary>

### [`v4.1.1`](https://redirect.github.com/apollographql/apollo-kotlin/blob/HEAD/CHANGELOG.md#Version-411)

*2025-01-24*

#### Kotlin 2.1.0 ([#&#8203;6291](https://redirect.github.com/apollographql/apollo-kotlin/issues/6291))

The artifacts are now compiled with [Kotlin 2.1.0](https://kotlinlang.org/docs/whatsnew21.html). This change should be transparent for JVM and Android users thanks to [`languageVersion`](https://kotlinlang.org/docs/compatibility-modes.html) but [requires klib consumers (native + JS) to update their KGP version to 2.1.0](8add2e3b98/compiler/util-klib/KotlinAbiVersionBumpHistory.md (L3-L5)).

#### Rover LSP support in the IntelliJ plugin ([#&#8203;6274](https://redirect.github.com/apollographql/apollo-kotlin/issues/6274))

The IntelliJ plugin now has a dedicated mode for backend developers that uses [Rover](https://redirect.github.com/apollographql/rover) LSP ([Language Server Protocol](https://en.wikipedia.org/wiki/Language_Server_Protocol)) to parse federation and connectors directives. This mode is only available when using IntelliJ Ultimate and other IDEs with LSP support. It is recommended for subgraphs authors.

#### Gradle isolated projects support ([#&#8203;6351](https://redirect.github.com/apollographql/apollo-kotlin/issues/6351))

This release supports [Gradle isolated projects](https://docs.gradle.org/current/userguide/isolated_projects.html) for shorter configuration times.

#### Contributors 💙💙

Many thanks to [@&#8203;jvanderwee](https://redirect.github.com/jvanderwee), [@&#8203;varahash](https://redirect.github.com/varahash), [@&#8203;whyoleg](https://redirect.github.com/whyoleg), [@&#8203;StylianosGakis](https://redirect.github.com/StylianosGakis) and [@&#8203;scana](https://redirect.github.com/scana) for all the contributions and help in this release 💙!

#### 👷‍♂️ All changes

-   \[all] Do not set the license URL in the POMs ([#&#8203;6247](https://redirect.github.com/apollographql/apollo-kotlin/issues/6247))
-   \[all] Bump Kotlin to 2.1.0 ([#&#8203;6291](https://redirect.github.com/apollographql/apollo-kotlin/issues/6291))
-   \[all] Bump atomicfu ([#&#8203;6245](https://redirect.github.com/apollographql/apollo-kotlin/issues/6245))
-   \[intellij-plugin] Play nice with IDEs without Kotlin/Gradle ([#&#8203;6358](https://redirect.github.com/apollographql/apollo-kotlin/issues/6358))
-   \[intellij-plugin] Reduce usage of GradleExecutionHelper ([#&#8203;6355](https://redirect.github.com/apollographql/apollo-kotlin/issues/6355))
-   \[intellij-plugin] Use our own executeOnPooledThread instead of Android Plugin's ([#&#8203;6310](https://redirect.github.com/apollographql/apollo-kotlin/issues/6310))
-   \[intellij-plugin] Make Java and Kotlin dependencies optional ([#&#8203;6304](https://redirect.github.com/apollographql/apollo-kotlin/issues/6304))
-   \[intellij-plugin] Pass arguments to rover ([#&#8203;6303](https://redirect.github.com/apollographql/apollo-kotlin/issues/6303))
-   \[intellij-plugin] Move Rover settings to own section and add note about needing v0.27.0+ ([#&#8203;6278](https://redirect.github.com/apollographql/apollo-kotlin/issues/6278))
-   \[intellij-plugin] Remove untilBuild ([#&#8203;6279](https://redirect.github.com/apollographql/apollo-kotlin/issues/6279))
-   \[intellij-plugin] Add support for the Apollo LSP via Rover ([#&#8203;6274](https://redirect.github.com/apollographql/apollo-kotlin/issues/6274))
-   \[intellij-plugin] Don't reference AdbShellCommandsUtil.executeCommandBlocking that's been removed ([#&#8203;6268](https://redirect.github.com/apollographql/apollo-kotlin/issues/6268))
-   \[intellij-plugin] Make verifyPlugin fail on certain problems ([#&#8203;6256](https://redirect.github.com/apollographql/apollo-kotlin/issues/6256))
-   \[intellij-plugin] Do not use internal symbol ([#&#8203;6255](https://redirect.github.com/apollographql/apollo-kotlin/issues/6255))
-   \[intellij-plugin] Add explicit dependency to com.intellij.modules.json ([#&#8203;6254](https://redirect.github.com/apollographql/apollo-kotlin/issues/6254))
-   \[gradle-plugin] Add a fail-safe mode to disable 2-step introspection and use minimal introspection query ([#&#8203;6360](https://redirect.github.com/apollographql/apollo-kotlin/issues/6360))
-   \[gradle-plugin] Isolated Projects support ([#&#8203;6351](https://redirect.github.com/apollographql/apollo-kotlin/issues/6351))
-   \[gradle-plugin] expose the outgoing variants ([#&#8203;6329](https://redirect.github.com/apollographql/apollo-kotlin/issues/6329))
-   \[gradle-plugin] Better Gradle error message ([#&#8203;6326](https://redirect.github.com/apollographql/apollo-kotlin/issues/6326))
-   \[gradle-plugin] Fix classloader caching. Many thanks [@&#8203;scana](https://redirect.github.com/scana) for catching this ([#&#8203;6309](https://redirect.github.com/apollographql/apollo-kotlin/issues/6309))
-   \[gradle-plugin] Manage our classloaders manually ([#&#8203;6305](https://redirect.github.com/apollographql/apollo-kotlin/issues/6305))
-   \[gradle-plugin] Only call `onSchema()` once in multi-module scenrios ([#&#8203;6252](https://redirect.github.com/apollographql/apollo-kotlin/issues/6252))
-   \[runtime] Copy executionContext inside HttpRequest.newBuilder ([#&#8203;6350](https://redirect.github.com/apollographql/apollo-kotlin/issues/6350))
-   \[runtime] Apple HttpEngine: lock the handlers map ([#&#8203;6348](https://redirect.github.com/apollographql/apollo-kotlin/issues/6348))
-   \[runtime] Allow to initialize WebSocketEngine lazily ([#&#8203;6290](https://redirect.github.com/apollographql/apollo-kotlin/issues/6290))
-   \[runtime] Remove CloseableBackgroundDispatcher and bump coroutines version ([#&#8203;6286](https://redirect.github.com/apollographql/apollo-kotlin/issues/6286))
-   \[runtime] Override JsonNumber.toString() ([#&#8203;6273](https://redirect.github.com/apollographql/apollo-kotlin/issues/6273))
-   \[runtime] Implement ApolloWebSocketClosedException on darwin targets and update docs ([#&#8203;6275](https://redirect.github.com/apollographql/apollo-kotlin/issues/6275))
-   \[ast] Make deprecation.reason non-nullable ([#&#8203;6311](https://redirect.github.com/apollographql/apollo-kotlin/issues/6311))
-   \[ast] Allow multiple [@&#8203;link](https://redirect.github.com/link) schema extensions ([#&#8203;6284](https://redirect.github.com/apollographql/apollo-kotlin/issues/6284))
-   \[normalized-cache] Add ApolloStore.ALL_KEYS to notify all watchers ([#&#8203;6337](https://redirect.github.com/apollographql/apollo-kotlin/issues/6337))
-   \[http-cache] HTTP cache: do not remove cached entries on transport errors ([#&#8203;6314](https://redirect.github.com/apollographql/apollo-kotlin/issues/6314))
-   \[execution] Add apollo-execution ([#&#8203;6356](https://redirect.github.com/apollographql/apollo-kotlin/issues/6356))

</details>

<details>
<summary>JetBrains/kotlin (org.jetbrains.kotlin.jvm)</summary>

### [`v2.1.10`](https://redirect.github.com/JetBrains/kotlin/blob/HEAD/ChangeLog.md#2110)

##### Compiler

-   [`KT-73858`](https://youtrack.jetbrains.com/issue/KT-73858) Compose  / iOS: NullPointerException on building
-   [`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-73339`](https://youtrack.jetbrains.com/issue/KT-73339) K2: "VerifyError: Bad type on operand stack" because of missing implicit cast on generic field receiver with star projection
-   [`KT-72585`](https://youtrack.jetbrains.com/issue/KT-72585) K2: Compilation failure when upgrading to Kotlin 2.0.20+: Cannot replace top-level type with star projection: S
-   [`KT-73399`](https://youtrack.jetbrains.com/issue/KT-73399) compile-time JVM codegen failure on a KProperty argument of a KSuspendFunction parameter
-   [`KT-72725`](https://youtrack.jetbrains.com/issue/KT-72725) KMP: Unsupported actualization of inherited java field in expect class
-   [`KT-73153`](https://youtrack.jetbrains.com/issue/KT-73153) K2: Standalone diagnostics on type arguments are not reported

##### Compose compiler

-   [`CMP-5680`](https://youtrack.jetbrains.com/issue/CMP-5680) Compose compiler: unexpected stability warnings for classes compiled with 2.0.10
-   [`b/381407900`](https://issuetracker.google.com/issues/381407900) Avoid adding Compose annotations on synthetic classes

##### IR. Inlining

-   [`KT-73981`](https://youtrack.jetbrains.com/issue/KT-73981) Cherry-pick the fix for KT-73482 to 2.1.10

##### JavaScript

-   [`KT-70778`](https://youtrack.jetbrains.com/issue/KT-70778) Kotlin Js companion is undefined  in production build
-   [`KT-73130`](https://youtrack.jetbrains.com/issue/KT-73130) KJS: Missed `break` for do/while in generated JS code
-   [`KT-58797`](https://youtrack.jetbrains.com/issue/KT-58797) Optimize the code generated for objects on JS and Wasm backends

##### Klibs

-   [`KT-70146`](https://youtrack.jetbrains.com/issue/KT-70146) \[KLIB Resolve] Don't fail on nonexistent transitive dependency
-   [`KT-73951`](https://youtrack.jetbrains.com/issue/KT-73951) Workaround for "Partial linkage engine may not patch some discrepancies in IR when compiling Kotlin/Native static caches" in 2.1.10

##### Native

-   [`KT-73559`](https://youtrack.jetbrains.com/issue/KT-73559) K/Native: AndroidNativeArm64 linking fails starting from Kotlin 2.1.0

##### Tools. CLI

-   [`KT-73967`](https://youtrack.jetbrains.com/issue/KT-73967) JDK 25: "IllegalArgumentException: 25-ea" with EA builds

##### Tools. Daemon

-   [`KT-73311`](https://youtrack.jetbrains.com/issue/KT-73311) "Unable to release compile session, maybe daemon is already down" flakiness

##### Tools. Gradle

-   [`KT-73728`](https://youtrack.jetbrains.com/issue/KT-73728) 'generatePomFileForMavenPublication' creates pom with dependencies with 'unspecified' version

##### Tools. Gradle. Multiplatform

-   [`KT-73620`](https://youtrack.jetbrains.com/issue/KT-73620) KMP 2.1.0: Transitive dependency is broken when setting publication groupId

##### Tools. Gradle. Native

-   [`KT-73572`](https://youtrack.jetbrains.com/issue/KT-73572) \[Gradle] `kotlin.native.cacheKind=none` doesn't work anymore
-   [`KT-71419`](https://youtrack.jetbrains.com/issue/KT-71419) Light bundle KGP IT run against a stable K/N version

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNDUuMCIsInVwZGF0ZWRJblZlciI6IjM5LjE0NS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-02-06 05:09:51 +00:00
Brooooooklyn
db1fcf42c9 chore(server): stdout is enough for collecting server logging (#9964)
`@google-cloud/logging-winston` is not working well :(

![image](https://github.com/user-attachments/assets/1d5f44e6-7ca5-40b7-bcfa-d22c276ad813)
2025-02-05 13:25:11 +00:00
forehalo
4ed03c9f0e feat(i18n): introduce server error i18n (#9953)
close AF-2054
2025-02-05 12:30:19 +00:00
Brooooooklyn
10233f1dbf fix(admin): migrate tailwindcss config to v4 (#9940) 2025-02-05 11:09:58 +00:00
pengx17
a1beb2aadb fix(electron): sourcemap not loading for electron dev mode (#9951) 2025-02-05 08:34:57 +00:00
renovate
a673f42073 chore: bump up tailwindcss version to v4 (#9918)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [tailwindcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss)) | [`^3.4.16` -> `^4.0.0`](https://renovatebot.com/diffs/npm/tailwindcss/3.4.17/4.0.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tailwindcss/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tailwindcss/3.4.17/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/3.4.17/4.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>tailwindlabs/tailwindcss (tailwindcss)</summary>

### [`v4.0.3`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#403---2025-02-01)

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

##### Fixed

-   Fix incorrect removal of `@import url();` ([#&#8203;16144](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16144))

### [`v4.0.2`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#402---2025-01-31)

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

##### Fixed

-   Only generate positive `grid-cols-*` and `grid-rows-*` utilities ([#&#8203;16020](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16020))
-   Ensure escaped theme variables are handled correctly ([#&#8203;16064](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16064))
-   Ensure we process Tailwind CSS features when only using `@reference` or `@variant` ([#&#8203;16057](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16057))
-   Refactor gradient implementation to work around [prettier/prettier#17058](https://redirect.github.com/prettier/prettier/issues/17058) ([#&#8203;16072](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16072))
-   Vite: Ensure hot-reloading works with SolidStart setups ([#&#8203;16052](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16052))
-   Vite: Fix a crash when starting the development server in SolidStart setups ([#&#8203;16052](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16052))
-   Vite: Don't rebase URLs that appear to be aliases ([#&#8203;16078](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16078))
-   Vite: Transform `<style>` blocks in HTML files ([#&#8203;16069](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16069))
-   Prevent camel-casing CSS custom properties added by JavaScript plugins ([#&#8203;16103](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16103))
-   Do not emit `@keyframes` in `@theme reference` ([#&#8203;16120](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16120))
-   Discard invalid declarations when parsing CSS ([#&#8203;16093](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16093))
-   Do not emit empty CSS rules and at-rules ([#&#8203;16121](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16121))
-   Handle `@variant` when at the top-level of a stylesheet ([#&#8203;16129](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16129))

### [`v4.0.1`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#401---2025-01-29)

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

##### Added

-   Include `:open` pseudo-class in existing `open` variant ([#&#8203;15349](https://redirect.github.com/tailwindlabs/tailwindcss/pull/15349))

##### Fixed

-   Remove invalid `min-w/h-none` utilities ([#&#8203;15845](https://redirect.github.com/tailwindlabs/tailwindcss/pull/15845))
-   Discard CSS variable shorthand utilities that don't use valid CSS variables ([#&#8203;15738](https://redirect.github.com/tailwindlabs/tailwindcss/pull/15738))
-   Ensure font-size utilities with `none` modifier have a line-height set e.g. `text-sm/none` ([#&#8203;15921](https://redirect.github.com/tailwindlabs/tailwindcss/pull/15921))
-   Ensure font-size utilities with unknown modifier don't generate CSS ([#&#8203;15921](https://redirect.github.com/tailwindlabs/tailwindcss/pull/15921))
-   Don’t suggest font weight utilities more than once ([#&#8203;15857](https://redirect.github.com/tailwindlabs/tailwindcss/pull/15857))
-   Suggest container query variants ([#&#8203;15857](https://redirect.github.com/tailwindlabs/tailwindcss/pull/15857))
-   Disable bare value suggestions when not using the `--spacing` variable ([#&#8203;15857](https://redirect.github.com/tailwindlabs/tailwindcss/pull/15857))
-   Ensure suggested classes are properly sorted ([#&#8203;15857](https://redirect.github.com/tailwindlabs/tailwindcss/pull/15857))
-   Don’t look at .gitignore files outside initialized repos ([#&#8203;15941](https://redirect.github.com/tailwindlabs/tailwindcss/pull/15941))
-   Find utilities when using the Svelte class shorthand syntax across multiple lines ([#&#8203;15974](https://redirect.github.com/tailwindlabs/tailwindcss/pull/15974))
-   Find utilities when using the Angular class shorthand syntax ([#&#8203;15974](https://redirect.github.com/tailwindlabs/tailwindcss/pull/15974))
-   Find utilities when using functions inside arrays ([#&#8203;15974](https://redirect.github.com/tailwindlabs/tailwindcss/pull/15974))
-   Ensure that `@tailwindcss/browser` does not pollute the global namespace ([#&#8203;15978](https://redirect.github.com/tailwindlabs/tailwindcss/pull/15978))
-   Ensure that `tailwind-merge` is not scanned when using the Vite plugin ([#&#8203;16005](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16005))
-   Ensure CSS theme variables are available within shadow roots ([#&#8203;15975](https://redirect.github.com/tailwindlabs/tailwindcss/pull/15975))
-   Fix crash when project lives in the `/` directory ([#&#8203;15988](https://redirect.github.com/tailwindlabs/tailwindcss/pull/15988))
-   Ensure custom variants have a non-empty selector list ([#&#8203;16009](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16009))
-   *Upgrade*: Ensure JavaScript config files on different drives are correctly migrated ([#&#8203;15927](https://redirect.github.com/tailwindlabs/tailwindcss/pull/15927))
-   *Upgrade*: Migrate `leading-[1]` to `leading-none` ([#&#8203;16004](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16004))
-   *Upgrade*: Do not migrate arbitrary leading utilities to bare values ([#&#8203;16004](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16004))

### [`v4.0.0`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#400---2025-01-21)

[Compare Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v3.4.17...v4.0.0)

##### Added

-   [New high-performance engine](https://tailwindcss.com/blog/tailwindcss-v4#new-high-performance-engine) — where full builds are up to 5x faster, and incremental builds are over 100x faster — and measured in microseconds.
-   [Designed for the modern web](https://tailwindcss.com/blog/tailwindcss-v4#designed-for-the-modern-web) — built on cutting-edge CSS features like cascade layers, registered custom properties with `@property`, and `color-mix()`.
-   [Simplified installation](https://tailwindcss.com/blog/tailwindcss-v4#simplified-installation) — fewer dependencies, zero configuration, and just a single line of code in your CSS file.
-   [First-party Vite plugin](https://tailwindcss.com/blog/tailwindcss-v4#first-party-vite-plugin) — tight integration for maximum performance and minimum configuration.
-   [Automatic content detection](https://tailwindcss.com/blog/tailwindcss-v4#automatic-content-detection) — all of your template files are discovered automatically, with no configuration required.
-   [Built-in import support](https://tailwindcss.com/blog/tailwindcss-v4#built-in-import-support) — no additional tooling necessary to bundle multiple CSS files.
-   [CSS-first configuration](https://tailwindcss.com/blog/tailwindcss-v4#css-first-configuration) — a reimagined developer experience where you customize and extend the framework directly in CSS instead of a JavaScript configuration file.
-   [CSS theme variables](https://tailwindcss.com/blog/tailwindcss-v4#css-theme-variables) — all of your design tokens exposed as native CSS variables so you can access them anywhere.
-   [Dynamic utility values and variants](https://tailwindcss.com/blog/tailwindcss-v4#dynamic-utility-values-and-variants) — stop guessing what values exist in your spacing scale, or extending your configuration for things like basic data attributes.
-   [Modernized P3 color palette](https://tailwindcss.com/blog/tailwindcss-v4#modernized-p3-color-palette) — a redesigned, more vivid color palette that takes full advantage of modern display technology.
-   [Container queries](https://tailwindcss.com/blog/tailwindcss-v4#container-queries) — first-class APIs for styling elements based on their container size, no plugins required.
-   [New 3D transform utilities](https://tailwindcss.com/blog/tailwindcss-v4#new-3d-transform-utilities) — transform elements in 3D space directly in your HTML.
-   [Expanded gradient APIs](https://tailwindcss.com/blog/tailwindcss-v4#expanded-gradient-apis) — radial and conic gradients, interpolation modes, and more.
-   [@&#8203;starting-style support](https://tailwindcss.com/blog/tailwindcss-v4#starting-style-support) — a new variant you can use to create enter and exit transitions, without the need for JavaScript.
-   [not-\* variant](https://tailwindcss.com/blog/tailwindcss-v4#not-variant) — style an element only when it doesn't match another variant, custom selector, or media or feature query.
-   [Even more new utilities and variants](https://tailwindcss.com/blog/tailwindcss-v4#even-more-new-utilities-and-variants) — including support for `color-scheme`, `field-sizing`, complex shadows, `inert`, and more.

Start using Tailwind CSS v4.0 today by [installing it in a new project](https://tailwindcss.com/docs/installation/), or playing with it directly in the browser on [Tailwind Play](https://play.tailwindcss.com/).

For existing projects, we've published a comprehensive [upgrade guide](https://tailwindcss.com/docs/upgrade-guide) and built an [automated upgrade tool](https://tailwindcss.com/docs/upgrade-guide#using-the-upgrade-tool) to get you on the latest version as quickly and painlessly as possible.

For a deep-dive into everything that's new, [check out the announcement post](https://tailwindcss.com/blog/tailwindcss-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 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNDUuMCIsInVwZGF0ZWRJblZlciI6IjM5LjE0NS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-02-02 07:43:18 +00:00
Saul-Mirone
9c65c42d64 chore(editor): cleanup dead code (#9904) 2025-01-27 17:06:42 +00:00
Saul-Mirone
17bf75e843 refactor(editor): remove dependency of command global types (#9903)
Closes: [BS-2216](https://linear.app/affine-design/issue/BS-2216/remove-global-types-in-command)
2025-01-27 12:28:46 +00:00
Saul-Mirone
d6bfb761fe fix(editor): typecheck for tests and playground (#9897) 2025-01-27 02:00:09 +00:00
forehalo
9c5375ca06 chore: generate repo meta 2025-01-25 15:24:00 +08:00
zzj3720
5a5779c05a feat(editor): simple table block (#9740)
close: BS-2122, BS-2125, BS-2124, BS-2420, PD-2073, BS-2126, BS-2469, BS-2470, BS-2478, BS-2471
2025-01-24 10:07:57 +00:00
EYHN
876d4d9c94 fix(android): fix android nbstore provider (#9865) 2025-01-23 03:39:13 +00:00