renovate
76f5c73fbc
chore: bump up all non-major dependencies ( #11052 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@ai-sdk/google](https://sdk.vercel.ai/docs ) ([source](https://redirect.github.com/vercel/ai )) | [`1.1.26` -> `1.1.27`](https://renovatebot.com/diffs/npm/@ai-sdk%2fgoogle/1.1.26/1.1.27 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
| [@aws-sdk/client-s3](https://redirect.github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3 ) ([source](https://redirect.github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3 )) | [`3.758.0` -> `3.772.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.758.0/3.772.0 ) | [](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.3.0` -> `7.3.2`](https://renovatebot.com/diffs/npm/@capgo%2finappbrowser/7.3.0/7.3.2 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react ) ([source](https://redirect.github.com/getsentry/sentry-javascript )) | [`9.6.1` -> `9.7.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/9.6.1/9.7.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
| [@tailwindcss/postcss](https://tailwindcss.com ) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss )) | [`4.0.14` -> `4.0.15`](https://renovatebot.com/diffs/npm/@tailwindcss%2fpostcss/4.0.14/4.0.15 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
| [@tailwindcss/vite](https://tailwindcss.com ) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite )) | [`4.0.14` -> `4.0.15`](https://renovatebot.com/diffs/npm/@tailwindcss%2fvite/4.0.14/4.0.15 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
| [ai](https://sdk.vercel.ai/docs ) ([source](https://redirect.github.com/vercel/ai )) | [`4.1.63` -> `4.1.66`](https://renovatebot.com/diffs/npm/ai/4.1.63/4.1.66 ) | [](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 ) | [`35.0.2` -> `35.0.3`](https://renovatebot.com/diffs/npm/electron/35.0.2/35.0.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/ ) |
| [multer](https://redirect.github.com/expressjs/multer ) | [`1.4.5-lts.1` -> `1.4.5-lts.2`](https://renovatebot.com/diffs/npm/multer/1.4.5-lts.1/1.4.5-lts.2 ) | [](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.88.0` -> `4.89.0`](https://renovatebot.com/diffs/npm/openai/4.88.0/4.89.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/ ) |
| [supertest](https://redirect.github.com/ladjs/supertest ) | [`7.0.0` -> `7.1.0`](https://renovatebot.com/diffs/npm/supertest/7.0.0/7.1.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
| [tailwindcss](https://tailwindcss.com ) ([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss )) | [`4.0.14` -> `4.0.15`](https://renovatebot.com/diffs/npm/tailwindcss/4.0.14/4.0.15 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
| [typedoc](https://typedoc.org ) ([source](https://redirect.github.com/TypeStrong/TypeDoc )) | [`0.28.0` -> `0.28.1`](https://renovatebot.com/diffs/npm/typedoc/0.28.0/0.28.1 ) | [](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.26.1` -> `8.27.0`](https://renovatebot.com/diffs/npm/typescript-eslint/8.26.1/8.27.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/ ) |
| [webm-muxer](https://redirect.github.com/Vanilagy/webm-muxer ) | [`5.0.3` -> `5.1.0`](https://renovatebot.com/diffs/npm/webm-muxer/5.0.3/5.1.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
| [org.jetbrains.kotlin.android](https://kotlinlang.org/ ) ([source](https://redirect.github.com/JetBrains/kotlin )) | `2.1.10` -> `2.1.20` | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
| [org.jetbrains.kotlin.jvm](https://kotlinlang.org/ ) ([source](https://redirect.github.com/JetBrains/kotlin )) | `2.1.10` -> `2.1.20` | [](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>vercel/ai (@​ai-sdk/google)</summary>
### [`v1.1.27`](https://redirect.github.com/vercel/ai/releases/tag/%40ai-sdk/google%401.1.27 )
[Compare Source](https://redirect.github.com/vercel/ai/compare/@ai-sdk/google@1.1.26...@ai-sdk/google@1.1.27 )
##### Patch Changes
- [`d0c4659`](https://redirect.github.com/vercel/ai/commit/d0c4659 ): feat (provider-utils): parseProviderOptions function
- Updated dependencies \[[`d0c4659`](https://redirect.github.com/vercel/ai/commit/d0c4659 )]
- [@​ai-sdk/provider-utils](https://redirect.github.com/ai-sdk/provider-utils )[@​2](https://redirect.github.com/2 ).1.15
</details>
<details>
<summary>aws/aws-sdk-js-v3 (@​aws-sdk/client-s3)</summary>
### [`v3.772.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#37720-2025-03-20 )
[Compare Source](https://redirect.github.com/aws/aws-sdk-js-v3/compare/v3.758.0...v3.772.0 )
**Note:** Version bump only for package [@​aws-sdk/client-s3](https://redirect.github.com/aws-sdk/client-s3 )
</details>
<details>
<summary>Cap-go/capacitor-inappbrowser (@​capgo/inappbrowser)</summary>
### [`v7.3.2`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/blob/HEAD/CHANGELOG.md#732-2025-03-20 )
[Compare Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.3.0...7.3.2 )
</details>
<details>
<summary>getsentry/sentry-javascript (@​sentry/react)</summary>
### [`v9.7.0`](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.7.0 )
[Compare Source](https://redirect.github.com/getsentry/sentry-javascript/compare/9.6.1...9.7.0 )
- feat(core): Add `captureLog` method ([#​15717](https://redirect.github.com/getsentry/sentry-javascript/pull/15717 ))
- feat(remix/cloudflare): Export `sentryHandleError` ([#​15726](https://redirect.github.com/getsentry/sentry-javascript/pull/15726 ))
- fix(node): Always flush on Vercel before Lambda freeze ([#​15602](https://redirect.github.com/getsentry/sentry-javascript/pull/15602 ))
- fix(node): Ensure incoming traces are propagated without HttpInstrumentation ([#​15732](https://redirect.github.com/getsentry/sentry-javascript/pull/15732 ))
- fix(node): Use `fatal` level for unhandled rejections in `strict` mode ([#​15720](https://redirect.github.com/getsentry/sentry-javascript/pull/15720 ))
- fix(nuxt): Delete Nuxt server template injection ([#​15749](https://redirect.github.com/getsentry/sentry-javascript/pull/15749 ))
##### Bundle size 📦
| Path | Size |
| ---------------------------------------------------------------- | ----------------- |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) | 23.28 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) - with treeshaking flags | 23.09 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing) | 36.33 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing, Replay) | 73.5 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing, Replay) - with treeshaking flags | 66.93 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing, Replay with Canvas) | 78.13 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing, Replay, Feedback) | 90.69 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Feedback) | 40.42 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.7 KB |
| [@​sentry/react](https://redirect.github.com/sentry/react ) | 25.08 KB |
| [@​sentry/react](https://redirect.github.com/sentry/react ) (incl. Tracing) | 38.23 KB |
| [@​sentry/vue](https://redirect.github.com/sentry/vue ) | 27.52 KB |
| [@​sentry/vue](https://redirect.github.com/sentry/vue ) (incl. Tracing) | 38.02 KB |
| [@​sentry/svelte](https://redirect.github.com/sentry/svelte ) | 23.3 KB |
| CDN Bundle | 24.49 KB |
| CDN Bundle (incl. Tracing) | 36.37 KB |
| CDN Bundle (incl. Tracing, Replay) | 71.39 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 76.57 KB |
| CDN Bundle - uncompressed | 71.56 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 107.94 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 219.2 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 231.77 KB |
| [@​sentry/nextjs](https://redirect.github.com/sentry/nextjs ) (client) | 39.52 KB |
| [@​sentry/sveltekit](https://redirect.github.com/sentry/sveltekit ) (client) | 36.73 KB |
| [@​sentry/node](https://redirect.github.com/sentry/node ) | 142.62 KB |
| [@​sentry/node](https://redirect.github.com/sentry/node ) - without tracing | 96.01 KB |
| [@​sentry/aws-serverless](https://redirect.github.com/sentry/aws-serverless ) | 120.37 KB |
</details>
<details>
<summary>tailwindlabs/tailwindcss (@​tailwindcss/postcss)</summary>
### [`v4.0.15`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#4015---2025-03-20 )
[Compare Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.0.14...v4.0.15 )
</details>
<details>
<summary>electron/electron (electron)</summary>
### [`v35.0.3`](https://redirect.github.com/electron/electron/releases/tag/v35.0.3 ): electron v35.0.3
[Compare Source](https://redirect.github.com/electron/electron/compare/v35.0.2...v35.0.3 )
### Release Notes for v35.0.3
#### Fixes
- Fixed an issue where snapped windows in Windows may sometimes be improperly restored. [#​46040](https://redirect.github.com/electron/electron/pull/46040 ) <span style="font-size:small;">(Also in [33](https://redirect.github.com/electron/electron/pull/46038 ), [34](https://redirect.github.com/electron/electron/pull/46039 ), [36](https://redirect.github.com/electron/electron/pull/46041 ))</span>
- Fixed incorrect titlebar in file save dialogs. [#​46074](https://redirect.github.com/electron/electron/pull/46074 ) <span style="font-size:small;">(Also in [33](https://redirect.github.com/electron/electron/pull/46075 ), [34](https://redirect.github.com/electron/electron/pull/46076 ), [36](https://redirect.github.com/electron/electron/pull/46077 ))</span>
#### Documentation
- Documentation changes: [#​46102](https://redirect.github.com/electron/electron/pull/46102 )
</details>
<details>
<summary>expressjs/multer (multer)</summary>
### [`v1.4.5-lts.2`](https://redirect.github.com/expressjs/multer/compare/v1.4.5-lts.1...v1.4.5-lts.2 )
[Compare Source](https://redirect.github.com/expressjs/multer/compare/v1.4.5-lts.1...v1.4.5-lts.2 )
</details>
<details>
<summary>openai/openai-node (openai)</summary>
### [`v4.89.0`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4890-2025-03-20 )
[Compare Source](https://redirect.github.com/openai/openai-node/compare/v4.88.0...v4.89.0 )
Full Changelog: [v4.88.0...v4.89.0](https://redirect.github.com/openai/openai-node/compare/v4.88.0...v4.89.0 )
##### Features
- add audio helpers ([ea1b6b4](ea1b6b4ef3 ))
- **api:** new models for TTS, STT, + new audio features for Realtime ([#​1407](https://redirect.github.com/openai/openai-node/issues/1407 )) ([142933a](142933ae70 ))
##### Chores
- **internal:** version bump ([#​1400](https://redirect.github.com/openai/openai-node/issues/1400 )) ([6838ab4](6838ab4268 ))
</details>
<details>
<summary>ladjs/supertest (supertest)</summary>
### [`v7.1.0`](https://redirect.github.com/ladjs/supertest/compare/v7.0.0...359bc52e3a4075d63ef036b11ba4e5e4ecce2e42 )
[Compare Source](https://redirect.github.com/ladjs/supertest/compare/v7.0.0...v7.1.0 )
</details>
<details>
<summary>TypeStrong/TypeDoc (typedoc)</summary>
### [`v0.28.1`](https://redirect.github.com/TypeStrong/TypeDoc/blob/HEAD/CHANGELOG.md#v0281-2025-03-20 )
[Compare Source](https://redirect.github.com/TypeStrong/TypeDoc/compare/v0.28.0...v0.28.1 )
##### Features
- The `TypeDocOptions` interface now marks options as optional so it no longer has to be wrapped in `Partial`
for use in config files, [#​2901](https://redirect.github.com/TypeStrong/TypeDoc/issues/2901 ).
- API: Expose control methods for deferred conversion for plugin use (typedoc-plugin-missing-exports)
- API: Expose method to disable TypeDoc usage of `localStorage` without clearing it, [#​2908](https://redirect.github.com/TypeStrong/TypeDoc/issues/2908 ).
##### Bug Fixes
- `--watch` can now infer entry points from `package.json` as supported in non-watch mode, [#​2899](https://redirect.github.com/TypeStrong/TypeDoc/issues/2899 ).
- `@include` with regions now works on files with CRLF line endings, [#​2902](https://redirect.github.com/TypeStrong/TypeDoc/issues/2902 ).
- Generated page names now correctly handles UTF-8 characters requiring more than 16 bits [#​2905](https://redirect.github.com/TypeStrong/TypeDoc/issues/2905 ).
- Fixed a crash when converting `module.exports = []`, [#​2909](https://redirect.github.com/TypeStrong/TypeDoc/issues/2909 ).
- Fixed URL generation which introduced a superfluous `./` in relative links, [#​2910](https://redirect.github.com/TypeStrong/TypeDoc/issues/2910 ).
##### Thanks!
- [@​jsmith2-coveo](https://redirect.github.com/jsmith2-coveo )
- [@​romainmnr](https://redirect.github.com/romainmnr )
</details>
<details>
<summary>typescript-eslint/typescript-eslint (typescript-eslint)</summary>
### [`v8.27.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8270-2025-03-17 )
[Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.26.1...v8.27.0 )
This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
</details>
<details>
<summary>Vanilagy/webm-muxer (webm-muxer)</summary>
### [`v5.1.0`](https://redirect.github.com/Vanilagy/webm-muxer/releases/tag/v5.1.0 )
[Compare Source](https://redirect.github.com/Vanilagy/webm-muxer/compare/v5.0.4...v5.1.0 )
- The library will now allow the creation of clusters beginning with a non-key frame if the previous cluster would otherwise exceed its maximum length ([#​56](https://redirect.github.com/Vanilagy/webm-muxer/issues/56 ), [#​58](https://redirect.github.com/Vanilagy/webm-muxer/issues/58 )). Previously, this would throw an error. While having clusters begin with key frames is desirable, it is not a strict requirement.
### [`v5.0.4`](https://redirect.github.com/Vanilagy/webm-muxer/releases/tag/v5.0.4 )
[Compare Source](40aa073c22 ...v5.0.4)
- Fixed [#​50](https://redirect.github.com/Vanilagy/webm-muxer/issues/50 ): `onCluster` wasn't being called if the `streaming` option was set to true.
</details>
<details>
<summary>JetBrains/kotlin (org.jetbrains.kotlin.android)</summary>
### [`v2.1.20`](https://redirect.github.com/JetBrains/kotlin/releases/tag/v2.1.20 ): Kotlin 2.1.20
##### Changelog
##### Analysis API
##### Fixes
- [`KT-68198`](https://youtrack.jetbrains.com/issue/KT-68198 ) Analysis API: Support application service registration in plugin XMLs
- [`KT-57733`](https://youtrack.jetbrains.com/issue/KT-57733 ) Analysis API: Use optimized `ModuleWithDependenciesScope`s in combined symbol providers
- [`KT-73156`](https://youtrack.jetbrains.com/issue/KT-73156 ) AA: type retrieval for erroneous typealias crashes
- [`KT-71907`](https://youtrack.jetbrains.com/issue/KT-71907 ) K2 debugger evaluator failed when cannot resolve unrelated annotation
- [`KT-69128`](https://youtrack.jetbrains.com/issue/KT-69128 ) K2 IDE: "Unresolved reference in KDoc" reports existing Java class in reference to its own nested class
- [`KT-71613`](https://youtrack.jetbrains.com/issue/KT-71613 ) KaFirPsiJavaTypeParameterSymbol cannot be cast to KaFirTypeParameterSymbol
- [`KT-71741`](https://youtrack.jetbrains.com/issue/KT-71741 ) K2 IDE. Classifier was found in KtFile but was not found in FirFile in `libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts` in `kotlin.git` and broken analysis
- [`KT-71942`](https://youtrack.jetbrains.com/issue/KT-71942 ) Need to rethrow Intellij Platform exceptions, like ProcessCanceledException
- [`KT-70949`](https://youtrack.jetbrains.com/issue/KT-70949 ) Analysis API: "containingDeclaration" does not work on nested Java classes in K2 implementation
- [`KT-69736`](https://youtrack.jetbrains.com/issue/KT-69736 ) K2 IDE: False positive resolution from KDoc for `value`
- [`KT-69047`](https://youtrack.jetbrains.com/issue/KT-69047 ) Analysis API: Unresolved KDoc reference to extensions with the same name
- [`KT-70815`](https://youtrack.jetbrains.com/issue/KT-70815 ) Analysis API: Implement stop-the-world session invalidation
- [`KT-69630`](https://youtrack.jetbrains.com/issue/KT-69630 ) KAPT User project builds with KAPT4 enabled fail with Metaspace overflow
##### Analysis API. Code Compilation
- [`KT-71263`](https://youtrack.jetbrains.com/issue/KT-71263 ) K2 evaluator: Error in evaluating self property with extension receiver
##### Analysis API. FIR
##### Performance Improvements
- [`KT-72025`](https://youtrack.jetbrains.com/issue/KT-72025 ) FileStructureElement: reduce redundant resolve
- [`KT-74012`](https://youtrack.jetbrains.com/issue/KT-74012 ) Redundant `FirAbstractBodyResolveTransformerDispatcher.<init>` CPU consumption
- [`KT-73900`](https://youtrack.jetbrains.com/issue/KT-73900 ) ContextCollectorVisitor#computeContext may spend significant time on `createSnapshot`
- [`KT-73665`](https://youtrack.jetbrains.com/issue/KT-73665 ) FirElementFinder is inefficient in large files
- [`KT-73330`](https://youtrack.jetbrains.com/issue/KT-73330 ) Remove bodies from functions without contracts after the CONTRACTS phase
- [`KT-73017`](https://youtrack.jetbrains.com/issue/KT-73017 ) Analysis API: `FirReferenceResolveHelper.getSymbolsByResolvedImport` searches for classes even when the selected `FqName` is a known package
##### Fixes
- [`KT-72308`](https://youtrack.jetbrains.com/issue/KT-72308 ) getOrBuildFir returns null for this expression for plusAssign operator
- [`KT-72660`](https://youtrack.jetbrains.com/issue/KT-72660 ) ISE: Recursive update at org.jetbrains.kotlin.analysis.low.level.api.fir.caches.FirCaffeineCache.getValue
- [`KT-74097`](https://youtrack.jetbrains.com/issue/KT-74097 ) ISE: Recursive update at org.jetbrains.kotlin.analysis.low.level.api.fir.caches.FirCaffeineCache.getValue
- [`KT-74098`](https://youtrack.jetbrains.com/issue/KT-74098 ) ISE: Recursive update at org.jetbrains.kotlin.analysis.low.level.api.fir.caches.FirCaffeineCache.getValue
- [`KT-72148`](https://youtrack.jetbrains.com/issue/KT-72148 ) K2: KISEWA: Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirValueParameterImpl(DataClassMember) but FirArgumentListImpl found
- [`KT-73079`](https://youtrack.jetbrains.com/issue/KT-73079 ) K2: Internal compiler error when conflicting type aliases are present
- [`KT-73456`](https://youtrack.jetbrains.com/issue/KT-73456 ) Expected FirResolvedContractDescription but FirRawContractDescriptionImpl found for FirSimpleFunctionImpl
- [`KT-73259`](https://youtrack.jetbrains.com/issue/KT-73259 ) Expected FirResolvedContractDescription but FirLegacyRawContractDescriptionImpl found for FirSimpleFunctionImpl
- [`KT-72740`](https://youtrack.jetbrains.com/issue/KT-72740 ) FirDanglingModifierList: `lazyResolveToPhase(STATUS)` cannot be called from a transformer with a phase STATUS
- [`KT-66132`](https://youtrack.jetbrains.com/issue/KT-66132 ) K2: FirRegularClass expected, but FirFileImpl found | Containing declaration is not found
- [`KT-72196`](https://youtrack.jetbrains.com/issue/KT-72196 ) K2. KMP. IllegalStateException: expect-actual matching is only possible for code with sources
- [`KT-72652`](https://youtrack.jetbrains.com/issue/KT-72652 ) `FirProvider#getContainingClass` should support `FirDanglingModifierSymbol`
- [`KT-73105`](https://youtrack.jetbrains.com/issue/KT-73105 ) Lazy resolve contract violation (BODY_RESOLVE from BODY_RESOLVE)
- [`KT-66261`](https://youtrack.jetbrains.com/issue/KT-66261 ) K2: Analysis API: "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is null" with MULTIPLE_LABELS_ARE_FORBIDDEN K2 error
- [`KT-72315`](https://youtrack.jetbrains.com/issue/KT-72315 ) K2. KIWA on usage of always-true OR in guard condition
- [`KT-65707`](https://youtrack.jetbrains.com/issue/KT-65707 ) K2 IDE: unresolved calls of callables imported with typealias as qualifier
- [`KT-61516`](https://youtrack.jetbrains.com/issue/KT-61516 ) K2: Provide an LL FIR implementation for `getContainingClassSymbol` (in `FirHelpers`)
- [`KT-72853`](https://youtrack.jetbrains.com/issue/KT-72853 ) Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirContextReceiverImpl(Source) but FirArgumentListImpl found
- [`KT-64215`](https://youtrack.jetbrains.com/issue/KT-64215 ) K2: do not resolve type annotations of receiver if it is used as an implicit return type
- [`KT-64248`](https://youtrack.jetbrains.com/issue/KT-64248 ) K2: do not resolve type annotations of context receiver if it is used as an implicit return type
- [`KT-72821`](https://youtrack.jetbrains.com/issue/KT-72821 ) Add assertion to diagnostic tests to check that all declarations have BODY_RESOLVE phase at the end
- [`KT-64056`](https://youtrack.jetbrains.com/issue/KT-64056 ) K2: K2: FirLazyBodiesCalculator shouldn't calculate annotation arguments on type phase
- [`KT-71651`](https://youtrack.jetbrains.com/issue/KT-71651 ) K2 IDE: False positive NON_LOCAL_SUSPENSION_POINT in suspend function call
- [`KT-72164`](https://youtrack.jetbrains.com/issue/KT-72164 ) K2. IllegalArgumentException when pre and post increment are used simultaneously in assignment
- [`KT-71174`](https://youtrack.jetbrains.com/issue/KT-71174 ) Illegal scope used
- [`KT-72407`](https://youtrack.jetbrains.com/issue/KT-72407 ) FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing
- [`KT-72228`](https://youtrack.jetbrains.com/issue/KT-72228 ) K2: Reformat doesn't work in project with Kotlin `2.0.21`
- [`KT-69671`](https://youtrack.jetbrains.com/issue/KT-69671 ) TYPES phase contract violation through JavaSymbolProvider
- [`KT-71348`](https://youtrack.jetbrains.com/issue/KT-71348 ) K2: KotlinIllegalStateExceptionWithAttachments: 'By now the annotations argument mapping should have been resolved' during code inspection
- [`KT-72024`](https://youtrack.jetbrains.com/issue/KT-72024 ) FirClassVarianceChecker: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource
- [`KT-71746`](https://youtrack.jetbrains.com/issue/KT-71746 ) K2 IDE. `ISE: Zero or multiple overrides found for descriptor in FirRegularClassSymbol serializing/ExternalSerializer` and red code on `@Serializer`(forClass) \` usage
##### Analysis API. Infrastructure
- [`KT-72922`](https://youtrack.jetbrains.com/issue/KT-72922 ) KotlinFakeClsStubsCache project leakage
- [`KT-71988`](https://youtrack.jetbrains.com/issue/KT-71988 ) Improve scripts test coverage by LL FIR
- [`KT-64687`](https://youtrack.jetbrains.com/issue/KT-64687 ) K2: Analysis API: migrate AbstractFirLibraryModuleDeclarationResolveTest to kotlin repo
##### Analysis API. Light Classes
- [`KT-73492`](https://youtrack.jetbrains.com/issue/KT-73492 ) K2. FP error in Java file when using `@JvmSuppressWildcards` annotation without arguments
- [`KT-66763`](https://youtrack.jetbrains.com/issue/KT-66763 ) K2: Get rid of context receivers in Analysis API and LL API
- [`KT-71781`](https://youtrack.jetbrains.com/issue/KT-71781 ) SLC: migrate SLC from KotlinModificationTrackerService to KotlinModificationTrackerFactory
- [`KT-67963`](https://youtrack.jetbrains.com/issue/KT-67963 ) K2: PsiInvalidElementAccessException on redeclaration of class with constructor
- [`KT-71407`](https://youtrack.jetbrains.com/issue/KT-71407 ) K2: Do not report `@JvmField` default value as PsiField initializer in K2
- [`KT-72078`](https://youtrack.jetbrains.com/issue/KT-72078 ) K2 PSI change for constructor parameter with value class type
##### Analysis API. Providers and Caches
- [`KT-69247`](https://youtrack.jetbrains.com/issue/KT-69247 ) Analysis API: Invalidate sessions after builtins modification events
- [`KT-72704`](https://youtrack.jetbrains.com/issue/KT-72704 ) ISE: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter'(53) in array owner: LLFirBuiltinsAndCloneableSession for Builtins for JS/wasm-js (JS)
- [`KT-67148`](https://youtrack.jetbrains.com/issue/KT-67148 ) Analysis API: Introduce a weak reference cache for the original `KtSymbol` in `KtSymbolPointer`
- [`KT-73395`](https://youtrack.jetbrains.com/issue/KT-73395 ) Analysis API: `JavaElementPsiSourceWithSmartPointer` contains strong references to PSI
- [`KT-72390`](https://youtrack.jetbrains.com/issue/KT-72390 ) Kotlin project full of red code
- [`KT-72388`](https://youtrack.jetbrains.com/issue/KT-72388 ) KaFirStopWorldCacheCleaner: Control-flow exceptions
- [`KT-72644`](https://youtrack.jetbrains.com/issue/KT-72644 ) "PSI has changed since creation" reason is misleading
##### Analysis API. Standalone
- [`KT-73776`](https://youtrack.jetbrains.com/issue/KT-73776 ) Analysis API Standalone: Application services are missing registrations in tests and Dokka
- [`KT-70346`](https://youtrack.jetbrains.com/issue/KT-70346 ) Analysis API Standalone: Remove the custom class loader option in Standalone session creation
##### Analysis API. Stubs and Decompilation
- [`KT-69398`](https://youtrack.jetbrains.com/issue/KT-69398 ) K2 IDE: SOE on editing top level private variable name
- [`KT-72897`](https://youtrack.jetbrains.com/issue/KT-72897 ) Analysis API: Smart PSI element pointers for `KtEnumEntry` stubs cannot be restored
- [`KT-71565`](https://youtrack.jetbrains.com/issue/KT-71565 ) KtClassOrObject should use isLocal from greenStub
##### Analysis API. Surface
##### New Features
- [`KT-73414`](https://youtrack.jetbrains.com/issue/KT-73414 ) Analysis API: Support typealiased constructors in KaConstructorSymbol
- [`KT-70301`](https://youtrack.jetbrains.com/issue/KT-70301 ) Analysis API: 'KaSamConstructorSymbol' does not allow to find the constructed SAM type
- [`KT-68236`](https://youtrack.jetbrains.com/issue/KT-68236 ) Analysis API: add `isExternal` property for KtPropertySymbol
- [`KT-68598`](https://youtrack.jetbrains.com/issue/KT-68598 ) Analysis API: missed getClassLikeSymbolByClassId API
##### Performance Improvements
- [`KT-74112`](https://youtrack.jetbrains.com/issue/KT-74112 ) UI freeze: `AnyThreadWriteThreadingSupport.getWritePermit`
- [`KT-73942`](https://youtrack.jetbrains.com/issue/KT-73942 ) Extend resolveToSymbols cache to all references
- [`KT-73622`](https://youtrack.jetbrains.com/issue/KT-73622 ) Cache `resolveToSymbols` result
- [`KT-72684`](https://youtrack.jetbrains.com/issue/KT-72684 ) Drop explicit resolve from KaFirJavaInteroperabilityComponent#asPsiTypeElement
- [`KT-60486`](https://youtrack.jetbrains.com/issue/KT-60486 ) Analysis API: optimize KaExpressionTypeProvider.returnType for simple cases
##### Fixes
- [`KT-70114`](https://youtrack.jetbrains.com/issue/KT-70114 ) K2: Analysis API: do not lazy resolve declarations without deprecation to get it deprecation
- [`KT-73406`](https://youtrack.jetbrains.com/issue/KT-73406 ) \[Analysis API] Allow extending KaModule resolution scope for all KaModules
- [`KT-65850`](https://youtrack.jetbrains.com/issue/KT-65850 ) Cover Analysis API with KDocs
- [`KT-72099`](https://youtrack.jetbrains.com/issue/KT-72099 ) Analysis API: implement an API to retrieve default imports
- [`KT-73662`](https://youtrack.jetbrains.com/issue/KT-73662 ) KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl
- [`KT-70108`](https://youtrack.jetbrains.com/issue/KT-70108 ) Analysis API: "KaScopeProvider.scopeContext" provides scopes from implicit companion objects with inaccessible classifiers
- [`KT-68954`](https://youtrack.jetbrains.com/issue/KT-68954 ) Remove JAR publications with old artifact names (high-level-api family)
- [`KT-70134`](https://youtrack.jetbrains.com/issue/KT-70134 ) Analysis API: Port API documentation from the guide to KDoc
- [`KT-72973`](https://youtrack.jetbrains.com/issue/KT-72973 ) Introduce KaSymbolOrigin.TYPE_ALIAS_CONSTRUCTOR
- [`KT-70356`](https://youtrack.jetbrains.com/issue/KT-70356 ) analyzeCopy with IGNORE_SELF cannot find private members
- [`KT-66783`](https://youtrack.jetbrains.com/issue/KT-66783 ) Analysis API: `KtFirSymbolProvider` creates symbols when given PSI from unrelated modules
- [`KT-72937`](https://youtrack.jetbrains.com/issue/KT-72937 ) Migrate KaFirReceiverParameterSymbol to KaFirSymbol/KaFirKtBasedSymbol
- [`KT-70243`](https://youtrack.jetbrains.com/issue/KT-70243 ) K2 IDE: PsiMethod.callableSymbol returns `null` for constructor
- [`KT-66608`](https://youtrack.jetbrains.com/issue/KT-66608 ) Support `OperatorFunctionChecks#isOperator` in AA
- [`KT-73068`](https://youtrack.jetbrains.com/issue/KT-73068 ) Analysis API: A `KaFirJavaFieldSymbol` for a static Java field is open instead of final
- [`KT-73055`](https://youtrack.jetbrains.com/issue/KT-73055 ) Get rid of the deprecated Analysis API API
- [`KT-65065`](https://youtrack.jetbrains.com/issue/KT-65065 ) Provide `KtTypeReference#getShortTypeText()`
- [`KT-63800`](https://youtrack.jetbrains.com/issue/KT-63800 ) AA: this reference shortener doesn't simplify label
- [`KT-72793`](https://youtrack.jetbrains.com/issue/KT-72793 ) Analysis API: 'expressionType' returns raw type for typealiased constructors calls
- [`KT-72658`](https://youtrack.jetbrains.com/issue/KT-72658 ) `resolveToCall` doesn't work for `KtSafeQualifiedExpression`
- [`KT-69930`](https://youtrack.jetbrains.com/issue/KT-69930 ) K2 IDE: Kotlin/JS project: ISE: "Unsupported type DYNAMIC_TYPE"
- [`KT-71373`](https://youtrack.jetbrains.com/issue/KT-71373 ) Make KaSessionProvider the internal API
- [`KT-71869`](https://youtrack.jetbrains.com/issue/KT-71869 ) KaClassSymbol.superTypes for kotlin.Any contains kotlin.Any itself (K1-only)
- [`KT-64190`](https://youtrack.jetbrains.com/issue/KT-64190 ) K2 IDE: Analysis API: KDoc link leads to a function instead of interface
- [`KT-72075`](https://youtrack.jetbrains.com/issue/KT-72075 ) `defaultType` should be available for `KaClassifierSymbol` instead of `KaNamedClassSymbol`
- [`KT-72002`](https://youtrack.jetbrains.com/issue/KT-72002 ) Analysis API: psi KaTypeParameterSymbol for default Java constructor is null
##### Backend. Native. Debug
- [`KT-73306`](https://youtrack.jetbrains.com/issue/KT-73306 ) Native: add a way to specify a dir for the debug compilation unit file
- [`KT-68536`](https://youtrack.jetbrains.com/issue/KT-68536 ) Native: bridges and trampolines affect stepping in the debugger
- [`KT-72398`](https://youtrack.jetbrains.com/issue/KT-72398 ) Native: use `DW_AT_trampoline` for `objc2kotlin_*` functions instead of `KonanHook` in `konan_lldb.py`
##### Backend. Wasm
- [`KT-71868`](https://youtrack.jetbrains.com/issue/KT-71868 ) K/Wasm: support generating debug information in DWARF format
- [`KT-71645`](https://youtrack.jetbrains.com/issue/KT-71645 ) \[Wasm] Check wasm test runner for groupByPackage=true case
- [`KT-72232`](https://youtrack.jetbrains.com/issue/KT-72232 ) Wasm, IC: Compilation exception on renaming of file
- [`KT-73907`](https://youtrack.jetbrains.com/issue/KT-73907 ) Wasm: Duplication of files in browser distribution
- [`KT-72223`](https://youtrack.jetbrains.com/issue/KT-72223 ) Compiler generates an invalid glue-code for externals with backquoted identifiers
- [`KT-73015`](https://youtrack.jetbrains.com/issue/KT-73015 ) \[Wasm, IC] Implement possibility for readonly IC cache
- [`KT-71763`](https://youtrack.jetbrains.com/issue/KT-71763 ) K/Wasm: compiler generates incorrect code for is check on JsAny
- [`KT-72156`](https://youtrack.jetbrains.com/issue/KT-72156 ) custom-formatters.js exists in JAR after publishToMavenLocal but not in the published artifact in Maven public
- [`KT-71037`](https://youtrack.jetbrains.com/issue/KT-71037 ) \[Wasm, IC] Investigate how make kotlin.test not fully loaded in IC
##### Compiler
##### New Features
- [`KT-74049`](https://youtrack.jetbrains.com/issue/KT-74049 ) Introduce special override rule to allow overriding T! with T & Any
- [`KT-73256`](https://youtrack.jetbrains.com/issue/KT-73256 ) Implement `all` meta-target for annotations
- [`KT-73255`](https://youtrack.jetbrains.com/issue/KT-73255 ) Change defaulting rule for annotations
- [`KT-61447`](https://youtrack.jetbrains.com/issue/KT-61447 ) Support context receivers overloads in Kotlin multiplatform
- [`KT-67034`](https://youtrack.jetbrains.com/issue/KT-67034 ) Warning when a property hides a Java field from superclass
- [`KT-71092`](https://youtrack.jetbrains.com/issue/KT-71092 ) Native: Write out used dependencies
- [`KT-71094`](https://youtrack.jetbrains.com/issue/KT-71094 ) Kotlin/Native incremental compilation: fail compilation if cache build failed
- [`KT-71569`](https://youtrack.jetbrains.com/issue/KT-71569 ) Improve diagnostic precision for OPT_IN_ARGUMENT_IS_NOT_MARKER
##### Performance Improvements
- [`KT-73434`](https://youtrack.jetbrains.com/issue/KT-73434 ) Slow / infinite compile involving ConeInferenceContext
- [`KT-73328`](https://youtrack.jetbrains.com/issue/KT-73328 ) Do not spill `this` to a local variable in coroutines
- [`KT-69995`](https://youtrack.jetbrains.com/issue/KT-69995 ) K2: Slow compilation when star projecting mutually recursive bounds from java
- [`KT-73687`](https://youtrack.jetbrains.com/issue/KT-73687 ) Inefficient KtCommonFile#getFileAnnotationList
- [`KT-45452`](https://youtrack.jetbrains.com/issue/KT-45452 ) K/N optimization: inline simple functions that aren't marked with `inline` keyword
- [`KT-64898`](https://youtrack.jetbrains.com/issue/KT-64898 ) K2: toFirProperty call in PsiRawFirBuilder forces AST loading
- [`KT-71673`](https://youtrack.jetbrains.com/issue/KT-71673 ) Consider making EnhancementSymbolsCache. enhancedFunctions using simple cache
- [`KT-71973`](https://youtrack.jetbrains.com/issue/KT-71973 ) KtPsiUtil#getEnclosingElementForLocalDeclaration shouldn't iterate over directories
##### Fixes
- [`KT-75965`](https://youtrack.jetbrains.com/issue/KT-75965 ) The iOS app did not run successfully in Release mode
- [`KT-57696`](https://youtrack.jetbrains.com/issue/KT-57696 ) Deprecate JvmDefault annotation with level HIDDEN
- [`KT-75578`](https://youtrack.jetbrains.com/issue/KT-75578 ) K2: False negative \[SUPER_CALL_WITH_DEFAULT_PARAMETERS] when calling the upper-class implementation of a method with the default value argument
- [`KT-74764`](https://youtrack.jetbrains.com/issue/KT-74764 ) Native: merge init nodes generated within the same LLVM module for the same klib
- [`KT-75444`](https://youtrack.jetbrains.com/issue/KT-75444 ) Contradictions in the constraint system are ignored in case of multiple constraints from forking points
- [`KT-75649`](https://youtrack.jetbrains.com/issue/KT-75649 ) K2: NPE on assigning platform type value to non-nullable lateinit var
- [`KT-75483`](https://youtrack.jetbrains.com/issue/KT-75483 ) Native: redundant unboxing generated with smart cast
- [`KT-73028`](https://youtrack.jetbrains.com/issue/KT-73028 ) K2. FileAnalysisException on private property in Context
- [`KT-73937`](https://youtrack.jetbrains.com/issue/KT-73937 ) Context parameters: IllegalArgumentException: source must not be null on lateinit var with a context
- [`KT-74104`](https://youtrack.jetbrains.com/issue/KT-74104 ) Native: SynchronizedLazyImpl produces NPE on 2.1.20-Beta1 on mingwX64
- [`KT-71752`](https://youtrack.jetbrains.com/issue/KT-71752 ) K2: Absent non-null check for platform types in assignments
- [`KT-75526`](https://youtrack.jetbrains.com/issue/KT-75526 ) Regression in K2 scripting: local name doesn't shadow one from the implicit receiver
- [`KT-68131`](https://youtrack.jetbrains.com/issue/KT-68131 ) K2: build Grazie monorepo main branch
- [`KT-72618`](https://youtrack.jetbrains.com/issue/KT-72618 ) Cannot define operator inc/dec in class context
- [`KT-74739`](https://youtrack.jetbrains.com/issue/KT-74739 ) Native: "IllegalArgumentException: All constructors should've been lowered: FUNCTION_REFERENCE"
- [`KT-68768`](https://youtrack.jetbrains.com/issue/KT-68768 ) K2: unsuccessful inference fork with jspecify annotations
- [`KT-71943`](https://youtrack.jetbrains.com/issue/KT-71943 ) K2: IAE "source must not be null" in FirJvmModuleAccessibilityQualifiedAccessChecker
- [`KT-75111`](https://youtrack.jetbrains.com/issue/KT-75111 ) False negative "This declaration needs opt-in" for usage of enum entry with OptIn marker in another module
- [`KT-73831`](https://youtrack.jetbrains.com/issue/KT-73831 ) Do not choose `field` target in annotation classes
- [`KT-73494`](https://youtrack.jetbrains.com/issue/KT-73494 ) Enable first-only-warn annotation defaulting mode
- [`KT-74929`](https://youtrack.jetbrains.com/issue/KT-74929 ) False positive TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER if it is used with T\&Any
- [`KT-74227`](https://youtrack.jetbrains.com/issue/KT-74227 ) K2: "Cannot infer type for this parameter. Please specify it explicitly" caused by lambda in another lambda with a parameterized function type
- [`KT-70789`](https://youtrack.jetbrains.com/issue/KT-70789 ) CLI error "mixing legacy and modern plugin arguments is prohibited" on using -Xcompiler-plugin unless default scripting plugin is disabled
- [`KT-73903`](https://youtrack.jetbrains.com/issue/KT-73903 ) Design 'replaceWith' / 'test-only' kinds for the 'LanguageFeature' class
- [`KT-74474`](https://youtrack.jetbrains.com/issue/KT-74474 ) K2: Report more precise diagnostic when last expression of non-unit lambda is a statement
- [`KT-74478`](https://youtrack.jetbrains.com/issue/KT-74478 ) K2: False negative RETURN TYPE_MISMATCH if the last statement of a lambda is indexed assignment
- [`KT-67480`](https://youtrack.jetbrains.com/issue/KT-67480 ) K/N: a separate inlining phase after the lowerings
- [`KT-72154`](https://youtrack.jetbrains.com/issue/KT-72154 ) Dokka fails with `not array: KClass<out Annotation>` on Kotlin 2.1.20-dev with `@SubclassOptInRequired`
- [`KT-72040`](https://youtrack.jetbrains.com/issue/KT-72040 ) Extra checkers: false-positive unused parameter warnings on anonymous lambda parameters
- [`KT-74203`](https://youtrack.jetbrains.com/issue/KT-74203 ) K2: False negative NO_ELSE_IN_WHEN of a generic type with star projection <\*> bounded by a sealed hierarchy
- [`KT-63720`](https://youtrack.jetbrains.com/issue/KT-63720 ) Coroutine debugger: do not optimise out local variables
- [`KT-74024`](https://youtrack.jetbrains.com/issue/KT-74024 ) K2: Prohibit declaring local type aliases
- [`KT-73146`](https://youtrack.jetbrains.com/issue/KT-73146 ) Context parameters CLI & diagnostics
- [`KT-73251`](https://youtrack.jetbrains.com/issue/KT-73251 ) Warn users about removal of context classes and constructors
- [`KT-72222`](https://youtrack.jetbrains.com/issue/KT-72222 ) Context parameters parsing & resolution part 1
- [`KT-61175`](https://youtrack.jetbrains.com/issue/KT-61175 ) K2: FirReceiverParameter does not extend FirDeclaration
- [`KT-73858`](https://youtrack.jetbrains.com/issue/KT-73858 ) Compose / iOS: NullPointerException on building
- [`KT-73864`](https://youtrack.jetbrains.com/issue/KT-73864 ) \[Native] Decouple `IrType.computePrimitiveBinaryTypeOrNull` from backend.native
- [`KT-73122`](https://youtrack.jetbrains.com/issue/KT-73122 ) Move the upgrade references lowering to be first one in Native pipeline
- [`KT-73608`](https://youtrack.jetbrains.com/issue/KT-73608 ) K2: "Initializer type mismatch" with map and typealias to object
- [`KT-73691`](https://youtrack.jetbrains.com/issue/KT-73691 ) DCE removes static initializer function, which is actually called
- [`KT-74147`](https://youtrack.jetbrains.com/issue/KT-74147 ) K2: False negative INCONSISTENT_TYPE_PARAMETER_VALUES
- [`KT-73454`](https://youtrack.jetbrains.com/issue/KT-73454 ) K2: Fix type parameters mapping for typealiases with inner RHS
- [`KT-73043`](https://youtrack.jetbrains.com/issue/KT-73043 ) K2 Compiler does not allow references to inner constructors with typealiases
- [`KT-74040`](https://youtrack.jetbrains.com/issue/KT-74040 ) Compilation of inner class usage does not check the visibility of parent class during compilation in different rounds
- [`KT-74195`](https://youtrack.jetbrains.com/issue/KT-74195 ) Fully qualified names in error messages make them complicated
- [`KT-74221`](https://youtrack.jetbrains.com/issue/KT-74221 ) Make `FirSupertypesChecker` a platform checker
- [`KT-72962`](https://youtrack.jetbrains.com/issue/KT-72962 ) Consider enabling ConsiderForkPointsWhenCheckingContradictions LF earlier
- [`KT-74242`](https://youtrack.jetbrains.com/issue/KT-74242 ) Freeze on `runCatching` call in `finally` block inside SAM conversion
- [`KT-29222`](https://youtrack.jetbrains.com/issue/KT-29222 ) FIR: consider folding binary expression chains
- [`KT-73760`](https://youtrack.jetbrains.com/issue/KT-73760 ) Cannot implement two Java interfaces with `@NotNull`-annotated type argument and Kotlin's plain (nullable) type parameter
- [`KT-58933`](https://youtrack.jetbrains.com/issue/KT-58933 ) Applying suggested signature from WRONG_NULLABILITY_FOR_JAVA_OVERRIDE leads to red code
- [`KT-74107`](https://youtrack.jetbrains.com/issue/KT-74107 ) K2: Calling type alias constructor with inner RHS in static scope causes runtime crash
- [`KT-74244`](https://youtrack.jetbrains.com/issue/KT-74244 ) Context parameters: context isn't checked for expect/actual property declaration
- [`KT-74276`](https://youtrack.jetbrains.com/issue/KT-74276 ) Update ASM from 9.0 to 9.6.1
- [`KT-72737`](https://youtrack.jetbrains.com/issue/KT-72737 ) Avoid function references creation in lowerings after FunctionReferenceLowering
- [`KT-72295`](https://youtrack.jetbrains.com/issue/KT-72295 ) K2: Generated accessors for delegated property should have property source
- [`KT-73150`](https://youtrack.jetbrains.com/issue/KT-73150 ) Investigate/test approximation of context parameter type in completion
- [`KT-73862`](https://youtrack.jetbrains.com/issue/KT-73862 ) \[Native] Decouple NativePreSerializationLoweringContext from backend.native
- [`KT-70507`](https://youtrack.jetbrains.com/issue/KT-70507 ) Should parentheses prevent from plus/set operator desugaring?
- [`KT-72677`](https://youtrack.jetbrains.com/issue/KT-72677 ) K2 IDE / Kotlin Debugger: “Couldn't find virtual file for p1/MainKt$foo$iface$1” on evaluating inline function from another module
- [`KT-72672`](https://youtrack.jetbrains.com/issue/KT-72672 ) K2 IDE / Kotlin Debugger: “Couldn't find virtual file” on evaluating inline function for enum class entries from test module
- [`KT-73912`](https://youtrack.jetbrains.com/issue/KT-73912 ) Cannot evaluate inline methods from another module in KMP project
- [`KT-73765`](https://youtrack.jetbrains.com/issue/KT-73765 ) K2: Prohibit nested type aliases with inner RHS when it captures type parameters implicitly
- [`KT-73869`](https://youtrack.jetbrains.com/issue/KT-73869 ) \[Native] Move KonanSymbols out of `backend.native`
- [`KT-73823`](https://youtrack.jetbrains.com/issue/KT-73823 ) Kotlin/Native: IndexOutOfBounds for java.util.Map::getOrDefault
- [`KT-73755`](https://youtrack.jetbrains.com/issue/KT-73755 ) K2: type mismatch error contains unsubstituted type parameter types
- [`KT-72837`](https://youtrack.jetbrains.com/issue/KT-72837 ) ERROR_IN_CONTRACT_DESCRIPTION message contains compiler internals
- [`KT-73771`](https://youtrack.jetbrains.com/issue/KT-73771 ) K2: Infinite compilation caused by buildList without type
- [`KT-67520`](https://youtrack.jetbrains.com/issue/KT-67520 ) Change of behaviour of inline function with safe cast on value type
- [`KT-67518`](https://youtrack.jetbrains.com/issue/KT-67518 ) Value classes leak their carrier type implementation details via inlining
- [`KT-71767`](https://youtrack.jetbrains.com/issue/KT-71767 ) Generate default compatibility bridges in -Xjvm-default=all/all-compatibility mode
- [`KT-73716`](https://youtrack.jetbrains.com/issue/KT-73716 ) Context parameters expose visibility
- [`KT-73671`](https://youtrack.jetbrains.com/issue/KT-73671 ) Context parameters: val/var on context parameter on a property is possible
- [`KT-73510`](https://youtrack.jetbrains.com/issue/KT-73510 ) Context parameters: It is possible to declare a context for init block
- [`KT-72305`](https://youtrack.jetbrains.com/issue/KT-72305 ) K2: Report error when using synthetic properties in case of mapped collections
- [`KT-72429`](https://youtrack.jetbrains.com/issue/KT-72429 ) StackOverflowError when compiling large files
- [`KT-72500`](https://youtrack.jetbrains.com/issue/KT-72500 ) K2 Debugger: NSME on evaluating lambda with a call to internal class field
- [`KT-73845`](https://youtrack.jetbrains.com/issue/KT-73845 ) K2: IllegalArgumentException during FIR2IR transformation when processing nested default values in annotations
- [`KT-73538`](https://youtrack.jetbrains.com/issue/KT-73538 ) K2 IDE / Kotlin Debugger: ISE “couldn't find inline method" on evaluating internal inline function with default arg from main module in test module
- [`KT-73347`](https://youtrack.jetbrains.com/issue/KT-73347 ) K2: Expected is FirResolvedDeclarationStatus
- [`KT-71226`](https://youtrack.jetbrains.com/issue/KT-71226 ) K2 Evaluator: Code fragment compilation with unresolved classes does not fail with exception
- [`KT-73902`](https://youtrack.jetbrains.com/issue/KT-73902 ) Clean-up code around lateinit inline/value classes
- [`KT-73693`](https://youtrack.jetbrains.com/issue/KT-73693 ) K2: DslMarker checker doesn't report violation for callable reference with bound receiver
- [`KT-73667`](https://youtrack.jetbrains.com/issue/KT-73667 ) K2: DslMarker checker ignores function type annotations for invokeExtension
- [`KT-72797`](https://youtrack.jetbrains.com/issue/KT-72797 ) K2 IDE / Kotlin Debugger: AE “No such value argument slot in IrCallImpl” on evaluating inc()-operator for private field
- [`KT-68388`](https://youtrack.jetbrains.com/issue/KT-68388 ) Compiler crash on convesion to fun interface with extension receiver
- [`KT-73801`](https://youtrack.jetbrains.com/issue/KT-73801 ) False positive CONFLICTING_OVERLOADS between base suspend fun and derived property
- [`KT-62833`](https://youtrack.jetbrains.com/issue/KT-62833 ) K2: Run smoke FP tests with SLOW_ASSERTIONS enabled
- [`KT-54068`](https://youtrack.jetbrains.com/issue/KT-54068 ) Context receivers with lambda nesting result in Type mismatch
- [`KT-51383`](https://youtr
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions ) if that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-21 01:23:02 +00:00
renovate
5c16b803b7
chore: bump up @sentry/react version to v9 ( #10064 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react ) ([source](https://redirect.github.com/getsentry/sentry-javascript )) | [`^8.44.0` -> `^9.0.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.54.0/9.0.1 ) | [](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>getsentry/sentry-javascript (@​sentry/react)</summary>
### [`v9.0.1`](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.0.1 )
[Compare Source](https://redirect.github.com/getsentry/sentry-javascript/compare/9.0.0...9.0.1 )
- ref(flags): rename unleash integration param ([#​15343](https://redirect.github.com/getsentry/sentry-javascript/pull/15343 ))
##### Bundle size 📦
| Path | Size |
| ---------------------------------------------------------------- | ----------------- |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) | 22.9 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) - with treeshaking flags | 22.69 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing) | 35.77 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing, Replay) | 72.65 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing, Replay) - with treeshaking flags | 66.13 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing, Replay with Canvas) | 76.9 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing, Replay, Feedback) | 89.64 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Feedback) | 39.86 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. sendFeedback) | 27.53 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. FeedbackAsync) | 32.31 KB |
| [@​sentry/react](https://redirect.github.com/sentry/react ) | 24.74 KB |
| [@​sentry/react](https://redirect.github.com/sentry/react ) (incl. Tracing) | 37.67 KB |
| [@​sentry/vue](https://redirect.github.com/sentry/vue ) | 27.09 KB |
| [@​sentry/vue](https://redirect.github.com/sentry/vue ) (incl. Tracing) | 37.47 KB |
| [@​sentry/svelte](https://redirect.github.com/sentry/svelte ) | 22.94 KB |
| CDN Bundle | 24.13 KB |
| CDN Bundle (incl. Tracing) | 35.84 KB |
| CDN Bundle (incl. Tracing, Replay) | 70.55 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 75.69 KB |
| CDN Bundle - uncompressed | 70.59 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 106.46 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 217.52 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 230.09 KB |
| [@​sentry/nextjs](https://redirect.github.com/sentry/nextjs ) (client) | 38.63 KB |
| [@​sentry/sveltekit](https://redirect.github.com/sentry/sveltekit ) (client) | 36.2 KB |
| [@​sentry/node](https://redirect.github.com/sentry/node ) | 156.33 KB |
| [@​sentry/node](https://redirect.github.com/sentry/node ) - without tracing | 97.31 KB |
| [@​sentry/aws-serverless](https://redirect.github.com/sentry/aws-serverless ) | 106.82 KB |
### [`v9.0.0`](https://redirect.github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#900 )
[Compare Source](https://redirect.github.com/getsentry/sentry-javascript/compare/8.54.0...9.0.0 )
Version `9.0.0` marks a release of the Sentry JavaScript SDKs that contains breaking changes.
The goal of this release is to trim down on unused and potentially confusing APIs, prepare the SDKs for future framework versions to build deeper instrumentation, and remove old polyfills to reduce the packages' size.
##### How To Upgrade
Please carefully read through the migration guide in the Sentry docs on how to upgrade from version 8 to version 9.
Make sure to select your specific platform/framework in the top left corner: https://docs.sentry.io/platforms/javascript/migration/v8-to-v9/
A comprehensive migration guide outlining all changes for all the frameworks can be found within the Sentry JavaScript SDK Repository: https://github.com/getsentry/sentry-javascript/blob/develop/MIGRATION.md
##### Breaking Changes
- doc(deno)!: Make Deno v2 the minimum supported version ([#​15085](https://redirect.github.com/getsentry/sentry-javascript/issues/15085 ))
- feat!: Bump typescript to `~5.0.0` ([#​14758](https://redirect.github.com/getsentry/sentry-javascript/issues/14758 ))
- feat!: Drop `nitro-utils` package ([#​14998](https://redirect.github.com/getsentry/sentry-javascript/issues/14998 ))
- feat!: Only collect ip addresses with `sendDefaultPii: true` ([#​15084](https://redirect.github.com/getsentry/sentry-javascript/issues/15084 ))
- feat!: Remove `autoSessionTracking` option ([#​14802](https://redirect.github.com/getsentry/sentry-javascript/issues/14802 ))
- feat!: Remove `enableTracing` ([#​15078](https://redirect.github.com/getsentry/sentry-javascript/issues/15078 ))
- feat!: Remove `getCurrentHub()`, `Hub`, and `getCurrentHubShim()` ([#​15122](https://redirect.github.com/getsentry/sentry-javascript/issues/15122 ))
- feat!: Remove `spanId` from propagation context ([#​14733](https://redirect.github.com/getsentry/sentry-javascript/issues/14733 ))
- feat!: Remove deprecated and unused code ([#​15077](https://redirect.github.com/getsentry/sentry-javascript/issues/15077 ))
- feat!: Remove metrics API from the JS SDK ([#​14745](https://redirect.github.com/getsentry/sentry-javascript/issues/14745 ))
- feat!: Require Node `>=18` as minimum supported version ([#​14749](https://redirect.github.com/getsentry/sentry-javascript/issues/14749 ))
- feat(astro)!: Respect user-specified source map setting ([#​14941](https://redirect.github.com/getsentry/sentry-javascript/issues/14941 ))
- feat(browser)!: Remove `captureUserFeedback` method ([#​14820](https://redirect.github.com/getsentry/sentry-javascript/issues/14820 ))
- feat(build)!: Drop pre-ES2020 polyfills ([#​14882](https://redirect.github.com/getsentry/sentry-javascript/issues/14882 ))
- feat(core)!: Add `normalizedRequest` to `samplingContext` ([#​14902](https://redirect.github.com/getsentry/sentry-javascript/issues/14902 ))
- feat(core)!: Always use session from isolation scope ([#​14860](https://redirect.github.com/getsentry/sentry-javascript/issues/14860 ))
- feat(core)!: Pass root spans to `beforeSendSpan` and disallow returning `null` ([#​14831](https://redirect.github.com/getsentry/sentry-javascript/issues/14831 ))
- feat(core)!: Remove `BAGGAGE_HEADER_NAME` export ([#​14785](https://redirect.github.com/getsentry/sentry-javascript/issues/14785 ))
- feat(core)!: Remove `TransactionNamingScheme` type ([#​14865](https://redirect.github.com/getsentry/sentry-javascript/issues/14865 ))
- feat(core)!: Remove `addOpenTelemetryInstrumentation` method ([#​14792](https://redirect.github.com/getsentry/sentry-javascript/issues/14792 ))
- feat(core)!: Remove `arrayify` method ([#​14782](https://redirect.github.com/getsentry/sentry-javascript/issues/14782 ))
- feat(core)!: Remove `debugIntegration` and `sessionTimingIntegration` ([#​14747](https://redirect.github.com/getsentry/sentry-javascript/issues/14747 ))
- feat(core)!: Remove `flatten` method ([#​14784](https://redirect.github.com/getsentry/sentry-javascript/issues/14784 ))
- feat(core)!: Remove `getDomElement` method ([#​14797](https://redirect.github.com/getsentry/sentry-javascript/issues/14797 ))
- feat(core)!: Remove `makeFifoCache` method ([#​14786](https://redirect.github.com/getsentry/sentry-javascript/issues/14786 ))
- feat(core)!: Remove `memoBuilder` export & `WeakSet` fallback ([#​14859](https://redirect.github.com/getsentry/sentry-javascript/issues/14859 ))
- feat(core)!: Remove `transactionContext` from `samplingContext` ([#​14904](https://redirect.github.com/getsentry/sentry-javascript/issues/14904 ))
- feat(core)!: Remove `urlEncode` method ([#​14783](https://redirect.github.com/getsentry/sentry-javascript/issues/14783 ))
- feat(core)!: Remove deprecated `Request` type ([#​14858](https://redirect.github.com/getsentry/sentry-javascript/issues/14858 ))
- feat(core)!: Remove deprecated request data methods ([#​14896](https://redirect.github.com/getsentry/sentry-javascript/issues/14896 ))
- feat(core)!: Remove standalone `Client` interface & deprecate `BaseClient` ([#​14800](https://redirect.github.com/getsentry/sentry-javascript/issues/14800 ))
- feat(core)!: Remove validSeverityLevels export ([#​14765](https://redirect.github.com/getsentry/sentry-javascript/issues/14765 ))
- feat(core)!: Stop accepting `event` as argument for `recordDroppedEvent` ([#​14999](https://redirect.github.com/getsentry/sentry-javascript/issues/14999 ))
- feat(core)!: Stop setting user in `requestDataIntegration` ([#​14898](https://redirect.github.com/getsentry/sentry-javascript/issues/14898 ))
- feat(core)!: Type sdkProcessingMetadata more strictly ([#​14855](https://redirect.github.com/getsentry/sentry-javascript/issues/14855 ))
- feat(core)!: Update `hasTracingEnabled` to consider empty trace config ([#​14857](https://redirect.github.com/getsentry/sentry-javascript/issues/14857 ))
- feat(core)!: Update `requestDataIntegration` handling ([#​14806](https://redirect.github.com/getsentry/sentry-javascript/issues/14806 ))
- feat(deno)!: Remove deno prepack ([#​14829](https://redirect.github.com/getsentry/sentry-javascript/issues/14829 ))
- feat(ember)!: Officially drop support for ember `<=3.x` ([#​15032](https://redirect.github.com/getsentry/sentry-javascript/issues/15032 ))
- feat(nestjs)!: Move `nestIntegration` into nest sdk and remove `setupNestErrorHandler` ([#​14751](https://redirect.github.com/getsentry/sentry-javascript/issues/14751 ))
- feat(nestjs)!: Remove `@WithSentry` decorator ([#​14762](https://redirect.github.com/getsentry/sentry-javascript/issues/14762 ))
- feat(nestjs)!: Remove `SentryService` ([#​14759](https://redirect.github.com/getsentry/sentry-javascript/issues/14759 ))
- feat(nextjs)!: Don't rely on Next.js Build ID for release names ([#​14939](https://redirect.github.com/getsentry/sentry-javascript/issues/14939 ))
- feat(nextjs)!: Remove `experimental_captureRequestError` ([#​14607](https://redirect.github.com/getsentry/sentry-javascript/issues/14607 ))
- feat(nextjs)!: Respect user-provided source map generation settings ([#​14956](https://redirect.github.com/getsentry/sentry-javascript/issues/14956 ))
- feat(node)!: Add support for Prisma v6 and drop v5 support ([#​15120](https://redirect.github.com/getsentry/sentry-javascript/issues/15120 ))
- feat(node)!: Avoid http spans by default for custom OTEL setups ([#​14678](https://redirect.github.com/getsentry/sentry-javascript/issues/14678 ))
- feat(node)!: Collect request sessions via HTTP instrumentation ([#​14658](https://redirect.github.com/getsentry/sentry-javascript/issues/14658 ))
- feat(node)!: Remove `processThreadBreadcrumbIntegration` ([#​14666](https://redirect.github.com/getsentry/sentry-javascript/issues/14666 ))
- feat(node)!: Remove fine grained `registerEsmLoaderHooks` ([#​15002](https://redirect.github.com/getsentry/sentry-javascript/issues/15002 ))
- feat(opentelemetry)!: Exclusively pass root spans through sampling pipeline ([#​14951](https://redirect.github.com/getsentry/sentry-javascript/issues/14951 ))
- feat(pinia)!: Include state of all stores in breadcrumb ([#​15312](https://redirect.github.com/getsentry/sentry-javascript/issues/15312 ))
- feat(react)!: Raise minimum supported TanStack Router version to `1.63.0` ([#​15030](https://redirect.github.com/getsentry/sentry-javascript/issues/15030 ))
- feat(react)!: Remove deprecated `getNumberOfUrlSegments` method ([#​14744](https://redirect.github.com/getsentry/sentry-javascript/issues/14744 ))
- feat(react)!: Remove deprecated react router methods ([#​14743](https://redirect.github.com/getsentry/sentry-javascript/issues/14743 ))
- feat(react)!: Update `ErrorBoundary` `componentStack` type ([#​14742](https://redirect.github.com/getsentry/sentry-javascript/issues/14742 ))
- feat(remix)!: Drop support for Remix v1 ([#​14988](https://redirect.github.com/getsentry/sentry-javascript/issues/14988 ))
- feat(remix)!: Remove `autoInstrumentRemix` option ([#​15074](https://redirect.github.com/getsentry/sentry-javascript/issues/15074 ))
- feat(solidstart)!: Default to `--import` setup and add `autoInjectServerSentry` ([#​14862](https://redirect.github.com/getsentry/sentry-javascript/issues/14862 ))
- feat(solidstart)!: No longer export `sentrySolidStartVite` ([#​15143](https://redirect.github.com/getsentry/sentry-javascript/issues/15143 ))
- feat(solidstart)!: Respect user-provided source map setting ([#​14979](https://redirect.github.com/getsentry/sentry-javascript/issues/14979 ))
- feat(svelte)!: Disable component update tracking by default ([#​15265](https://redirect.github.com/getsentry/sentry-javascript/issues/15265 ))
- feat(sveltekit)!: Drop support for SvelteKit [@​1](https://redirect.github.com/1 ).x ([#​15037](https://redirect.github.com/getsentry/sentry-javascript/issues/15037 ))
- feat(sveltekit)!: Remove `fetchProxyScriptNonce` option ([#​15123](https://redirect.github.com/getsentry/sentry-javascript/issues/15123 ))
- feat(sveltekit)!: Respect user-provided source map generation settings ([#​14886](https://redirect.github.com/getsentry/sentry-javascript/issues/14886 ))
- feat(utils)!: Remove `@sentry/utils` package ([#​14830](https://redirect.github.com/getsentry/sentry-javascript/issues/14830 ))
- feat(vue)!: Remove configuring Vue tracing options anywhere else other than through the `vueIntegration`'s `tracingOptions` option ([#​14856](https://redirect.github.com/getsentry/sentry-javascript/issues/14856 ))
- feat(vue/nuxt)!: No longer create `"update"` spans for component tracking by default ([#​14602](https://redirect.github.com/getsentry/sentry-javascript/issues/14602 ))
- fix(node)!: Fix name of `vercelAIIntegration` to `VercelAI` ([#​15298](https://redirect.github.com/getsentry/sentry-javascript/issues/15298 ))
- fix(vue)!: Remove `logError` from `vueIntegration` ([#​14958](https://redirect.github.com/getsentry/sentry-javascript/issues/14958 ))
- ref!: Don't polyfill optional chaining and nullish coalescing ([#​14603](https://redirect.github.com/getsentry/sentry-javascript/issues/14603 ))
- ref(core)!: Cleanup internal types, including `ReportDialogOptions` ([#​14861](https://redirect.github.com/getsentry/sentry-javascript/issues/14861 ))
- ref(core)!: Mark exceptions from `captureConsoleIntegration` as `handled: true` by default ([#​14734](https://redirect.github.com/getsentry/sentry-javascript/issues/14734 ))
- ref(core)!: Move `shutdownTimeout` option type from core to node ([#​15217](https://redirect.github.com/getsentry/sentry-javascript/issues/15217 ))
- ref(core)!: Remove `Scope` type interface in favor of using `Scope` class ([#​14721](https://redirect.github.com/getsentry/sentry-javascript/issues/14721 ))
- ref(core)!: Remove backwards compatible SentryCarrier type ([#​14697](https://redirect.github.com/getsentry/sentry-javascript/issues/14697 ))
##### Other Changes
- chore(browser): Export ipAddress helpers for use in other SDKs ([#​15079](https://redirect.github.com/getsentry/sentry-javascript/issues/15079 ))
- deps(node): Bump `import-in-the-middle` to `1.12.0` ([#​14796](https://redirect.github.com/getsentry/sentry-javascript/issues/14796 ))
- feat(aws): Rename AWS lambda layer name to `SentryNodeServerlessSDKv9` ([#​14927](https://redirect.github.com/getsentry/sentry-javascript/issues/14927 ))
- feat(aws-serverless): Upgrade OTEL deps ([#​15091](https://redirect.github.com/getsentry/sentry-javascript/issues/15091 ))
- feat(browser): Set `user.ip_address` explicitly to `{{auto}}` ([#​15008](https://redirect.github.com/getsentry/sentry-javascript/issues/15008 ))
- feat(core): Add `inheritOrSampleWith` helper to `traceSampler` ([#​15277](https://redirect.github.com/getsentry/sentry-javascript/issues/15277 ))
- feat(core): Emit client reports for unsampled root spans on span start ([#​14936](https://redirect.github.com/getsentry/sentry-javascript/issues/14936 ))
- feat(core): Rename `hasTracingEnabled` to `hasSpansEnabled` ([#​15309](https://redirect.github.com/getsentry/sentry-javascript/issues/15309 ))
- feat(core): Streamline `SpanJSON` type ([#​14693](https://redirect.github.com/getsentry/sentry-javascript/issues/14693 ))
- feat(deno): Don't bundle `@sentry/deno` ([#​15014](https://redirect.github.com/getsentry/sentry-javascript/issues/15014 ))
- feat(deno): Don't publish to `deno.land` ([#​15016](https://redirect.github.com/getsentry/sentry-javascript/issues/15016 ))
- feat(deno): Stop inlining types from core ([#​14729](https://redirect.github.com/getsentry/sentry-javascript/issues/14729 ))
- feat(deps): Bump [@​opentelemetry/instrumentation-amqplib](https://redirect.github.com/opentelemetry/instrumentation-amqplib ) from 0.45.0 to 0.46.0 ([#​14835](https://redirect.github.com/getsentry/sentry-javascript/issues/14835 ))
- feat(deps): Bump [@​opentelemetry/instrumentation-aws-lambda](https://redirect.github.com/opentelemetry/instrumentation-aws-lambda ) from 0.49.0 to 0.50.0 ([#​14833](https://redirect.github.com/getsentry/sentry-javascript/issues/14833 ))
- feat(deps): Bump [@​opentelemetry/instrumentation-express](https://redirect.github.com/opentelemetry/instrumentation-express ) from 0.46.0 to 0.47.0 ([#​14834](https://redirect.github.com/getsentry/sentry-javascript/issues/14834 ))
- feat(deps): Bump [@​opentelemetry/instrumentation-mysql2](https://redirect.github.com/opentelemetry/instrumentation-mysql2 ) from 0.44.0 to 0.45.0 ([#​14836](https://redirect.github.com/getsentry/sentry-javascript/issues/14836 ))
- feat(deps): Bump [@​opentelemetry/propagation-utils](https://redirect.github.com/opentelemetry/propagation-utils ) from 0.30.14 to 0.30.15 ([#​14832](https://redirect.github.com/getsentry/sentry-javascript/issues/14832 ))
- feat(deps): bump [@​opentelemetry/context-async-hooks](https://redirect.github.com/opentelemetry/context-async-hooks ) from 1.29.0 to 1.30.0 ([#​14869](https://redirect.github.com/getsentry/sentry-javascript/issues/14869 ))
- feat(deps): bump [@​opentelemetry/instrumentation-generic-pool](https://redirect.github.com/opentelemetry/instrumentation-generic-pool ) from 0.42.0 to 0.43.0 ([#​14870](https://redirect.github.com/getsentry/sentry-javascript/issues/14870 ))
- feat(deps): bump [@​opentelemetry/instrumentation-knex](https://redirect.github.com/opentelemetry/instrumentation-knex ) from 0.43.0 to 0.44.0 ([#​14872](https://redirect.github.com/getsentry/sentry-javascript/issues/14872 ))
- feat(deps): bump [@​opentelemetry/instrumentation-mongodb](https://redirect.github.com/opentelemetry/instrumentation-mongodb ) from 0.50.0 to 0.51.0 ([#​14871](https://redirect.github.com/getsentry/sentry-javascript/issues/14871 ))
- feat(deps): bump [@​opentelemetry/instrumentation-tedious](https://redirect.github.com/opentelemetry/instrumentation-tedious ) from 0.17.0 to 0.18.0 ([#​14868](https://redirect.github.com/getsentry/sentry-javascript/issues/14868 ))
- feat(deps): bump [@​sentry/cli](https://redirect.github.com/sentry/cli ) from 2.39.1 to 2.41.1 ([#​15173](https://redirect.github.com/getsentry/sentry-javascript/issues/15173 ))
- feat(flags): Add Statsig browser integration ([#​15319](https://redirect.github.com/getsentry/sentry-javascript/issues/15319 ))
- feat(gatsby): Preserve user-provided source map settings ([#​15006](https://redirect.github.com/getsentry/sentry-javascript/issues/15006 ))
- feat(nestjs): Remove `SentryTracingInterceptor`, `SentryGlobalGraphQLFilter`, `SentryGlobalGenericFilter` ([#​14761](https://redirect.github.com/getsentry/sentry-javascript/issues/14761 ))
- feat(nextjs): Directly forward `sourcemaps.disable` to webpack plugin ([#​15109](https://redirect.github.com/getsentry/sentry-javascript/issues/15109 ))
- feat(node): Add `processSessionIntegration` ([#​15081](https://redirect.github.com/getsentry/sentry-javascript/issues/15081 ))
- feat(node): Add missing `vercelAIIntegration` export ([#​15318](https://redirect.github.com/getsentry/sentry-javascript/issues/15318 ))
- feat(node): Capture exceptions from `worker_threads` ([#​15105](https://redirect.github.com/getsentry/sentry-javascript/issues/15105 ))
- feat(nuxt): Add enabled to disable Sentry module ([#​15337](https://redirect.github.com/getsentry/sentry-javascript/issues/15337 ))
- feat(nuxt): add `silent`, `errorHandler`, `release` to `SourceMapsOptions` ([#​15246](https://redirect.github.com/getsentry/sentry-javascript/issues/15246 ))
- feat(profiling-node): Use `@sentry-internal/node-cpu-profiler` ([#​15208](https://redirect.github.com/getsentry/sentry-javascript/issues/15208 ))
- feat(replay): Update fflate to 0.8.2 ([#​14867](https://redirect.github.com/getsentry/sentry-javascript/issues/14867 ))
- feat(solidstart): Add `autoInjectServerSentry: 'experimental_dynamic-import` ([#​14863](https://redirect.github.com/getsentry/sentry-javascript/issues/14863 ))
- feat(sveltekit): Only inject fetch proxy script for SvelteKit < 2.16.0 ([#​15126](https://redirect.github.com/getsentry/sentry-javascript/issues/15126 ))
- feat(user feedback): Adds draw tool for UF screenshot annotations ([#​15062](https://redirect.github.com/getsentry/sentry-javascript/issues/15062 ))
- feat(user feedback): Adds toolbar for cropping and annotating ([#​15282](https://redirect.github.com/getsentry/sentry-javascript/issues/15282 ))
- feat: Avoid class fields all-together ([#​14887](https://redirect.github.com/getsentry/sentry-javascript/issues/14887 ))
- feat: Only emit `__esModule` properties in CJS modules when there is a default export ([#​15018](https://redirect.github.com/getsentry/sentry-javascript/issues/15018 ))
- feat: Pass `parentSampleRate` to `tracesSampler` ([#​15024](https://redirect.github.com/getsentry/sentry-javascript/issues/15024 ))
- feat: Propagate and use a sampling random ([#​14989](https://redirect.github.com/getsentry/sentry-javascript/issues/14989 ))
- fix(browser): Remove `browserPerformanceTimeOrigin` side-effects ([#​14025](https://redirect.github.com/getsentry/sentry-javascript/issues/14025 ))
- fix(core): Ensure debugIds are applied to all exceptions in an event ([#​14881](https://redirect.github.com/getsentry/sentry-javascript/issues/14881 ))
- fix(core): Fork scope if custom scope is passed to `startSpanManual` ([#​14901](https://redirect.github.com/getsentry/sentry-javascript/issues/14901 ))
- fix(core): Fork scope if custom scope is passed to `startSpan` ([#​14900](https://redirect.github.com/getsentry/sentry-javascript/issues/14900 ))
- fix(core): Only fall back to `sendDefaultPii` for IP collection in `requestDataIntegration` ([#​15125](https://redirect.github.com/getsentry/sentry-javascript/issues/15125 ))
- fix(nextjs): Flush with `waitUntil` in `captureRequestError` ([#​15146](https://redirect.github.com/getsentry/sentry-javascript/issues/15146 ))
- fix(nextjs): Use batched devserver symbolication endpoint ([#​15335](https://redirect.github.com/getsentry/sentry-javascript/issues/15335 ))
- fix(node): Don't leak `__span` property into breadcrumbs ([#​14798](https://redirect.github.com/getsentry/sentry-javascript/issues/14798 ))
- fix(node): Ensure `httpIntegration` propagates traces ([#​15233](https://redirect.github.com/getsentry/sentry-javascript/issues/15233 ))
- fix(node): Fix sample rand propagation for negative sampling decisions ([#​15045](https://redirect.github.com/getsentry/sentry-javascript/issues/15045 ))
- fix(node): Missing `release` from ANR sessions ([#​15138](https://redirect.github.com/getsentry/sentry-javascript/issues/15138 ))
- fix(node): Set the correct fallback URL fields for outgoing https requests if they are not defined ([#​15316](https://redirect.github.com/getsentry/sentry-javascript/issues/15316 ))
- fix(nuxt): Detect Azure Function runtime for flushing with timeout ([#​15288](https://redirect.github.com/getsentry/sentry-javascript/issues/15288 ))
- fix(react): From location can be undefined in Tanstack Router Instrumentation ([#​15235](https://redirect.github.com/getsentry/sentry-javascript/issues/15235 ))
- fix(react): Import default for hoistNonReactStatics ([#​15238](https://redirect.github.com/getsentry/sentry-javascript/issues/15238 ))
- fix(react): Support lazy-loaded routes and components. ([#​15039](https://redirect.github.com/getsentry/sentry-javascript/issues/15039 ))
- fix(solidstart): Do not copy release-injection map file ([#​15302](https://redirect.github.com/getsentry/sentry-javascript/issues/15302 ))
- ref(browser): Improve active span handling for `browserTracingIntegration` ([#​14959](https://redirect.github.com/getsentry/sentry-javascript/issues/14959 ))
- ref(browser): Improve setting of propagation scope for navigation spans ([#​15108](https://redirect.github.com/getsentry/sentry-javascript/issues/15108 ))
- ref(browser): Skip browser extension warning in non-debug builds ([#​15310](https://redirect.github.com/getsentry/sentry-javascript/issues/15310 ))
- ref(browser): Update `supportsHistory` check & history usage ([#​14696](https://redirect.github.com/getsentry/sentry-javascript/issues/14696 ))
- ref(core): Ensure non-recording root spans have frozen DSC ([#​14964](https://redirect.github.com/getsentry/sentry-javascript/issues/14964 ))
- ref(core): Log debug message when capturing error events ([#​14701](https://redirect.github.com/getsentry/sentry-javascript/issues/14701 ))
- ref(core): Move log message about invalid sample rate ([#​15215](https://redirect.github.com/getsentry/sentry-javascript/issues/15215 ))
- ref(node): Streamline check for adding performance integrations ([#​15021](https://redirect.github.com/getsentry/sentry-javascript/issues/15021 ))
- ref(react): Adapt tanstack router type ([#​15241](https://redirect.github.com/getsentry/sentry-javascript/issues/15241 ))
- ref(svelte): Remove SvelteKit detection ([#​15313](https://redirect.github.com/getsentry/sentry-javascript/issues/15313 ))
- ref(sveltekit): Clean up sub-request check ([#​15251](https://redirect.github.com/getsentry/sentry-javascript/issues/15251 ))
Work in this release was contributed by [@​aloisklink](https://redirect.github.com/aloisklink ), [@​arturovt](https://redirect.github.com/arturovt ), [@​aryanvdesh](https://redirect.github.com/aryanvdesh ), [@​benjick](https://redirect.github.com/benjick ), [@​chris-basebone](https://redirect.github.com/chris-basebone ), [@​davidturissini](https://redirect.github.com/davidturissini ), [@​GrizliK1988](https://redirect.github.com/GrizliK1988 ), [@​jahands](https://redirect.github.com/jahands ), [@​jrandolf](https://redirect.github.com/jrandolf ), [@​kunal-511](https://redirect.github.com/kunal-511 ), [@​maximepvrt](https://redirect.github.com/maximepvrt ), [@​maxmaxme](https://redirect.github.com/maxmaxme ), [@​mstrokin](https://redirect.github.com/mstrokin ), [@​nathankleyn](https://redirect.github.com/nathankleyn ), [@​nwalters512](https://redirect.github.com/nwalters512 ), [@​tannerlinsley](https://redirect.github.com/tannerlinsley ), [@​tjhiggins](https://redirect.github.com/tjhiggins ), and [@​Zen-cronic](https://redirect.github.com/Zen-cronic ). Thank you for your contributions!
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNjQuMSIsInVwZGF0ZWRJblZlciI6IjM5LjE2NC4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-02-28 14:09:36 +00:00
Saul-Mirone
ce87dcf58e
feat(editor): schema extension ( #10447 )
...
1. **Major Architectural Change: Schema Management**
- Moved from `workspace.schema` to `store.schema` throughout the codebase
- Removed schema property from Workspace and Doc interfaces
- Added `BlockSchemaExtension` pattern across multiple block types
2. **Block Schema Extensions Added**
- Added new `BlockSchemaExtension` to numerous block types including:
- DataView, Surface, Attachment, Bookmark, Code
- Database, Divider, EdgelessText, Embed blocks (Figma, Github, HTML, etc.)
- Frame, Image, Latex, List, Note, Paragraph
- Root, Surface Reference, Table blocks
3. **Import/Export System Updates**
- Updated import functions to accept `schema` parameter:
- `importHTMLToDoc`
- `importHTMLZip`
- `importMarkdownToDoc`
- `importMarkdownZip`
- `importNotionZip`
- Modified export functions to use new schema pattern
4. **Test Infrastructure Updates**
- Updated test files to use new schema extensions
- Modified test document creation to include schema extensions
- Removed direct schema registration in favor of extensions
5. **Service Layer Changes**
- Updated various services to use `getAFFiNEWorkspaceSchema()`
- Modified transformer initialization to use document schema
- Updated collection initialization patterns
6. **Version Management**
- Removed version-related properties and methods from:
- `WorkspaceMetaImpl`
- `TestMeta`
- `DocImpl`
- Removed `blockVersions` and `workspaceVersion/pageVersion`
7. **Store and Extension Updates**
- Added new store extensions and adapters
- Updated store initialization patterns
- Added new schema-related functionality in store extension
This PR represents a significant architectural shift in how schemas are managed, moving from a workspace-centric to a store-centric approach, while introducing a more extensible block schema system through `BlockSchemaExtension`. The changes touch multiple layers of the application including core functionality, services, testing infrastructure, and import/export capabilities.
2025-02-26 11:31:29 +00:00
renovate
9f5abe6078
chore: bump up esbuild version to ^0.25.0 [SECURITY] ( #10075 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [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/ ) |
### GitHub Vulnerability Alerts
#### [GHSA-67mh-4wv8-2f99](https://redirect.github.com/evanw/esbuild/security/advisories/GHSA-67mh-4wv8-2f99 )
### Summary
esbuild allows any websites to send any request to the development server and read the response due to default CORS settings.
### Details
esbuild sets `Access-Control-Allow-Origin: *` header to all requests, including the SSE connection, which allows any websites to send any request to the development server and read the response.
df815ac27b/pkg/api/serve_other.go (L121)
df815ac27b/pkg/api/serve_other.go (L363)
**Attack scenario**:
1. The attacker serves a malicious web page (`http://malicious.example.com `).
1. The user accesses the malicious web page.
1. The attacker sends a `fetch('http://127.0.0.1:8000/main.js ')` request by JS in that malicious web page. This request is normally blocked by same-origin policy, but that's not the case for the reasons above.
1. The attacker gets the content of `http://127.0.0.1:8000/main.js `.
In this scenario, I assumed that the attacker knows the URL of the bundle output file name. But the attacker can also get that information by
- Fetching `/index.html`: normally you have a script tag here
- Fetching `/assets`: it's common to have a `assets` directory when you have JS files and CSS files in a different directory and the directory listing feature tells the attacker the list of files
- Connecting `/esbuild` SSE endpoint: the SSE endpoint sends the URL path of the changed files when the file is changed (`new EventSource('/esbuild').addEventListener('change', e => console.log(e.type, e.data))`)
- Fetching URLs in the known file: once the attacker knows one file, the attacker can know the URLs imported from that file
The scenario above fetches the compiled content, but if the victim has the source map option enabled, the attacker can also get the non-compiled content by fetching the source map file.
### PoC
1. Download [reproduction.zip](https://redirect.github.com/user-attachments/files/18561484/reproduction.zip )
2. Extract it and move to that directory
1. Run `npm i`
1. Run `npm run watch`
1. Run `fetch('http://127.0.0.1:8000/app.js ').then(r => r.text()).then(content => console.log(content))` in a different website's dev tools.

### Impact
Users using the serve feature may get the source code stolen by malicious websites.
---
### Release Notes
<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>
---
### Configuration
📅 **Schedule**: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNjQuMSIsInVwZGF0ZWRJblZlciI6IjM5LjE2NC4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-02-11 04:09:28 +00:00