Saul-Mirone
f8cabe8bb1
refactor: move ai-item components to frontend core ( #10369 )
...
### TL;DR
Relocated AI item components from BlockSuite to the frontend codebase and updated related imports.
### What changed?
- Moved AI item components from `blocksuite/affine/components/src/ai-item` to `packages/frontend/core/src/blocksuite/presets/ai/_common/components/ai-item`
- Updated all imports referencing the old AI item component location to point to the new location
- Removed AI item exports from BlockSuite's package.json and effects registration
- Added AI item effects registration to frontend presets
### How to test?
1. Verify AI functionality works as expected in:
- Chat panels
- AI toolbars
- Edgeless copilot
- Slash menu
2. Confirm no AI-related console errors appear
3. Test error handling scenarios (unauthorized, payment required, network errors)
### Why make this change?
This change consolidates AI-related components into the frontend codebase where they are primarily used, rather than keeping them in BlockSuite. This improves code organization by placing components closer to their implementation and usage, while reducing unnecessary coupling between packages.
2025-02-22 17:03:07 +00:00
Saul-Mirone
3ff6176306
refactor(editor): extract ai widgets and tool ( #10367 )
...
### TL;DR
Moved AI-related components from BlockSuite core to the frontend presets directory to better organize AI functionality.
### What changed?
- Relocated AI panel, copilot tool, and related components from BlockSuite core to frontend presets
- Moved AI widget definitions and registrations to the presets directory
- Updated imports to reference new component locations
- Removed AI component registrations from core effects.ts
- Added AI component registrations to presets effects.ts
### How to test?
1. Verify AI panel functionality works as expected in the editor
2. Test copilot tool interactions in edgeless mode
3. Confirm AI suggestions and responses still appear correctly
4. Check that AI toolbar buttons and menus function properly
5. Ensure AI error states and loading indicators display correctly
### Why make this change?
This restructuring improves code organization by moving AI-specific functionality out of the core BlockSuite library and into the frontend presets where it more logically belongs. This separation of concerns makes the codebase more maintainable and allows for better modularity of AI features.
2025-02-22 13:58:40 +00:00
Saul-Mirone
2cf9a8f286
refactor: reorganize specs and adapter extensions ( #10359 )
...
### TL;DR
Refactored `SpecProvider` singleton access pattern and reorganized adapter/extension code structure.
### What changed?
- Changed `SpecProvider.getInstance()` to `SpecProvider._` for cleaner singleton access
- Moved adapter/extension code from `_common` directory to dedicated `adapters` and `extensions` folders
- Consolidated adapter extensions into a single file
- Removed unused dependencies from package.json
- Deleted unnecessary schema files
- Extracted `MobileSpecsPatches` class into the mobile patching code
- Updated all references to use the new `SpecProvider._` accessor
### How to test?
- Verify all specs are properly registered and accessible via `SpecProvider._`
- Test adapter functionality for HTML, Markdown, Notion HTML and plain text
- Check mobile-specific features and patches work correctly
- Ensure preview functionality works in both page and edgeless modes
### Why make this change?
- Improves code organization by properly separating adapters and extensions
- Simplifies singleton access pattern
- Removes unnecessary dependencies and files
- Makes the codebase more maintainable by consolidating related functionality
2025-02-21 14:25:35 +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
22e4bd8c20
refactor: move image proxy middleware and adapter extensions ( #10345 )
...
### TL;DR
Moved image proxy middleware and adapter extensions to their respective packages and introduced a new spec provider for adapter registration.
### What changed?
- Relocated `defaultImageProxyMiddleware` from blocks to `@blocksuite/affine-block-image`
- Moved `PresentTool` from fragment-frame-panel to block-frame
- Created new adapter extension specs for HTML, Markdown, and Notion HTML
- Introduced a spec provider pattern for adapter registration
- Removed direct transformer references from RootService
- Updated imports across affected files to use new locations
### How to test?
1. Verify image proxy functionality works in exports and imports
2. Test HTML, Markdown, and Notion HTML adapters still function correctly
3. Confirm presentation mode works with the relocated PresentTool
4. Check that all file import/export operations continue to work as expected
### Why make this change?
This reorganization improves code modularity by placing features in their logical packages and introduces a more maintainable pattern for adapter registration. The spec provider pattern makes it easier to manage and extend adapter functionality while reducing coupling between components.
2025-02-21 09:01:57 +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
akumatus
126677d7ad
fix(core): no pop-ups if user click discard menu item ( #10317 )
...
Fix issue [BS-2628](https://linear.app/affine-design/issue/BS-2628 ).
2025-02-20 13:29:28 +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
Saul-Mirone
1516903c77
refactor: move doc-title and ai-chat-block components ( #10316 )
...
### TL;DR
Moved doc title and AI chat block components to more appropriate locations while removing unused backlink functionality.
### What changed?
- Relocated doc title component from presets to affine-components
- Moved AI chat block from presets/blocks to blocks directory
- Removed unused backlink-related code and components
- Updated imports across files to reference new component locations
- Consolidated AI-related exports through a single entry point
### How to test?
1. Verify doc title still renders correctly in documents
2. Confirm AI chat functionality works as expected
3. Check that no backlink-related features are accessible
4. Ensure all AI features continue to work through the new import paths
### Why make this change?
This reorganization improves code organization by:
- Placing components closer to their related functionality
- Removing dead/unused code around backlinks
- Simplifying the import structure for AI-related features
- Making the codebase more maintainable by consolidating related components
2025-02-20 10:45:47 +00:00
L-Sun
4fee2a9c4b
chore(editor): update some widget styles ( #10311 )
2025-02-20 15:39:48 +08:00
Saul-Mirone
9f4311f654
refactor(editor): remove AbstractEditor type and feature flags in test ( #10308 )
2025-02-20 07:05:35 +00:00
fundon
adc003862b
fix(editor): image size and xywh when converting attachment to image ( #10200 )
...
In Edgeless, the image size should be read when converting attachment to image:
* fix `size`
* fix `xywh`
2025-02-20 05:16:21 +00:00
zzj3720
ba91b36cc3
feat(editor): add block creation tracking ( #10294 )
...
fix: PD-2090
2025-02-20 02:25:29 +00:00
donteatfriedrice
2b11941c0e
chore: bump theme ( #10290 )
2025-02-19 11:37:19 +00:00
donteatfriedrice
54b7515167
fix(editor): log when export blob failed ( #10287 )
2025-02-19 10:06:50 +00:00
Saul-Mirone
90b0982dd3
fix(editor): hide edgeless only note in synced doc block ( #10277 )
...
Closes: [BS-2616](https://linear.app/affine-design/issue/BS-2616/embed-view-%E5%B1%95%E7%A4%BA%E4%B8%8D%E8%AF%A5%E5%87%BA%E7%8E%B0%E7%9A%84-note-%E5%86%85%E5%AE%B9 )
2025-02-19 08:40:26 +00:00
donteatfriedrice
319d909ac8
fix(editor): paste surface-ref block to another doc as embed-linked-doc block ( #10274 )
...
[BS-2155](https://linear.app/affine-design/issue/BS-2155/复制-insert-frame-group-粘贴后,应当变为-block-ref-link )
2025-02-19 07:02:27 +00:00
Oleg
b20d316d60
fix(editor): ui bugs in linked document embed view ( #10105 )
...
Co-authored-by: Mirone <Saul-Mirone@outlook.com >
2025-02-18 23:29:58 +08:00
renovate
dc7e7cfc75
chore: bump up all non-major dependencies ( #10132 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://redirect.github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3 ) ([source](https://redirect.github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3 )) | [`3.744.0` -> `3.750.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.744.0/3.750.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/ ) |
| [@capgo/inappbrowser](https://redirect.github.com/Cap-go/capacitor-inappbrowser ) | [`7.1.6` -> `7.2.16`](https://renovatebot.com/diffs/npm/@capgo%2finappbrowser/7.1.6/7.2.16 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
| [@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.4` -> `5.0.5`](https://renovatebot.com/diffs/npm/@graphql-codegen%2fcli/5.0.4/5.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/ ) |
| [@lit/context](https://lit.dev/ ) ([source](https://redirect.github.com/lit/lit/tree/HEAD/packages/context )) | [`1.1.3` -> `1.1.4`](https://renovatebot.com/diffs/npm/@lit%2fcontext/1.1.3/1.1.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/ ) |
| [@opentelemetry/exporter-prometheus](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-exporter-prometheus ) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js )) | [`0.57.1` -> `0.57.2`](https://renovatebot.com/diffs/npm/@opentelemetry%2fexporter-prometheus/0.57.1/0.57.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/ ) |
| [@opentelemetry/instrumentation](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation ) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js )) | [`0.57.1` -> `0.57.2`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation/0.57.1/0.57.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/ ) |
| [@opentelemetry/instrumentation-http](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-http ) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js )) | [`0.57.1` -> `0.57.2`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-http/0.57.1/0.57.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/ ) |
| [@opentelemetry/sdk-node](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-sdk-node ) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js )) | [`0.57.1` -> `0.57.2`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsdk-node/0.57.1/0.57.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/ ) |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react ) ([source](https://redirect.github.com/getsentry/sentry-javascript )) | [`8.54.0` -> `8.55.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.54.0/8.55.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
| [@storybook/addon-essentials](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/essentials ) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials )) | [`8.5.4` -> `8.5.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-essentials/8.5.4/8.5.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/ ) |
| [@storybook/addon-interactions](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/interactions ) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions )) | [`8.5.4` -> `8.5.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-interactions/8.5.4/8.5.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/ ) |
| [@storybook/addon-links](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/links ) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/links )) | [`8.5.4` -> `8.5.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/8.5.4/8.5.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/ ) |
| [@storybook/addon-mdx-gfm](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/gfm ) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/gfm )) | [`8.5.4` -> `8.5.6`](https://renovatebot.com/diffs/npm/@storybook%2faddon-mdx-gfm/8.5.4/8.5.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/ ) |
| [@storybook/react](https://redirect.github.com/storybookjs/storybook/tree/next/code/renderers/react ) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/renderers/react )) | [`8.5.4` -> `8.5.6`](https://renovatebot.com/diffs/npm/@storybook%2freact/8.5.4/8.5.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/ ) |
| [@storybook/react-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/frameworks/react-vite ) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite )) | [`8.5.4` -> `8.5.6`](https://renovatebot.com/diffs/npm/@storybook%2freact-vite/8.5.4/8.5.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/ ) |
| [@swc/core](https://swc.rs ) ([source](https://redirect.github.com/swc-project/swc )) | [`1.10.15` -> `1.10.17`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.10.15/1.10.17 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node ) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node )) | [`22.13.1` -> `22.13.4`](https://renovatebot.com/diffs/npm/@types%2fnode/22.13.1/22.13.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/ ) |
| [@types/react](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react ) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react )) | [`19.0.8` -> `19.0.10`](https://renovatebot.com/diffs/npm/@types%2freact/19.0.8/19.0.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/ ) |
| [@types/react-dom](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-dom ) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom )) | [`19.0.3` -> `19.0.4`](https://renovatebot.com/diffs/npm/@types%2freact-dom/19.0.3/19.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/ ) |
| [@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.5` -> `3.0.6`](https://renovatebot.com/diffs/npm/@vitest%2fbrowser/3.0.5/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/ ) |
| [@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.5` -> `3.0.6`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/3.0.5/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/ ) |
| [@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.5` -> `3.0.6`](https://renovatebot.com/diffs/npm/@vitest%2fui/3.0.5/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/ ) |
| [bullmq](https://bullmq.io/ ) ([source](https://redirect.github.com/taskforcesh/bullmq )) | [`5.40.2` -> `5.41.2`](https://renovatebot.com/diffs/npm/bullmq/5.40.2/5.41.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/ ) |
| [electron](https://redirect.github.com/electron/electron ) | [`34.1.1` -> `34.2.0`](https://renovatebot.com/diffs/npm/electron/34.1.1/34.2.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
| [electron-updater](https://redirect.github.com/electron-userland/electron-builder ) ([source](https://redirect.github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-updater )) | [`6.5.0` -> `6.6.0`](https://renovatebot.com/diffs/npm/electron-updater/6.5.0/6.6.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/ ) |
| [fast-xml-parser](https://redirect.github.com/NaturalIntelligence/fast-xml-parser ) | [`4.5.1` -> `4.5.2`](https://renovatebot.com/diffs/npm/fast-xml-parser/4.5.1/4.5.2 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
| [html-validate](https://html-validate.org ) ([source](https://gitlab.com/html-validate/html-validate )) | [`9.2.2` -> `9.3.0`](https://renovatebot.com/diffs/npm/html-validate/9.2.2/9.3.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/ ) |
| [inquirer](https://redirect.github.com/SBoudrias/Inquirer.js/blob/main/packages/inquirer/README.md ) ([source](https://redirect.github.com/SBoudrias/Inquirer.js )) | [`12.4.1` -> `12.4.2`](https://renovatebot.com/diffs/npm/inquirer/12.4.1/12.4.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/ ) |
| [jotai](https://redirect.github.com/pmndrs/jotai ) | [`2.12.0` -> `2.12.1`](https://renovatebot.com/diffs/npm/jotai/2.12.0/2.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/ ) |
| [nanoid](https://redirect.github.com/ai/nanoid ) | [`5.0.9` -> `5.1.0`](https://renovatebot.com/diffs/npm/nanoid/5.0.9/5.1.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
| [nestjs-cls](https://papooch.github.io/nestjs-cls/ ) ([source](https://redirect.github.com/Papooch/nestjs-cls )) | [`5.2.0` -> `5.4.0`](https://renovatebot.com/diffs/npm/nestjs-cls/5.2.0/5.4.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
| [openai](https://redirect.github.com/openai/openai-node ) | [`4.83.0` -> `4.85.1`](https://renovatebot.com/diffs/npm/openai/4.83.0/4.85.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/ ) |
| [prettier](https://prettier.io ) ([source](https://redirect.github.com/prettier/prettier )) | [`3.5.0` -> `3.5.1`](https://renovatebot.com/diffs/npm/prettier/3.5.0/3.5.1 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
| [react-i18next](https://redirect.github.com/i18next/react-i18next ) | [`15.4.0` -> `15.4.1`](https://renovatebot.com/diffs/npm/react-i18next/15.4.0/15.4.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/ ) |
| [shiki](https://redirect.github.com/shikijs/shiki ) ([source](https://redirect.github.com/shikijs/shiki/tree/HEAD/packages/shiki )) | [`2.3.2` -> `2.5.0`](https://renovatebot.com/diffs/npm/shiki/2.3.2/2.5.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
| [storybook](https://redirect.github.com/storybookjs/storybook/tree/next/code/lib/cli ) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/lib/cli )) | [`8.5.4` -> `8.5.6`](https://renovatebot.com/diffs/npm/storybook/8.5.4/8.5.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/ ) |
| [typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint ) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint )) | [`8.24.0` -> `8.24.1`](https://renovatebot.com/diffs/npm/typescript-eslint/8.24.0/8.24.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/ ) |
| [vitest](https://redirect.github.com/vitest-dev/vitest ) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest )) | [`3.0.5` -> `3.0.6`](https://renovatebot.com/diffs/npm/vitest/3.0.5/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/ ) |
| [webpack](https://redirect.github.com/webpack/webpack ) | [`5.97.1` -> `5.98.0`](https://renovatebot.com/diffs/npm/webpack/5.97.1/5.98.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/ ) |
| [com.android.library](https://developer.android.com/studio/build ) ([source](https://android.googlesource.com/platform/tools/base )) | `8.8.0` -> `8.8.1` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
| [com.android.application](https://developer.android.com/studio/build ) ([source](https://android.googlesource.com/platform/tools/base )) | `8.8.0` -> `8.8.1` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
| [com.android.tools.build:gradle](https://developer.android.com/studio/build ) ([source](https://android.googlesource.com/platform/tools/base )) | `8.8.0` -> `8.8.1` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
---
### Release Notes
<details>
<summary>aws/aws-sdk-js-v3 (@​aws-sdk/client-s3)</summary>
### [`v3.750.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#37500-2025-02-17 )
[Compare Source](https://redirect.github.com/aws/aws-sdk-js-v3/compare/v3.749.0...v3.750.0 )
**Note:** Version bump only for package [@​aws-sdk/client-s3](https://redirect.github.com/aws-sdk/client-s3 )
### [`v3.749.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#37490-2025-02-14 )
[Compare Source](https://redirect.github.com/aws/aws-sdk-js-v3/compare/v3.744.0...v3.749.0 )
##### Features
- **client-s3:** Added support for Content-Range header in HeadObject response. ([5b15ad8](5b15ad8260 ))
</details>
<details>
<summary>Cap-go/capacitor-inappbrowser (@​capgo/inappbrowser)</summary>
### [`v7.2.16`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#7216-2025-02-10 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.15...7.2.16 )
### [`v7.2.15`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#7215-2025-02-10 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.14...7.2.15 )
### [`v7.2.14`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#7214-2025-02-09 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.13...7.2.14 )
### [`v7.2.13`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#7213-2025-02-09 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.9...7.2.13 )
### [`v7.2.9`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#729-2025-02-08 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.8...7.2.9 )
### [`v7.2.8`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#728-2025-02-08 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.7...7.2.8 )
### [`v7.2.7`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#727-2025-02-08 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.6...7.2.7 )
### [`v7.2.6`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#726-2025-02-08 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.5...7.2.6 )
### [`v7.2.5`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#725-2025-02-08 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.4...7.2.5 )
### [`v7.2.4`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#724-2025-02-08 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.3...7.2.4 )
### [`v7.2.3`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#723-2025-02-08 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.2...7.2.3 )
### [`v7.2.2`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#722-2025-02-08 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.1...7.2.2 )
### [`v7.2.1`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#7216-2025-02-10 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.0...7.2.1 )
### [`v7.2.0`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#720-2025-02-08 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.1.6...7.2.0 )
##### Features
- add ability to close webview from javascript on ios ([5034997](50349975e5 ))
- add close function to unified javascript interface ([c3d9079](c3d9079cab ))
- close webview with window.AndroidInterface.close() from within ([c5eae97](c5eae97a6a ))
##### Bug Fixes
- add better doc for 2 way com ([171ea27](171ea27931 ))
- add warning ([84470ae](84470ae1c3 ))
- allow inline video ([1368f2a](1368f2a4f0 ))
- better definition ([588cc88](588cc88438 ))
- CICD ([ee7ef04](ee7ef0430a ))
- order of doc ([71d8923](71d8923996 ))
- versions ([941aabe](941aabee33 ))
##### [7.1.6](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.1.5...7.1.6 ) (2025-02-02)
##### Bug Fixes
- lint ([d3df47c](d3df47cfef ))
##### [7.1.5](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.1.4...7.1.5 ) (2025-02-01)
##### Bug Fixes
- build ([89cd832](89cd832f96 ))
##### [7.1.4](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.1.3...7.1.4 ) (2025-02-01)
##### Bug Fixes
- remove READ_MEDIA_IMAGES ([e30874e](e30874ebe1 ))
##### [7.1.3](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.1.2...7.1.3 ) (2025-02-01)
##### Bug Fixes
- async thread ([df0bb19](df0bb198a6 ))
##### [7.1.2](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.1.1...7.1.2 ) (2025-02-01)
##### Bug Fixes
- Fixed back_arrow being displayed correctly instead of close_icon ([0516043](0516043312 ))
- openWebView has stopped hiding the phone's status bar. ([465a035](465a03561f ))
- openWebView has stopped hiding the phone's status bar. ([6154e54](6154e5422c ))
- openWebView has stopped hiding the phone's status bar. ([ec6a9c2](ec6a9c2205 ))
##### [7.1.1](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.1.0...7.1.1 ) (2025-01-27)
</details>
<details>
<summary>dotansimha/graphql-code-generator (@​graphql-codegen/cli)</summary>
### [`v5.0.5`](https://redirect.github.com/dotansimha/graphql-code-generator/blob/HEAD/packages/graphql-codegen-cli/CHANGELOG.md#505 )
[Compare Source](https://redirect.github.com/dotansimha/graphql-code-generator/compare/@graphql-codegen/cli@5.0.4...@graphql-codegen/cli@5.0.5 )
##### Patch Changes
- [#​10282](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10282 ) [`7d7760d`](7d7760d55c ) Thanks [@​oprypkhantc](https://redirect.github.com/oprypkhantc )! - Fix watcher watching project root when schema URL is used
</details>
<details>
<summary>lit/lit (@​lit/context)</summary>
### [`v1.1.4`](https://redirect.github.com/lit/lit/blob/HEAD/packages/context/CHANGELOG.md#114 )
[Compare Source](https://redirect.github.com/lit/lit/compare/@lit/context@1.1.3...7db8eadb285c2a55fe4aa78c491585e1e90d3b1c )
##### Patch Changes
- [#​4734](https://redirect.github.com/lit/lit/pull/4734 ) [`0f535d48`](0f535d483b ) Thanks [@​sorin-davidoi](https://redirect.github.com/sorin-davidoi )! - Avoid calling Event.composedPath() when it is not needed
</details>
<details>
<summary>open-telemetry/opentelemetry-js (@​opentelemetry/exporter-prometheus)</summary>
### [`v0.57.2`](cbc912d67b...ac8641a5db )
[Compare Source](cbc912d67b...ac8641a5db )
</details>
<details>
<summary>getsentry/sentry-javascript (@​sentry/react)</summary>
### [`v8.55.0`](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/8.55.0 )
[Compare Source](https://redirect.github.com/getsentry/sentry-javascript/compare/8.54.0...8.55.0 )
##### Important Changes
- **chore(ci/v8): Switch lambda layer name to `SentryNodeServerlessSDKv8` ([#​15351](https://redirect.github.com/getsentry/sentry-javascript/pull/15351 ))**
The `SentryNodeServerlessSDK` AWS Lambda Layer will stop receiving updates.
If you intend to stay on `v8` and receive updates use `SentryNodeServerlessSDKv8` instead.
##### Other Changes
- feat(flags/v8): add Statsig browser integration ([#​15347](https://redirect.github.com/getsentry/sentry-javascript/pull/15347 ))
- feat(v8/node): Add missing `vercelAIIntegration` export ([#​15339](https://redirect.github.com/getsentry/sentry-javascript/pull/15339 ))
- feat(v8/nuxt): Add `enabled` to disable Sentry module ([#​15337](https://redirect.github.com/getsentry/sentry-javascript/pull/15337 )) ([#​15381](https://redirect.github.com/getsentry/sentry-javascript/issues/15381 ))
- feat(v8/vue): Support Pinia v3 ([#​15384](https://redirect.github.com/getsentry/sentry-javascript/pull/15384 ))
- fix(astro): Add vue to `registerEsmLoaderHooks` ([#​15352](https://redirect.github.com/getsentry/sentry-javascript/pull/15352 ))
- fix(react/v8): Support lazy-loaded routes and components ([#​15281](https://redirect.github.com/getsentry/sentry-javascript/pull/15281 ))
- fix(v8/nuxt): Detect Azure Function runtime for flushing with timeout ([#​15297](https://redirect.github.com/getsentry/sentry-javascript/pull/15297 ))
- fix(v8/solidstart): Do not copy release-injection map file ([#​15304](https://redirect.github.com/getsentry/sentry-javascript/pull/15304 ))
- fix(v8/svelte): Guard component tracking `beforeUpdate` call ([#​15262](https://redirect.github.com/getsentry/sentry-javascript/pull/15262 ))
Work in this release was contributed by [@​aryanvdesh](https://redirect.github.com/aryanvdesh ). Thank you for your contribution!
##### Bundle size 📦
| Path | Size |
| ---------------------------------------------------------------- | ----------------- |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) | 23.3 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) - with treeshaking flags | 23.17 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing) | 35.9 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing, Replay) | 73.27 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing, Replay) - with treeshaking flags | 66.71 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing, Replay with Canvas) | 77.57 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing, Replay, Feedback) | 89.5 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Feedback) | 39.51 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. sendFeedback) | 27.91 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. FeedbackAsync) | 32.71 KB |
| [@​sentry/react](https://redirect.github.com/sentry/react ) | 25.98 KB |
| [@​sentry/react](https://redirect.github.com/sentry/react ) (incl. Tracing) | 38.71 KB |
| [@​sentry/vue](https://redirect.github.com/sentry/vue ) | 27.58 KB |
| [@​sentry/vue](https://redirect.github.com/sentry/vue ) (incl. Tracing) | 37.75 KB |
| [@​sentry/svelte](https://redirect.github.com/sentry/svelte ) | 23.46 KB |
| CDN Bundle | 24.49 KB |
| CDN Bundle (incl. Tracing) | 37.6 KB |
| CDN Bundle (incl. Tracing, Replay) | 72.9 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 78.23 KB |
| CDN Bundle - uncompressed | 71.92 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 111.52 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 225.78 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 238.88 KB |
| [@​sentry/nextjs](https://redirect.github.com/sentry/nextjs ) (client) | 38.96 KB |
| [@​sentry/sveltekit](https://redirect.github.com/sentry/sveltekit ) (client) | 36.4 KB |
| [@​sentry/node](https://redirect.github.com/sentry/node ) | 162.85 KB |
| [@​sentry/node](https://redirect.github.com/sentry/node ) - without tracing | 99.14 KB |
| [@​sentry/aws-serverless](https://redirect.github.com/sentry/aws-serverless ) | 131.23 KB |
</details>
<details>
<summary>storybookjs/storybook (@​storybook/addon-essentials)</summary>
### [`v8.5.6`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#856 )
[Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v8.5.5...v8.5.6 )
- Builder-Vite: Fix defaulting to allowing all hosts - [#​30523](https://redirect.github.com/storybookjs/storybook/pull/30523 ), thanks [@​JReinhold](https://redirect.github.com/JReinhold )!
- UI: Fix tags sort for browser back-compat - [#​30547](https://redirect.github.com/storybookjs/storybook/pull/30547 ), thanks [@​shilman](https://redirect.github.com/shilman )!
### [`v8.5.5`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#855 )
[Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v8.5.4...v8.5.5 )
- Builder-Vite: Fix Turbosnap - [#​30522](https://redirect.github.com/storybookjs/storybook/pull/30522 ), thanks [@​valentinpalkovic](https://redirect.github.com/valentinpalkovic )!
</details>
<details>
<summary>swc-project/swc (@​swc/core)</summary>
### [`v1.10.17`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#11017---2025-02-18 )
[Compare Source](https://redirect.github.com/swc-project/swc/compare/v1.10.16...v1.10.17 )
##### Bug Fixes
- **(deps)** Update cargo (patch) ([#​10021](https://redirect.github.com/swc-project/swc/issues/10021 )) ([ffb7734](ffb77342d9 ))
- **(typescript)** Improve type inferring for undefined and null ([#​10038](https://redirect.github.com/swc-project/swc/issues/10038 )) ([5059ece](5059ece95a ))
- **(typescript)** Remove the usages of private members ([#​10037](https://redirect.github.com/swc-project/swc/issues/10037 )) ([8410b59](8410b59621 ))
##### Performance
- **(hstr)** Use thin arc for hash and length ([#​10033](https://redirect.github.com/swc-project/swc/issues/10033 )) ([2bea793](2bea793bf3 ))
- **(hstr)** Skip interning if the text is long enough ([#​10035](https://redirect.github.com/swc-project/swc/issues/10035 )) ([2622e4e](2622e4e1d0 ))
##### Testing
- **(hstr)** Add tests ([#​10043](https://redirect.github.com/swc-project/swc/issues/10043 )) ([32b58f0](32b58f0b21 ))
- **(ts/fast-strip)** Add tests for `declare module` error cases ([#​10040](https://redirect.github.com/swc-project/swc/issues/10040 )) ([37672e0](37672e024e ))
### [`v1.10.16`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#11016---2025-02-13 )
[Compare Source](https://redirect.github.com/swc-project/swc/compare/v1.10.15...v1.10.16 )
##### Bug Fixes
- **(es/minifier)** Check assign target before merge assign cond ([#​10020](https://redirect.github.com/swc-project/swc/issues/10020 )) ([6dab49a](6dab49a07c ))
- **(es/parser)** Preserve comment positions with leading semicolon ([#​10019](https://redirect.github.com/swc-project/swc/issues/10019 )) ([c9937b6](c9937b65bf ))
- **(swc_common)** Fix panic with non-narrow chars with width != 2 ([#​10011](https://redirect.github.com/swc-project/swc/issues/10011 )) ([f9f4cac](f9f4cac0e5 ))
- **(ts/fast-strip)** Handle unsupported `module` keyword ([#​10022](https://redirect.github.com/swc-project/swc/issues/10022 )) ([308f5d0](308f5d03c7 ))
##### Performance
- **(es/codegen)** Reduce allocation using `compact_str` ([#​10008](https://redirect.github.com/swc-project/swc/issues/10008 )) ([7d7319f](7d7319f248 ))
</details>
<details>
<summary>vitest-dev/vitest (@​vitest/browser)</summary>
### [`v3.0.6`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v3.0.6 )
[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.5...v3.0.6 )
##### 🐞 Bug Fixes
- Fix `getMockedSystemTime` for `useFakeTimer` - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7405 ](https://redirect.github.com/vitest-dev/vitest/issues/7405 ) [<samp>(03912)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/03912b43 )
- Compat for jest-image-snapshot - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7390 ](https://redirect.github.com/vitest-dev/vitest/issues/7390 ) [<samp>(9542b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/9542b699 )
- Ensure project names are readable in dark terminals - by [@​rgrove](https://redirect.github.com/rgrove ) in [https://github.com/vitest-dev/vitest/issues/7371 ](https://redirect.github.com/vitest-dev/vitest/issues/7371 ) [<samp>(bb94c)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/bb94c19f )
- Exclude `queueMicrotask` from default fake timers to not break node fetch - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7505 ](https://redirect.github.com/vitest-dev/vitest/issues/7505 ) [<samp>(167a9)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/167a98d7 )
- **browser**:
- Fix mocking modules out of root - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7415 ](https://redirect.github.com/vitest-dev/vitest/issues/7415 ) [<samp>(d3acb)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/d3acbd8b )
- Fix `toHaveClass` typing - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7383 ](https://redirect.github.com/vitest-dev/vitest/issues/7383 ) [<samp>(7ef23)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/7ef238c0 )
- Relax locator selectors methods - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7422 ](https://redirect.github.com/vitest-dev/vitest/issues/7422 ) [<samp>(1b8c5)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/1b8c5c9e )
- Resolve thread count from `maxWorkers` - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/7483 ](https://redirect.github.com/vitest-dev/vitest/issues/7483 ) [<samp>(adbb2)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/adbb25ab )
- Cleanup timeout on resolve and give more information in the error - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7487 ](https://redirect.github.com/vitest-dev/vitest/issues/7487 ) [<samp>(5a45a)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/5a45a7ca )
- **coverage**:
- `vite-node` to pass correct execution wrapper offset - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/7417 ](https://redirect.github.com/vitest-dev/vitest/issues/7417 ) [<samp>(1f2e5)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/1f2e5552 )
- Preserve moduleExecutionInfo in non-isolated runs - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/7486 ](https://redirect.github.com/vitest-dev/vitest/issues/7486 ) [<samp>(f31a0)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/f31a07bb )
- **deps**:
- Update all non-major dependencies - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa )
2025-02-18 15:14:03 +00:00
Saul-Mirone
2f04e3180c
refactor: move utils and cleanup test helpers ( #10261 )
2025-02-18 14:03:51 +00:00
donteatfriedrice
15e9acefc2
fix(editor): paste when select multiple block texts ( #10227 )
...
[BS-2512](https://linear.app/affine-design/issue/BS-2512/选中多段粘贴,多段只有第一段会被replace,这个bug还在 )
2025-02-18 12:13:55 +00:00
L-Sun
e639f08b71
chore(editor): remove page block feature flag ( #10251 )
2025-02-18 09:25:05 +00:00
CatsJuice
f6a86c10fe
fix(editor): edgeless toolbar basket not visible in firefox ( #10232 )
2025-02-18 04:52:52 +00:00
Saul-Mirone
c3e924d4cb
refactor(editor): move export manager to surface block extensions ( #10231 )
2025-02-18 04:39:05 +00:00
donteatfriedrice
594224e3b4
feat(editor): support to copy in preview root block ( #10214 )
...
[BS-2590](https://linear.app/affine-design/issue/BS-2590/ai-chat-panel-的-copy-code-不-work-了 ) [BS-2550](https://linear.app/affine-design/issue/BS-2550/chat-panel-内的内容复制粘贴到-affine-编辑器时-时没办法保留格式 )
2025-02-17 04:07:10 +00:00
L-Sun
85e413f8c8
chore(editor): add telemetry track to display mode of note ( #10192 )
...
Close [BS-2468](https://linear.app/affine-design/issue/BS-2468/analytics-for-page-block-polish )
2025-02-17 03:23:55 +00:00
doouding
8ece812017
feat: dnd image preview && edgeless dnd preview issue ( #10177 )
...
### Changed
- Add new image block to render dnd preview
- Fixed the bug that dragging uploaded image does not have width and height
- Fixed the bug that drag image block from page to edgeless does not have width and height
- Better edgeless dnd preview
2025-02-14 16:02:03 +00:00
Saul-Mirone
d111f8ac88
feat(editor): add WidgetViewExtension ( #10180 )
...
Closes: [BS-2282](https://linear.app/affine-design/issue/BS-2282/replace-widgetviewmapextension-with-widgetextension )
2025-02-14 11:00:01 +00:00
Flrande
537012e7df
fix(editor): edgeless mindmap text button layer inder ( #10179 )
2025-02-14 05:18:57 +00:00
L-Sun
9d08f446cc
refactor(editor): remove redundant edgeless icons ( #10169 )
...
Continue [BS-2240](https://linear.app/affine-design/issue/BS-2240/%E6%B8%85%E7%90%86%E9%87%8D%E5%A4%8D%E7%9A%84icon )
This PR removes `icons/edgeless.ts` and refactor with `@blocksuite/icons` for reducing redundant icons
2025-02-14 05:03:26 +00:00
Oleg
b82fc3bc10
feat(core): attach a pdf ( #10039 )
...
Co-authored-by: L-Sun <zover.v@gmail.com >
2025-02-14 10:22:32 +08:00
L-Sun
3ada4bee0d
chore(editor): adjust min width of edgeless note ( #10153 )
...
Close [BS-2499](https://linear.app/affine-design/issue/BS-2499/所有notes最小宽度调整为218px )
### What changes
- adjusted min width of edgeless note
- placeholder show ellipsis in min edgeless note
- refactored somes button of `change-note-button.ts` with `isPageBlock`
2025-02-13 12:40:14 +00:00
Saul-Mirone
9321ce94a7
refactor(editor): remove global types in config ( #10143 )
...
Closes: [BS-2554](https://linear.app/affine-design/issue/BS-2554/remove-global-types-in-block-config )
2025-02-13 04:35:35 +00:00
Yifeng Wang
26de7a56fd
refactor(editor): remove redundant getOptional for gfx ( #10142 )
2025-02-13 11:27:20 +08:00
L-Sun
9a17422d36
fix(editor): wrong position of remote selection and at menu in edgeless ( #10137 )
...
Close [BS-2552](https://linear.app/affine-design/issue/BS-2552/menu-loading-时滚动,定位错误 ), [BS-2490](https://linear.app/affine-design/issue/BS-2490/note-block-的menu的输入阴影错位 ), [BS-2300](https://linear.app/affine-design/issue/BS-2300/at-menu的输入阴影在暗黑模式看不见 )
### What Changes
- fix the position of remote selection mask and @ menu input mask in edgeless
- fix the position of @ menu is no updated during edgeless viewport change
- update @ menu mask color in dark mode
### Before
https://github.com/user-attachments/assets/f44f618e-a791-497a-9f53-74824fe48dea
### After
https://github.com/user-attachments/assets/5d87b999-deae-4435-9b8b-4cdf55393395
2025-02-13 01:56:01 +00:00
doouding
270d1754a3
feat: edgeless dnd preview ( #10117 )
2025-02-12 12:37:07 +00:00
doouding
f89fcf82f8
feat: edgeless dnd ( #9988 )
...
### Changed
- Support edgelss dnd
- Simplify the drag-handle state
2025-02-12 12:37:06 +00:00
Saul-Mirone
e7cc710f8e
refactor(editor): remove service global type ( #10129 )
...
Closes: [BS-2566](https://linear.app/affine-design/issue/BS-2566/remove-global-types-in-service )
2025-02-12 11:46:10 +00:00
donteatfriedrice
30612de1ad
fix(core): wrap code in ai chat ( #10108 )
...
[BS-2540](https://linear.app/affine-design/issue/BS-2540/ai-chat-中-code-block-需要默认换行 )
2025-02-12 09:43:52 +00:00
L-Sun
54d194afe7
fix(editor): set edgeless note style will override collapse state ( #10098 )
...
Close [BS-2489](https://linear.app/affine-design/issue/BS-2489/%E6%94%B9%E5%8F%98note-style%E4%BC%9A%E9%87%8D%E7%BD%AEcollapse%E7%8A%B6%E6%80%81 )
2025-02-11 14:29:25 +00:00
Saul-Mirone
6b78d2dcf2
refactor(editor): reduce getService ( #10100 )
2025-02-11 12:26:02 +00:00
Saul-Mirone
dbf0f9dc20
refactor(editor): remove global types in edgeless ( #10092 )
...
Closes: [BS-2553](https://linear.app/affine-design/issue/BS-2553/remove-global-types-in-edgeless )
2025-02-11 12:09:44 +00:00
Saul-Mirone
39eb8625d6
refactor(editor): remove block models global type ( #10086 )
2025-02-11 11:00:57 +00:00
Saul-Mirone
652865c7cf
refactor(editor): remove global types in model ( #10082 )
...
Closes: [BS-2249](https://linear.app/affine-design/issue/BS-2249/remove-global-types-in-model )
```ts
// before
matchFlavours(model, ['affine:page']);
// after
matchFlavours(model, [PageBlockModel]);
```
2025-02-11 08:18:57 +00:00
pengx17
fd25cd875b
feat: focus the create page item when query returns no result in at menu ( #10060 )
...
fix AF-2191
2025-02-10 15:51:56 +00:00
renovate
08ecc54d67
chore: bump up all non-major dependencies ( #10004 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://redirect.github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3 ) ([source](https://redirect.github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3 )) | [`3.743.0` -> `3.744.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.743.0/3.744.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [@capgo/inappbrowser](https://redirect.github.com/Cap-go/capacitor-inappbrowser ) | [`7.1.6` -> `7.2.15`](https://renovatebot.com/diffs/npm/@capgo%2finappbrowser/7.1.6/7.2.15 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [@eslint/js](https://eslint.org ) ([source](https://redirect.github.com/eslint/eslint/tree/HEAD/packages/js )) | [`9.19.0` -> `9.20.0`](https://renovatebot.com/diffs/npm/@eslint%2fjs/9.19.0/9.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/ ) | devDependencies | minor |
| [@swc/core](https://swc.rs ) ([source](https://redirect.github.com/swc-project/swc )) | [`1.10.14` -> `1.10.15`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.10.14/1.10.15 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [@tailwindcss/postcss](https://tailwindcss.com ) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss )) | [`4.0.4` -> `4.0.5`](https://renovatebot.com/diffs/npm/@tailwindcss%2fpostcss/4.0.4/4.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/ ) | dependencies | patch |
| [@vitejs/plugin-react-swc](https://redirect.github.com/vitejs/vite-plugin-react-swc ) | [`3.7.2` -> `3.8.0`](https://renovatebot.com/diffs/npm/@vitejs%2fplugin-react-swc/3.7.2/3.8.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | minor |
| [esbuild](https://redirect.github.com/evanw/esbuild ) | [`^0.24.0` -> `^0.25.0`](https://renovatebot.com/diffs/npm/esbuild/0.24.2/0.25.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | minor |
| [happy-dom](https://redirect.github.com/capricorn86/happy-dom ) | [`17.0.0` -> `17.0.2`](https://renovatebot.com/diffs/npm/happy-dom/17.0.0/17.0.2 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [ioredis](https://redirect.github.com/luin/ioredis ) | [`5.4.2` -> `5.5.0`](https://renovatebot.com/diffs/npm/ioredis/5.4.2/5.5.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [link-preview-js](https://redirect.github.com/ospfranco/link-preview-js ) | [`3.0.13` -> `3.0.14`](https://renovatebot.com/diffs/npm/link-preview-js/3.0.13/3.0.14 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | patch |
| [lucide-react](https://lucide.dev ) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react )) | [`^0.474.0` -> `^0.475.0`](https://renovatebot.com/diffs/npm/lucide-react/0.474.0/0.475.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 |
| [marked](https://marked.js.org ) ([source](https://redirect.github.com/markedjs/marked )) | [`15.0.6` -> `15.0.7`](https://renovatebot.com/diffs/npm/marked/15.0.6/15.0.7 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | patch |
| [nestjs-cls](https://papooch.github.io/nestjs-cls/ ) ([source](https://redirect.github.com/Papooch/nestjs-cls )) | [`5.0.1` -> `5.1.2`](https://renovatebot.com/diffs/npm/nestjs-cls/5.0.1/5.1.2 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [once_cell](https://redirect.github.com/matklad/once_cell ) | `1.20.2` -> `1.20.3` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | workspace.dependencies | patch |
| [prettier](https://prettier.io ) ([source](https://redirect.github.com/prettier/prettier )) | [`3.4.2` -> `3.5.0`](https://renovatebot.com/diffs/npm/prettier/3.4.2/3.5.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | minor |
| [prettier](https://prettier.io ) ([source](https://redirect.github.com/prettier/prettier )) | [`3.4.2` -> `3.5.0`](https://renovatebot.com/diffs/npm/prettier/3.4.2/3.5.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | minor |
| [react-virtuoso](https://virtuoso.dev/ ) ([source](https://redirect.github.com/petyosi/react-virtuoso )) | [`4.12.3` -> `4.12.5`](https://renovatebot.com/diffs/npm/react-virtuoso/4.12.3/4.12.5 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | dependencies | patch |
| [tailwindcss](https://tailwindcss.com ) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss )) | [`4.0.4` -> `4.0.5`](https://renovatebot.com/diffs/npm/tailwindcss/4.0.4/4.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/ ) | dependencies | patch |
| [tailwindcss](https://tailwindcss.com ) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss )) | [`4.0.4` -> `4.0.5`](https://renovatebot.com/diffs/npm/tailwindcss/4.0.4/4.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 |
| [typedoc](https://typedoc.org ) ([source](https://redirect.github.com/TypeStrong/TypeDoc )) | [`0.27.6` -> `0.27.7`](https://renovatebot.com/diffs/npm/typedoc/0.27.6/0.27.7 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | devDependencies | patch |
| [uniffi](https://mozilla.github.io/uniffi-rs ) ([source](https://redirect.github.com/mozilla/uniffi-rs )) | `0.28` -> `0.29` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | workspace.dependencies | minor |
---
### Release Notes
<details>
<summary>aws/aws-sdk-js-v3 (@​aws-sdk/client-s3)</summary>
### [`v3.744.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#37440-2025-02-07 )
[Compare Source](https://redirect.github.com/aws/aws-sdk-js-v3/compare/v3.743.0...v3.744.0 )
**Note:** Version bump only for package [@​aws-sdk/client-s3](https://redirect.github.com/aws-sdk/client-s3 )
</details>
<details>
<summary>Cap-go/capacitor-inappbrowser (@​capgo/inappbrowser)</summary>
### [`v7.2.15`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#7215-2025-02-10 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.14...7.2.15 )
### [`v7.2.14`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#7214-2025-02-09 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.13...7.2.14 )
### [`v7.2.13`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#7213-2025-02-09 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.9...7.2.13 )
### [`v7.2.9`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#729-2025-02-08 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.8...7.2.9 )
### [`v7.2.8`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#728-2025-02-08 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.7...7.2.8 )
### [`v7.2.7`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#727-2025-02-08 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.6...7.2.7 )
### [`v7.2.6`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#726-2025-02-08 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.5...7.2.6 )
### [`v7.2.5`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#725-2025-02-08 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.4...7.2.5 )
### [`v7.2.4`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#724-2025-02-08 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.3...7.2.4 )
### [`v7.2.3`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#723-2025-02-08 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.2...7.2.3 )
### [`v7.2.2`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#722-2025-02-08 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.1...7.2.2 )
### [`v7.2.1`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#7214-2025-02-09 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.2.0...7.2.1 )
### [`v7.2.0`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#720-2025-02-08 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.1.6...7.2.0 )
##### Features
- add ability to close webview from javascript on ios ([5034997](50349975e5 ))
- add close function to unified javascript interface ([c3d9079](c3d9079cab ))
- close webview with window.AndroidInterface.close() from within ([c5eae97](c5eae97a6a ))
##### Bug Fixes
- add better doc for 2 way com ([171ea27](171ea27931 ))
- add warning ([84470ae](84470ae1c3 ))
- allow inline video ([1368f2a](1368f2a4f0 ))
- better definition ([588cc88](588cc88438 ))
- CICD ([ee7ef04](ee7ef0430a ))
- order of doc ([71d8923](71d8923996 ))
- versions ([941aabe](941aabee33 ))
##### [7.1.6](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.1.5...7.1.6 ) (2025-02-02)
##### Bug Fixes
- lint ([d3df47c](d3df47cfef ))
##### [7.1.5](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.1.4...7.1.5 ) (2025-02-01)
##### Bug Fixes
- build ([89cd832](89cd832f96 ))
##### [7.1.4](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.1.3...7.1.4 ) (2025-02-01)
##### Bug Fixes
- remove READ_MEDIA_IMAGES ([e30874e](e30874ebe1 ))
##### [7.1.3](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.1.2...7.1.3 ) (2025-02-01)
##### Bug Fixes
- async thread ([df0bb19](df0bb198a6 ))
##### [7.1.2](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.1.1...7.1.2 ) (2025-02-01)
##### Bug Fixes
- Fixed back_arrow being displayed correctly instead of close_icon ([0516043](0516043312 ))
- openWebView has stopped hiding the phone's status bar. ([465a035](465a03561f ))
- openWebView has stopped hiding the phone's status bar. ([6154e54](6154e5422c ))
- openWebView has stopped hiding the phone's status bar. ([ec6a9c2](ec6a9c2205 ))
##### [7.1.1](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.1.0...7.1.1 ) (2025-01-27)
</details>
<details>
<summary>eslint/eslint (@​eslint/js)</summary>
### [`v9.20.0`](https://redirect.github.com/eslint/eslint/compare/v9.19.0...031734efcb27e0d800da7ec32f5d5dae55f80564 )
[Compare Source](https://redirect.github.com/eslint/eslint/compare/v9.19.0...v9.20.0 )
</details>
<details>
<summary>swc-project/swc (@​swc/core)</summary>
### [`v1.10.15`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#11015---2025-02-08 )
[Compare Source](https://redirect.github.com/swc-project/swc/compare/v1.10.14...v1.10.15 )
##### Bug Fixes
- **(es/fixer)** Wrap object tagged templates ([#​9991](https://redirect.github.com/swc-project/swc/issues/9991 )) ([963c3a5](963c3a58c8 ))
- **(es/minifier)** Dont't optimize swtich case before DCE ([#​9994](https://redirect.github.com/swc-project/swc/issues/9994 )) ([afe21b5](afe21b5e71 ))
- **(es/minifier)** Revert [#​10006](https://redirect.github.com/swc-project/swc/issues/10006 ) ([#​10007](https://redirect.github.com/swc-project/swc/issues/10007 )) ([7e21323](7e21323b3b ))
- **(es/parser, es/codegen)** Handle trailing empty slots in array patterns ([#​9992](https://redirect.github.com/swc-project/swc/issues/9992 )) ([1a87e76](1a87e76e95 ))
- **(es/react)** Avoid adding `__self` in constructors of derived class in the `jsx_self` ([#​9987](https://redirect.github.com/swc-project/swc/issues/9987 )) ([83f24af](83f24afad9 ))
##### Features
- **(es/ast)** Add `ShrinkToFit` implementation ([#​10009](https://redirect.github.com/swc-project/swc/issues/10009 )) ([6849b6a](6849b6aba7 ))
- **(es/helpers)** Update package exports for module-sync and webpack compatibility ([#​9995](https://redirect.github.com/swc-project/swc/issues/9995 )) ([6f4e7ad](6f4e7adce4 ))
- **(fast-ts)** Support Uint8Array Input ([#​9879](https://redirect.github.com/swc-project/swc/issues/9879 )) ([61ae579](61ae579a1c ))
##### Performance
- **(es/codegen)** Remove needless allocations ([#​9978](https://redirect.github.com/swc-project/swc/issues/9978 )) ([9c89d57](9c89d57cf9 ))
- **(es/minifier)** Do not clone from `take_ident_of_pat_if_unused` ([#​10005](https://redirect.github.com/swc-project/swc/issues/10005 )) ([dc3b46e](dc3b46eff9 ))
- **(es/minifier)** Allocate in once from `mark_property_mutation` ([#​10004](https://redirect.github.com/swc-project/swc/issues/10004 )) ([4a90e51](4a90e5197d ))
- **(es/minifier)** Limit infection analysis by the entry size ([#​10006](https://redirect.github.com/swc-project/swc/issues/10006 )) ([1a3a4b9](1a3a4b936c ))
- **(es/minifier)** Make the default pass 2 ([#​10014](https://redirect.github.com/swc-project/swc/issues/10014 )) ([07dc423](07dc423b7f ))
</details>
<details>
<summary>tailwindlabs/tailwindcss (@​tailwindcss/postcss)</summary>
### [`v4.0.5`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#405---2025-02-08 )
[Compare Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.0.4...v4.0.5 )
##### Added
- Add `@theme static` option for always including theme variables in compiled CSS ([#​16211](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16211 ))
##### Fixed
- Remove rogue `console.log` from `@tailwindcss/vite` ([#​16307](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16307 ))
##### Changed
- Don't include theme variables that aren't used in compiled CSS ([#​16211](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16211 ))
</details>
<details>
<summary>vitejs/vite-plugin-react-swc (@​vitejs/plugin-react-swc)</summary>
### [`v3.8.0`](https://redirect.github.com/vitejs/vite-plugin-react-swc/blob/HEAD/CHANGELOG.md#380 )
[Compare Source](https://redirect.github.com/vitejs/vite-plugin-react-swc/compare/v3.7.2...v3.8.0 )
##### Add useAtYourOwnRisk_mutateSwcOptions option
The future of Vite is with OXC, and from the beginning this was a design choice to not exposed too many specialties from SWC so that Vite React users can move to another transformer later.
Also debugging why some specific version of decorators with some other unstable/legacy feature doesn't work is not fun, so we won't provide support for it, hence the name `useAtYourOwnRisk`.
```ts
react({
useAtYourOwnRisk_mutateSwcOptions(options) {
options.jsc.parser.decorators = true;
options.jsAc.transform.decoratorVersion = "2022-03";
},
});
```
</details>
<details>
<summary>evanw/esbuild (esbuild)</summary>
### [`v0.25.0`](https://redirect.github.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#v0250 )
[Compare Source](https://redirect.github.com/evanw/esbuild/compare/v0.24.2...v0.25.0 )
**This release deliberately contains backwards-incompatible changes.** To avoid automatically picking up releases like this, you should either be pinning the exact version of `esbuild` in your `package.json` file (recommended) or be using a version range syntax that only accepts patch upgrades such as `^0.24.0` or `~0.24.0`. See npm's documentation about [semver](https://docs.npmjs.com/cli/v6/using-npm/semver/ ) for more information.
- Restrict access to esbuild's development server ([GHSA-67mh-4wv8-2f99](https://redirect.github.com/evanw/esbuild/security/advisories/GHSA-67mh-4wv8-2f99 ))
This change addresses esbuild's first security vulnerability report. Previously esbuild set the `Access-Control-Allow-Origin` header to `*` to allow esbuild's development server to be flexible in how it's used for development. However, this allows the websites you visit to make HTTP requests to esbuild's local development server, which gives read-only access to your source code if the website were to fetch your source code's specific URL. You can read more information in [the report](https://redirect.github.com/evanw/esbuild/security/advisories/GHSA-67mh-4wv8-2f99 ).
Starting with this release, [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS ) will now be disabled, and requests will now be denied if the host does not match the one provided to `--serve=`. The default host is `0.0.0.0`, which refers to all of the IP addresses that represent the local machine (e.g. both `127.0.0.1` and `192.168.0.1`). If you want to customize anything about esbuild's development server, you can [put a proxy in front of esbuild](https://esbuild.github.io/api/#serve-proxy ) and modify the incoming and/or outgoing requests.
In addition, the `serve()` API call has been changed to return an array of `hosts` instead of a single `host` string. This makes it possible to determine all of the hosts that esbuild's development server will accept.
Thanks to [@​sapphi-red](https://redirect.github.com/sapphi-red ) for reporting this issue.
- Delete output files when a build fails in watch mode ([#​3643](https://redirect.github.com/evanw/esbuild/issues/3643 ))
It has been requested for esbuild to delete files when a build fails in watch mode. Previously esbuild left the old files in place, which could cause people to not immediately realize that the most recent build failed. With this release, esbuild will now delete all output files if a rebuild fails. Fixing the build error and triggering another rebuild will restore all output files again.
- Fix correctness issues with the CSS nesting transform ([#​3620](https://redirect.github.com/evanw/esbuild/issues/3620 ), [#​3877](https://redirect.github.com/evanw/esbuild/issues/3877 ), [#​3933](https://redirect.github.com/evanw/esbuild/issues/3933 ), [#​3997](https://redirect.github.com/evanw/esbuild/issues/3997 ), [#​4005](https://redirect.github.com/evanw/esbuild/issues/4005 ), [#​4037](https://redirect.github.com/evanw/esbuild/pull/4037 ), [#​4038](https://redirect.github.com/evanw/esbuild/pull/4038 ))
This release fixes the following problems:
- Naive expansion of CSS nesting can result in an exponential blow-up of generated CSS if each nesting level has multiple selectors. Previously esbuild sometimes collapsed individual nesting levels using `:is()` to limit expansion. However, this collapsing wasn't correct in some cases, so it has been removed to fix correctness issues.
```css
/* Original code */
.parent {
> .a,
> .b1 > .b2 {
color: red;
}
}
/* Old output (with --supported:nesting=false) */
.parent > :is(.a, .b1 > .b2) {
color: red;
}
/* New output (with --supported:nesting=false) */
.parent > .a,
.parent > .b1 > .b2 {
color: red;
}
```
Thanks to [@​tim-we](https://redirect.github.com/tim-we ) for working on a fix.
- The `&` CSS nesting selector can be repeated multiple times to increase CSS specificity. Previously esbuild ignored this possibility and incorrectly considered `&&` to have the same specificity as `&`. With this release, this should now work correctly:
```css
/* Original code (color should be red) */
div {
&& { color: red }
& { color: blue }
}
/* Old output (with --supported:nesting=false) */
div {
color: red;
}
div {
color: blue;
}
/* New output (with --supported:nesting=false) */
div:is(div) {
color: red;
}
div {
color: blue;
}
```
Thanks to [@​CPunisher](https://redirect.github.com/CPunisher ) for working on a fix.
- Previously transforming nested CSS incorrectly removed leading combinators from within pseudoclass selectors such as `:where()`. This edge case has been fixed and how has test coverage.
```css
/* Original code */
a b:has(> span) {
a & {
color: green;
}
}
/* Old output (with --supported:nesting=false) */
a :is(a b:has(span)) {
color: green;
}
/* New output (with --supported:nesting=false) */
a :is(a b:has(> span)) {
color: green;
}
```
This fix was contributed by [@​NoremacNergfol](https://redirect.github.com/NoremacNergfol ).
- The CSS minifier contains logic to remove the `&` selector when it can be implied, which happens when there is only one and it's the leading token. However, this logic was incorrectly also applied to selector lists inside of pseudo-class selectors such as `:where()`. With this release, the minifier will now avoid applying this logic in this edge case:
```css
/* Original code */
.a {
& .b { color: red }
:where(& .b) { color: blue }
}
/* Old output (with --minify) */
.a{.b{color:red}:where(.b){color:#​00f}}
/* New output (with --minify) */
.a{.b{color:red}:where(& .b){color:#​00f}}
```
- Fix some correctness issues with source maps ([#​1745](https://redirect.github.com/evanw/esbuild/issues/1745 ), [#​3183](https://redirect.github.com/evanw/esbuild/issues/3183 ), [#​3613](https://redirect.github.com/evanw/esbuild/issues/3613 ), [#​3982](https://redirect.github.com/evanw/esbuild/issues/3982 ))
Previously esbuild incorrectly treated source map path references as file paths instead of as URLs. With this release, esbuild will now treat source map path references as URLs. This fixes the following problems with source maps:
- File names in `sourceMappingURL` that contained a space previously did not encode the space as `%20`, which resulted in JavaScript tools (including esbuild) failing to read that path back in when consuming the generated output file. This should now be fixed.
- Absolute URLs in `sourceMappingURL` that use the `file://` scheme previously attempted to read from a folder called `file:`. These URLs should now be recognized and parsed correctly.
- Entries in the `sources` array in the source map are now treated as URLs instead of file paths. The correct behavior for this is much more clear now that source maps has a [formal specification](https://tc39.es/ecma426/ ). Many thanks to those who worked on the specification.
- Fix incorrect package for `@esbuild/netbsd-arm64` ([#​4018](https://redirect.github.com/evanw/esbuild/issues/4018 ))
Due to a copy+paste typo, the binary published to `@esbuild/netbsd-arm64` was not actually for `arm64`, and didn't run in that environment. This release should fix running esbuild in that environment (NetBSD on 64-bit ARM). Sorry about the mistake.
- Fix a minification bug with bitwise operators and bigints ([#​4065](https://redirect.github.com/evanw/esbuild/issues/4065 ))
This change removes an incorrect assumption in esbuild that all bitwise operators result in a numeric integer. That assumption was correct up until the introduction of bigints in ES2020, but is no longer correct because almost all bitwise operators now operate on both numbers and bigints. Here's an example of the incorrect minification:
```js
// Original code
if ((a & b) !== 0) found = true
// Old output (with --minify)
a&b&&(found=!0);
// New output (with --minify)
(a&b)!==0&&(found=!0);
```
- Fix esbuild incorrectly rejecting valid TypeScript edge case ([#​4027](https://redirect.github.com/evanw/esbuild/issues/4027 ))
The following TypeScript code is valid:
```ts
export function open(async?: boolean): void {
console.log(async as boolean)
}
```
Before this version, esbuild would fail to parse this with a syntax error as it expected the token sequence `async as ...` to be the start of an async arrow function expression `async as => ...`. This edge case should be parsed correctly by esbuild starting with this release.
- Transform BigInt values into constructor calls when unsupported ([#​4049](https://redirect.github.com/evanw/esbuild/issues/4049 ))
Previously esbuild would refuse to compile the BigInt literals (such as `123n`) if they are unsupported in the configured target environment (such as with `--target=es6`). The rationale was that they cannot be polyfilled effectively because they change the behavior of JavaScript's arithmetic operators and JavaScript doesn't have operator overloading.
However, this prevents using esbuild with certain libraries that would otherwise work if BigInt literals were ignored, such as with old versions of the [`buffer` library](https://redirect.github.com/feross/buffer ) before the library fixed support for running in environments without BigInt support. So with this release, esbuild will now turn BigInt literals into BigInt constructor calls (so `123n` becomes `BigInt(123)`) and generate a warning in this case. You can turn off the warning with `--log-override:bigint=silent` or restore the warning to an error with `--log-override:bigint=error` if needed.
- Change how `console` API dropping works ([#​4020](https://redirect.github.com/evanw/esbuild/issues/4020 ))
Previously the `--drop:console` feature replaced all method calls off of the `console` global with `undefined` regardless of how long the property access chain was (so it applied to `console.log()` and `console.log.call(console)` and `console.log.not.a.method()`). However, it was pointed out that this breaks uses of `console.log.bind(console)`. That's also incompatible with Terser's implementation of the feature, which is where this feature originally came from (it does support `bind`). So with this release, using this feature with esbuild will now only replace one level of method call (unless extended by `call` or `apply`) and will replace the method being called with an empty function in complex cases:
```js
// Original code
const x = console.log('x')
const y = console.log.call(console, 'y')
const z = console.log.bind(console)('z')
// Old output (with --drop-console)
const x = void 0;
const y = void 0;
const z = (void 0)("z");
// New output (with --drop-console)
const x = void 0;
const y = void 0;
const z = (() => {
}).bind(console)("z");
```
This should more closely match Terser's existing behavior.
- Allow BigInt literals as `define` values
With this release, you can now use BigInt literals as define values, such as with `--define:FOO=123n`. Previously trying to do this resulted in a syntax error.
- Fix a bug with resolve extensions in `node_modules` ([#​4053](https://redirect.github.com/evanw/esbuild/issues/4053 ))
The `--resolve-extensions=` option lets you specify the order in which to try resolving implicit file extensions. For complicated reasons, esbuild reorders TypeScript file extensions after JavaScript ones inside of `node_modules` so that JavaScript source code is always preferred to TypeScript source code inside of dependencies. However, this reordering had a bug that could accidentally change the relative order of TypeScript file extensions if one of them was a prefix of the other. That bug has been fixed in this release. You can see the issue for details.
- Better minification of statically-determined `switch` cases ([#​4028](https://redirect.github.com/evanw/esbuild/issues/4028 ))
With this release, esbuild will now try to trim unused code within `switch` statements when the test expression and `case` expressions are primitive literals. This can arise when the test expression is an identifier that is substituted for a primitive literal at compile time. For example:
```js
// Original code
switch (MODE) {
case 'dev':
installDevToolsConsole()
break
case 'prod':
return
default:
throw new Error
}
// Old output (with --minify '--define:MODE="prod"')
switch("prod"){case"dev":installDevToolsConsole();break;case"prod":return;default:throw new Error}
// New output (with --minify '--define:MODE="prod"')
return;
```
- Emit `/* @​__KEY__ */` for string literals derived from property names ([#​4034](https://redirect.github.com/evanw/esbuild/issues/4034 ))
Property name mangling is an advanced feature that shortens certain property names for better minification (I say "advanced feature" because it's very easy to break your code with it). Sometimes you need to store a property name in a string, such as `obj.get('foo')` instead of `obj.foo`. JavaScript minifiers such as esbuild and [Terser](https://terser.org/ ) have a convention where a `/* @​__KEY__ */` comment before the string makes it behave like a property name. So `obj.get(/* @​__KEY__ */ 'foo')` allows the contents of the string `'foo'` to be shortened.
However, esbuild sometimes itself generates string literals containing property names when transforming code, such as when lowering class fields to ES6 or when transforming TypeScript decorators. Previously esbuild didn't generate its own `/* @​__KEY__ */` comments in this case, which means that minifying your code by running esbuild again on its own output wouldn't work correctly (this does not affect people that both minify and transform their code in a single step).
With this release, esbuild will now generate `/* @​__KEY__ */` comments for property names in generated string literals. To avoid lots of unnecessary output for people that don't use this advanced feature, the generated comments will only be present when the feature is active. If you want to generate the comments but not actually mangle any property names, you can use a flag that has no effect such as `--reserve-props=.`, which tells esbuild to not mangle any property names (but still activates this feature).
- The `text` loader now strips the UTF-8 BOM if present ([#​3935](https://redirect.github.com/evanw/esbuild/issues/3935 ))
Some software (such as Notepad on Windows) can create text files that start with the three bytes `0xEF 0xBB 0xBF`, which is referred to as the "byte order mark". This prefix is intended to be removed before using the text. Previously esbuild's `text` loader included this byte sequence in the string, which turns into a prefix of `\uFEFF` in a JavaScript string when decoded from UTF-8. With this release, esbuild's `text` loader will now remove these bytes when they occur at the start of the file.
- Omit legal comment output files when empty ([#​3670](https://redirect.github.com/evanw/esbuild/issues/3670 ))
Previously configuring esbuild with `--legal-comment=external` or `--legal-comment=linked` would always generate a `.LEGAL.txt` output file even if it was empty. Starting with this release, esbuild will now only do this if the file will be non-empty. This should result in a more organized output directory in some cases.
- Update Go from 1.23.1 to 1.23.5 ([#​4056](https://redirect.github.com/evanw/esbuild/issues/4056 ), [#​4057](https://redirect.github.com/evanw/esbuild/pull/4057 ))
This should have no effect on existing code as this version change does not change Go's operating system support. It may remove certain reports from vulnerability scanners that detect which version of the Go compiler esbuild uses.
This PR was contributed by [@​MikeWillCook](https://redirect.github.com/MikeWillCook ).
- Allow passing a port of 0 to the development server ([#​3692](https://redirect.github.com/evanw/esbuild/issues/3692 ))
Unix sockets interpret a port of 0 to mean "pick a random unused port in the [ephemeral port](https://en.wikipedia.org/wiki/Ephemeral_port ) range". However, esbuild's default behavior when the port is not specified is to pick the first unused port starting from 8000 and upward. This is more convenient because port 8000 is typically free, so you can for example restart the development server and reload your app in the browser without needing to change the port in the URL. Since esbuild is written in Go (which does not have optional fields like JavaScript), not specifying the port in Go means it defaults to 0, so previously passing a port of 0 to esbuild caused port 8000 to be picked.
Starting with this release, passing a port of 0 to esbuild when using the CLI or the JS API will now pass port 0 to the OS, which will pick a random ephemeral port. To make this possible, the `Port` option in the Go API has been changed from `uint16` to `int` (to allow for additional sentinel values) and passing a port of -1 in Go now picks a random port. Both the CLI and JS APIs now remap an explicitly-provided port of 0 into -1 for the internal Go API.
Another option would have been to change `Port` in Go from `uint16` to `*uint16` (Go's closest equivalent of `number | undefined`). However, that would make the common case of providing an explicit port in Go very awkward as Go doesn't support taking the address of integer constants. This tradeoff isn't worth it as picking a random ephemeral port is a rare use case. So the CLI and JS APIs should now match standard Unix behavior when the port is 0, but you need to use -1 instead with Go API.
- Minification now avoids inlining constants with direct `eval` ([#​4055](https://redirect.github.com/evanw/esbuild/issues/4055 ))
Direct `eval` can be used to introduce a new variable like this:
```js
const variable = false
;(function () {
eval("var variable = true")
console.log(variable)
})()
```
Previously esbuild inlined `variable` here (which became `false`), which changed the behavior of the code. This inlining is now avoided, but please keep in mind that direct `eval` breaks many assumptions that JavaScript tools hold about normal code (especially when bundling) and I do not recommend using it. There are usually better alternatives that have a more localized impact on your code. You can read more about this here: https://esbuild.github.io/link/direct-eval/
</details>
<details>
<summary>capricorn86/happy-dom (happy-dom)</summary>
### [`v17.0.2`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v17.0.2 )
[Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.0.1...v17.0.2 )
##### 👷♂️ Patch fixes
- The property "tabIndex" should return "0" by default in `HTMLAnchorElement`, `HTMLAreaElement`, `HTMLButtonElement`, `HTMLIFrameElement`, `HTMLInputElement`, `HTMLMediaElement`, `HTMLObjectElement`, `HTMLSelectElement` and `HTMLTextAreaElement` - By **[@​capricorn86](https://redirect.github.com/capricorn86 )** in task [#​1714](https://redirect.github.com/capricorn86/happy-dom/issues/1714 )
### [`v17.0.1`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v17.0.1 )
[Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.0.0...v17.0.1 )
##### 👷♂️ Patch fixes
- Ensure `querySelector()` returns the first item that appears in the DOM for grouped selectors - By **[@​christiango](https://redirect.github.com/christiango )** in task [#​1710](https://redirect.github.com/capricorn86/happy-dom/issues/1710 )
</details>
<details>
<summary>luin/ioredis (ioredis)</summary>
### [`v5.5.0`](https://redirect.github.com/luin/ioredis/blob/HEAD/CHANGELOG.md#550-2025-02-07 )
[Compare Source](https://redirect.github.com/luin/ioredis/compare/v5.4.2...v5.5.0 )
##### Features
- Add ability for nat mapping through function ([#​1948](https://redirect.github.com/luin/ioredis/issues/1948 )) ([3a04bee](3a04bee109 ))
- **HscanStream:** adding NOVALUES option ([#​1943](https://redirect.github.com/luin/ioredis/issues/1943 )) ([2f9843d](2f9843ddfa ))
#### [5.4.2](https://redirect.github.com/luin/ioredis/compare/v5.4.1...v5.4.2 ) (2024-12-20)
##### Bug Fixes
- Connection instability when using socketTimeout parameter ([#​1937](https://redirect.github.com/luin/ioredis/issues/1937 )) ([ca5e940](ca5e9405f8 )), closes [#​1919](https://redirect.github.com/luin/ioredis/issues/1919 )
#### [5.4.1](https://redirect.github.com/luin/ioredis/compare/v5.4.0...v5.4.1 ) (2024-04-17)
##### Bug Fixes
- remove console.log ([558497c](558497cba8 ))
</details>
<details>
<summary>ospfranco/link-preview-js (link-preview-js)</summary>
### [`v3.0.14`](https://redirect.github.com/OP-Engineering/link-preview-js/releases/tag/3.0.14 )
[Compare Source](https://redirect.github.com/ospfranco/link-preview-js/compare/3.0.13...3.0.14 )
#### What's Changed
- feat: drop uneeded polyfills by [@​talentlessguy](https://redirect.github.com/talentlessguy ) in [https://github.com/OP-Engineering/link-preview-js/pull/163 ](https://redirect.github.com/OP-Engineering/link-preview-js/pull/163 )
#### New Contributors
- [@​talentlessguy](https://redirect.github.com/talentlessguy ) made their first contribution in [https://github.com/OP-Engineering/link-preview-js/pull/163 ](https://redirect.github.com/OP-Engineering/link-preview-js/pull/163 )
**Full Changelog**: https://github.com/OP-Engineering/link-preview-js/compare/3.0.13...3.0.14
</details>
<details>
<summary>lucide-icons/lucide (lucide-react)</summary>
### [`v0.475.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.475.0 ): New icons 0.475.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.474.0...0.475.0 )
#### New icons 🎨
- `circle-small` ([#​2607](https://redirect.github.com/lucide-icons/lucide/issues/2607 )) by [@​jamiemlaw](https://redirect.github.com/jamiemlaw )
- `mars-stroke` ([#​2607](https://redirect.github.com/lucide-icons/lucide/issues/2607 )) by [@​jamiemlaw](https://redirect.github.com/jamiemlaw )
- `mars` ([#​2607](https://redirect.github.com/lucide-icons/lucide/issues/2607 )) by [@​jamiemlaw](https://redirect.github.com/jamiemlaw )
- `non-binary` ([#​2607](https://redirect.github.com/lucide-icons/lucide/issues/2607 )) by [@​jamiemlaw](https://redirect.github.com/jamiemlaw )
- `transgender` ([#​2607](https://redirect.github.com/lucide-icons/lucide/issues/2607 )) by [@​jamiemlaw](https://redirect.github.com/jamiemlaw )
- `venus-and-mars` ([#​2607](https://redirect.github.com/lucide-icons/lucide/issues/2607 )) by [@​jamiemlaw](https://redirect.github.com/jamiemlaw )
- `venus` ([#​2607](https://redirect.github.com/lucide-icons/lucide/issues/2607 )) by [@​jamiemlaw](https://redirect.github.com/jamiemlaw )
</details>
<details>
<summary>markedjs/marked (marked)</summary>
### [`v15.0.7`](https://redirect.github.com/markedjs/marked/compare/v15.0.6...bf4952f4958cb3fef586deaa7299c1e462072a3a )
[Compare Source](https://redirect.github.com/markedjs/marked/compare/v15.0.6...v15.0.7 )
</details>
<details>
<summary>Papooch/nestjs-cls (nestjs-cls)</summary>
### [`v5.1.2`](https://redirect.github.com/Papooch/nestjs-cls/releases/tag/nestjs-cls%405.1.2 )
[Compare Source](https://redirect.github.com/Papooch/nestjs-cls/compare/nestjs-cls@5.1.1...nestjs-cls@5.1.2 )
##### Bug Fixes
- **core**: allow all Object.prototype key access on strict providers ([#​214](https://redirect.github.com/Papooch/nestjs-cls/issues/214 )) ([e938c6d](https://redirect.github.com/Papooch/nestjs-cls/commits/e938c6d ))
### [`v5.1.1`](https://redirect.github.com/Papooch/nestjs-cls/compare/nestjs-cls@5.1.0...f9b14d4ea8508c26272fd5be3da526347c49f4f1 )
[Compare Source](https://redirect.github.com/Papooch/nestjs-cls/compare/nestjs-cls@5.1.0...nestjs-cls@5.1.1 )
### [`v5.1.0`](https://redirect.github.com/Papooch/nestjs-cls/releases/tag/nestjs-cls%405.1.0 )
[Compare Source](https://redirect.github.com/Papooch/nestjs-cls/compare/nestjs-cls@5.0.1...nestjs-cls@5.1.0 )
##### Bug Fixes
- **core**: allow accessing constructor on strict proxy providers ([#​211](https://redirect.github.com/Papooch/nestjs-cls/issues/211 )) ([bf0f871](https://redirect.github.com/Papooch/nestjs-cls/commits/bf0f871 ))
##### Features
- **core**: add saveCtx option in enhancer setup
This allows storing the ExecutionContext in the CLS (enabled by default) ([4dcda62](https://redirect.github.com/Papooch/nestjs-cls/commits/4dcda62 ))
- **core**: add `saveCtx` option in enhancer setup ([#​212](https://redirect.github.com/Papooch/nestjs-cls/issues/212 )) ([4dcda62](https://redirect.github.com/Papooch/nestjs-cls/commits/4dcda62 ))
</details>
<details>
<summary>matklad/once_cell (once_cell)</summary>
### [`v1.20.3`](https://redirect.github.com/matklad/once_cell/compare/v1.20.2...v1.20.3 )
[Compare Source](https://redirect.github.com/matklad/once_cell/compare/v1.20.2...v1.20.3 )
</details>
<details>
<summary>prettier/prettier (prettier)</summary>
### [`v3.5.0`](https://redirect.github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#350 )
[Compare Source](https://redirect.github.com/prettier/prettier/compare/3.4.2...3.5.0 )
[diff](https://redirect.github.com/prettier/prettier/compare/3.4.2...3.5.0 )
🔗 [Release Notes](https://prettier.io/blog/2025/02/09/3.5.0.html )
</details>
<details>
<summary>petyosi/react-virtuoso (react-virtuoso)</summary>
### [`v4.12.5`](https://redirect.github.com/petyosi/react-virtuoso/releases/tag/react-virtuoso%404.12.5 )
[Compare Source](https://redirect.github.com/petyosi/react-virtuoso/compare/react-virtuoso@4.12.4...react-virtuoso@4.12.5 )
##### Patch Changes
- [`b1d4519`](https://redirect.github.com/petyosi/react-virtuoso/commit/b1d4519 ): Revert node requirements
### [`v4.12.4`](https://redirect.github.com/petyosi/react-virtuoso/releases/tag/react-virtuoso%404.12.4 )
[Compare Source](https://redirect.github.com/petyosi/react-virtuoso/compare/v4.12.3...react-virtuoso@4.12.4 )
##### Patch Changes
- [`fdbf0c5`](https://redirect.github.com/petyosi/react-virtuoso/commit/fdbf0c5 ): Updated to latest tooling
- [`fdbf0c5`](https://redirect.github.com/petyosi/react-virtuoso/commit/fdbf0c5 ): correct TS types for custom component, context is always passed
</details>
<details>
<summary>TypeStrong/TypeDoc (typedoc)</summary>
### [`v0.27.7`](https://redirect.github.com/TypeStrong/TypeDoc/blob/HEAD/CHANGELOG.md#v0277-2025-02-09 )
[Compare Source](https://redirect.github.com/TypeStrong/TypeDoc/compare/v0.27.6...v0.27.7 )
##### Features
- `@includeCode` and `@inline` can now inject parts of files using region
names or line numbers, [#​2816](https://redirect.github.com/TypeStrong/TypeDoc/issues/2816 ).
- Introduced `ja` translation options, deprecated `jp` in favor of `ja`, [#​2843](https://redirect.github.com/TypeStrong/TypeDoc/issues/2843 ).
- Improved TypeDoc's `--watch` option to support watching files not caught by
TypeScript's watch mode, [#​2675](https://redirect.github.com/TypeStrong/TypeDoc/issues/2675 ).
- The `@inline` tag now works in more places for generic types.
- Visibility filters now consider individual signatures, [#​2846](https://redirect.github.com/TypeStrong/TypeDoc/issues/2846 ).
##### Bug Fixes
- Fixed an issue where TypeDoc would incorrectly ignore type arguments in references, [#​2823](https://redirect.github.com/TypeStrong/TypeDoc/issues/2823 ).
- Improved narrator support for labeling icons, [#​2832](https://redirect.github.com/TypeStrong/TypeDoc/issues/2832 ).
- Fixed an issue with `@class` incorrectly handling mapped types, [#​2842](https://redirect.github.com/TypeStrong/TypeDoc/issues/2842 ).
- TypeDoc will now consider symbols to be external only if all of their declarations are external
so
</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNDUuMCIsInVwZGF0ZWRJblZlciI6IjM5LjE2NC4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-02-10 13:25:15 +00:00
fundon
d03744688b
refactor(editor): move embed-card-modal to components ( #10037 )
2025-02-10 10:56:13 +00:00
pengx17
6839e634e7
fix: at menu toolip should always use the default color ( #10054 )
...
fix AF-2194
2025-02-10 18:22:25 +08:00
L-Sun
9f56a21d8a
feat(editor): add animation for switching to edgeless mode firstly ( #10021 )
...
Close [BS-2327](https://linear.app/affine-design/issue/BS-2327/page-block-%E5%9C%A8-edgeless-%E5%88%87%E6%8D%A2%E7%BC%A9%E6%94%BE%E5%8A%A8%E7%94%BB )
### What Changes:
- Add a zoom animation when switching to edgeless mode firstly
- Move viewport record from `sessionStorage` to `localStorage`
https://github.com/user-attachments/assets/dac11aab-76bd-44b1-8c0e-4a8a10919841
2025-02-10 07:41:10 +00:00
Oleg
d4f0c53a0c
feat(core): frame editor settings ( #9970 )
...
Co-authored-by: L-Sun <zover.v@gmail.com >
Co-authored-by: Mirone <Saul-Mirone@outlook.com >
2025-02-10 15:23:32 +08:00