yoyoyohamapi
317d3e7ea6
test(core): split and enhance copilot e2e tests ( #11007 )
...
### TL;DR
Split and enhance copilot e2e tests.
### What Changed
#### Tests Structure
The e2e tests are organized into the following categories:
1. **Basic Tests (`/basic`)**: Tests for verifying core AI capabilities including feature onboarding, authorization workflows, and basic chat interactions.
2. **Chat Interaction Tests (`/chat-with`)**: Tests for verifying the AI's interaction with various object types, such as attachments, images, text content, Edgeless elements, etc.
3. **AI Action Tests (`/ai-action`)**: Tests for verifying the AI's actions, such as text translation, gramma correction, etc.
4. **Insertion Tests (`/insertion`)**: Tests for verifying answer insertion functionality.
#### Tests Writing
Writing a copilot test cases is easier and clear
e.g.
```ts
test('support chat with specified doc', async ({ page, utils }) => {
// Initialize the doc
await focusDocTitle(page);
await page.keyboard.insertText('Test Doc');
await page.keyboard.press('Enter');
await page.keyboard.insertText('EEee is a cute cat');
await utils.chatPanel.chatWithDoc(page, 'Test Doc');
await utils.chatPanel.makeChat(page, 'What is EEee?');
await utils.chatPanel.waitForHistory(page, [
{
role: 'user',
content: 'What is EEee?',
},
{
role: 'assistant',
status: 'success',
},
]);
const { content } = await utils.chatPanel.getLatestAssistantMessage(page);
expect(content).toMatch(/EEee/);
});
```
#### Summary
||Cases|
|------|----|
|Before|19||
|After|151||
> Close BS-2769
2025-03-29 03:41:09 +00:00
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
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 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [@graphql-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 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [@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 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [@playwright/test](https://playwright.dev ) ([source](https://redirect.github.com/microsoft/playwright )) | [`=1.49.1` -> `=1.50.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.49.1/1.50.1 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | minor |
| [@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 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [@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 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [@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 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [@vitest/coverage-istanbul](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/coverage-istanbul#readme ) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul )) | [`3.0.2` -> `3.0.5`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/3.0.2/3.0.5 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | 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 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [apollographql/apollo-ios](https://redirect.github.com/apollographql/apollo-ios ) | `from: "1.16.0"` -> `from: "1.17.0"` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | | minor |
| [gradle](https://gradle.org ) ([source](https://redirect.github.com/gradle/gradle )) | `8.12` -> `8.12.1` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | | 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 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [node](https://nodejs.org ) ([source](https://redirect.github.com/nodejs/node )) | `22.13.0` -> `22.13.1` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | | 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 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | minor |
| [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 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [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 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | patch |
| [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 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | resolutions | minor |
| [com.apollographql.apollo](https://redirect.github.com/apollographql/apollo-kotlin ) | `4.1.0` -> `4.1.1` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | plugin | patch |
| [com.apollographql.apollo:apollo-api](https://redirect.github.com/apollographql/apollo-kotlin ) | `4.1.0` -> `4.1.1` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | patch |
| [com.apollographql.apollo:apollo-runtime](https://redirect.github.com/apollographql/apollo-kotlin ) | `4.1.0` -> `4.1.1` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | patch |
| [org.jetbrains.kotlin.jvm](https://kotlinlang.org/ ) ([source](https://redirect.github.com/JetBrains/kotlin )) | `2.1.0` -> `2.1.10` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | plugin | patch |
| [org.jetbrains.kotlin.android](https://kotlinlang.org/ ) ([source](https://redirect.github.com/JetBrains/kotlin )) | `2.1.0` -> `2.1.10` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | plugin | patch |
---
### Release Notes
<details>
<summary>natemoo-re/clack (@​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 "@​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 "@​clack/prompts";
await p.stream.step(
(async function* () {
yield* generateLLMResponse(question);
})()
);
```
</details>
<details>
<summary>dotansimha/graphql-code-generator (@​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
- [#​10248](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10248 ) [`72eb86f`](72eb86f49b ) Thanks [@​renovate](https://redirect.github.com/apps/renovate )! - dependencies updates:
- Updated dependency [`@whatwg-node/fetch@^0.10.0` ↗︎](https://www.npmjs.com/package/@​whatwg-node/fetch/v/0.10.0 ) (from `^0.9.20`, in `dependencies`)
- [#​10227](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10227 ) [`6f1741a`](6f1741af03 ) Thanks [@​eddeee888](https://redirect.github.com/eddeee888 )! - Fix schema pointers type to allow an array of pointers
- Updated dependencies \[[`8737dd8`](8737dd86b4 ), [`ed71811`](ed71811ace )]:
- [@​graphql-codegen/client-preset](https://redirect.github.com/graphql-codegen/client-preset )[@​4](https://redirect.github.com/4 ).6.0
</details>
<details>
<summary>napi-rs/napi-rs (@​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 (@​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 (@​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 ([#​2329](https://redirect.github.com/shoelace-style/shoelace/issues/2329 )) (jz5) [#​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> ([#​2327](https://redirect.github.com/shoelace-style/shoelace/issues/2327 )) (Emanuel Saramago) [#​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 ([#​2318](https://redirect.github.com/shoelace-style/shoelace/issues/2318 )) (Susanne Kirchner) [#​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 ([#​2357](https://redirect.github.com/shoelace-style/shoelace/issues/2357 )) (Konnor Rogers) [#​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 ([#​2359](https://redirect.github.com/shoelace-style/shoelace/issues/2359 )) (Christian Schilling) [#​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. ([#​2356](https://redirect.github.com/shoelace-style/shoelace/issues/2356 )) (Marcus) [#​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. ([#​2340](https://redirect.github.com/shoelace-style/shoelace/issues/2340 )) (Auri Collings) [#​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 (@​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 [@​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 [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) and [@​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 [@​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 [@​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 ([#​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 [#​580](https://redirect.github.com/apollographql/apollo-ios-dev/pull/580 ).
- **Specify caching fields with `typePolicy` directive ([#​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 [@​x-sheep](https://redirect.github.com/x-sheep ) for the contribution.*
- **Emit `Identifiable` conformance on `SelectionSet` ([#​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 [@​x-sheep](https://redirect.github.com/x-sheep ) for the contribution.*
##### Improvement
- **Improved performance of code generation on operations with many nested fragments ([#​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 [#​571](https://redirect.github.com/apollographql/apollo-ios-dev/pull/571 ).
##### Fixed
- **Defer metadata extension ([#​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 [#​581](https://redirect.github.com/apollographql/apollo-ios-dev/pull/581 ).
- **`DataDict` initialization of `deferredFragments` for named fragments ([#​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 ([#​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([#​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` ([#​2677](https://redirect.github.com/lucide-icons/lucide/issues/2677 )) by [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​samuel871211](https://redirect.github.com/samuel871211 ) in [https://github.com/vercel/swr/pull/4075 ](https://redirect.github.com/vercel/swr/pull/4075 )
#### New Contributors
- [@​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 )
- [@​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 )
- [@​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 )
- [@​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 ([#​19348](https://redirect.github.com/vitejs/vite/issues/19348 )) ([6e0e3c0](6e0e3c0b99 )), closes [#​19348](https://redirect.github.com/vitejs/vite/issues/19348 )
- feat: show hosts in cert in CLI ([#​19317](https://redirect.github.com/vitejs/vite/issues/19317 )) ([a5e306f](a5e306f2fc )), closes [#​19317](https://redirect.github.com/vitejs/vite/issues/19317 )
- feat: support for env var for defining allowed hosts ([#​19325](https://redirect.github.com/vitejs/vite/issues/19325 )) ([4d88f6c](4d88f6c939 )), closes [#​19325](https://redirect.github.com/vitejs/vite/issues/19325 )
- feat: use native runtime to import the config ([#​19178](https://redirect.github.com/vitejs/vite/issues/19178 )) ([7c2a794](7c2a7942cc )), closes [#​19178](https://redirect.github.com/vitejs/vite/issues/19178 )
- fix: avoid builtStart during vite optimize ([#​19356](https://redirect.github.com/vitejs/vite/issues/19356 )) ([fdb36e0](fdb36e0769 )), closes [#​19356](https://redirect.github.com/vitejs/vite/issues/19356 )
- fix(build): fix stale build manifest on watch rebuild ([#​19361](https://redirect.github.com/vitejs/vite/issues/19361 )) ([fcd5785](fcd578587b )), closes [#​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 ([#​19246](https://redirect.github.com/vitejs/vite/issues/19246 )) ([aeb3ec8](aeb3ec84a2 )), closes [#​19246](https://redirect.github.com/vitejs/vite/issues/19246 )
- fix: allow CORS from loopback addresses by default ([#​19249](https://redirect.github.com/vitejs/vite/issues/19249 )) ([3d03899](3d03899737 )), closes [#​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 ([#​19241](https://redirect.github.com/vitejs/vite/issues/19241 )) ([2495022](2495022420 )), closes [#​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 ([#​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 ([#​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 ([#​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 [@​jvanderwee](https://redirect.github.com/jvanderwee ), [@​varahash](https://redirect.github.com/varahash ), [@​whyoleg](https://redirect.github.com/whyoleg ), [@​StylianosGakis](https://redirect.github.com/StylianosGakis ) and [@​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 ([#​6247](https://redirect.github.com/apollographql/apollo-kotlin/issues/6247 ))
- \[all] Bump Kotlin to 2.1.0 ([#​6291](https://redirect.github.com/apollographql/apollo-kotlin/issues/6291 ))
- \[all] Bump atomicfu ([#​6245](https://redirect.github.com/apollographql/apollo-kotlin/issues/6245 ))
- \[intellij-plugin] Play nice with IDEs without Kotlin/Gradle ([#​6358](https://redirect.github.com/apollographql/apollo-kotlin/issues/6358 ))
- \[intellij-plugin] Reduce usage of GradleExecutionHelper ([#​6355](https://redirect.github.com/apollographql/apollo-kotlin/issues/6355 ))
- \[intellij-plugin] Use our own executeOnPooledThread instead of Android Plugin's ([#​6310](https://redirect.github.com/apollographql/apollo-kotlin/issues/6310 ))
- \[intellij-plugin] Make Java and Kotlin dependencies optional ([#​6304](https://redirect.github.com/apollographql/apollo-kotlin/issues/6304 ))
- \[intellij-plugin] Pass arguments to rover ([#​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+ ([#​6278](https://redirect.github.com/apollographql/apollo-kotlin/issues/6278 ))
- \[intellij-plugin] Remove untilBuild ([#​6279](https://redirect.github.com/apollographql/apollo-kotlin/issues/6279 ))
- \[intellij-plugin] Add support for the Apollo LSP via Rover ([#​6274](https://redirect.github.com/apollographql/apollo-kotlin/issues/6274 ))
- \[intellij-plugin] Don't reference AdbShellCommandsUtil.executeCommandBlocking that's been removed ([#​6268](https://redirect.github.com/apollographql/apollo-kotlin/issues/6268 ))
- \[intellij-plugin] Make verifyPlugin fail on certain problems ([#​6256](https://redirect.github.com/apollographql/apollo-kotlin/issues/6256 ))
- \[intellij-plugin] Do not use internal symbol ([#​6255](https://redirect.github.com/apollographql/apollo-kotlin/issues/6255 ))
- \[intellij-plugin] Add explicit dependency to com.intellij.modules.json ([#​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 ([#​6360](https://redirect.github.com/apollographql/apollo-kotlin/issues/6360 ))
- \[gradle-plugin] Isolated Projects support ([#​6351](https://redirect.github.com/apollographql/apollo-kotlin/issues/6351 ))
- \[gradle-plugin] expose the outgoing variants ([#​6329](https://redirect.github.com/apollographql/apollo-kotlin/issues/6329 ))
- \[gradle-plugin] Better Gradle error message ([#​6326](https://redirect.github.com/apollographql/apollo-kotlin/issues/6326 ))
- \[gradle-plugin] Fix classloader caching. Many thanks [@​scana](https://redirect.github.com/scana ) for catching this ([#​6309](https://redirect.github.com/apollographql/apollo-kotlin/issues/6309 ))
- \[gradle-plugin] Manage our classloaders manually ([#​6305](https://redirect.github.com/apollographql/apollo-kotlin/issues/6305 ))
- \[gradle-plugin] Only call `onSchema()` once in multi-module scenrios ([#​6252](https://redirect.github.com/apollographql/apollo-kotlin/issues/6252 ))
- \[runtime] Copy executionContext inside HttpRequest.newBuilder ([#​6350](https://redirect.github.com/apollographql/apollo-kotlin/issues/6350 ))
- \[runtime] Apple HttpEngine: lock the handlers map ([#​6348](https://redirect.github.com/apollographql/apollo-kotlin/issues/6348 ))
- \[runtime] Allow to initialize WebSocketEngine lazily ([#​6290](https://redirect.github.com/apollographql/apollo-kotlin/issues/6290 ))
- \[runtime] Remove CloseableBackgroundDispatcher and bump coroutines version ([#​6286](https://redirect.github.com/apollographql/apollo-kotlin/issues/6286 ))
- \[runtime] Override JsonNumber.toString() ([#​6273](https://redirect.github.com/apollographql/apollo-kotlin/issues/6273 ))
- \[runtime] Implement ApolloWebSocketClosedException on darwin targets and update docs ([#​6275](https://redirect.github.com/apollographql/apollo-kotlin/issues/6275 ))
- \[ast] Make deprecation.reason non-nullable ([#​6311](https://redirect.github.com/apollographql/apollo-kotlin/issues/6311 ))
- \[ast] Allow multiple [@​link](https://redirect.github.com/link ) schema extensions ([#​6284](https://redirect.github.com/apollographql/apollo-kotlin/issues/6284 ))
- \[normalized-cache] Add ApolloStore.ALL_KEYS to notify all watchers ([#​6337](https://redirect.github.com/apollographql/apollo-kotlin/issues/6337 ))
- \[http-cache] HTTP cache: do not remove cached entries on transport errors ([#​6314](https://redirect.github.com/apollographql/apollo-kotlin/issues/6314 ))
- \[execution] Add apollo-execution ([#​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