{"id":1372,"name":"kotlin","ecosystem":"maven","repository_url":null,"issues_count":1860,"created_at":"2025-06-06T15:01:43.487Z","updated_at":"2025-06-06T15:01:43.487Z","purl":"pkg:maven/kotlin","unique_repositories_count":738,"unique_repositories_count_past_30_days":8,"recent_issues":[{"uuid":"4585135833","node_id":"PR_kwDOOyeZhM7ifhC-","number":60,"state":"open","title":"Bump kotlin from 2.3.21 to 2.4.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-04T02:00:43.000Z","updated_at":"2026-06-04T02:16:25.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"kotlin","old_version":"2.3.21","new_version":"2.4.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.3.21 to 2.4.0.\nUpdates `org.jetbrains.kotlin.jvm` from 2.3.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/jeremy-morren/open-telemetry-rider/pull/60","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeremy-morren%2Fopen-telemetry-rider/issues/60","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/60/packages"},{"uuid":"4513461081","node_id":"PR_kwDOSm1lS87e3YrF","number":6,"state":"open","title":"chore(deps): bump kotlin from 2.0.21 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java","common","android","ios"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-25T00:32:29.000Z","updated_at":"2026-05-25T00:42:49.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"kotlin","old_version":"2.0.21","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.0.21 to 2.3.21.\nUpdates `org.jetbrains.kotlin.multiplatform` from 2.0.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.multiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.multiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.android` from 2.0.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.0.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.0.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.jvm` from 2.0.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.native.cocoapods` from 2.0.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.native.cocoapods's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.native.cocoapods's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.parcelize` from 2.0.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.parcelize's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href...\n\n_Description has been truncated_","html_url":"https://github.com/EstebanCastel/kmp-impact-install-test/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/EstebanCastel%2Fkmp-impact-install-test/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"},{"uuid":"4507544301","node_id":"PR_kwDOBX7G8M7eluF1","number":1166,"state":"closed","title":"chore(deps): bump kotlin from 2.3.20 to 2.3.21 in /espresso-server","user":"dependabot[bot]","labels":["dependencies","released","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-23T09:11:30.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-23T08:48:33.000Z","updated_at":"2026-05-23T09:15:45.000Z","time_to_close":1377,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"kotlin","old_version":"2.3.20","new_version":"2.3.21","repository_url":null}],"path":"/espresso-server","ecosystem":"maven"},"body":"Bumps `kotlin` from 2.3.20 to 2.3.21.\nUpdates `org.jetbrains.kotlin:kotlin-stdlib` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-reflect` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-reflect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-reflect's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-stdlib-jdk8` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-stdlib-jdk8's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-stdlib-jdk8's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-test` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-test-junit` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-test-junit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-test-junit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/appium/appium-espresso-driver/pull/1166","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/appium%2Fappium-espresso-driver/issues/1166","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1166/packages"},{"uuid":"4505380239","node_id":"PR_kwDOSlP4SM7ee-l5","number":10,"state":"open","title":"Bump kotlin from 2.2.21 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java","common","android","ios"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-22T20:17:21.000Z","updated_at":"2026-05-23T01:03:36.007Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"kotlin","old_version":"2.2.21","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.2.21 to 2.3.21.\nUpdates `org.jetbrains.kotlin.multiplatform` from 2.2.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.multiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.multiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.2.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/EstebanCastel/KMP-IMPACT-DroidconKotlin-with-tool/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/EstebanCastel%2FKMP-IMPACT-DroidconKotlin-with-tool/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"},{"uuid":"4496950634","node_id":"PR_kwDOSkOyzM7eDoK3","number":4,"state":"open","title":"Bump kotlin from 2.0.21 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java","common","android","ios"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-21T18:20:28.000Z","updated_at":"2026-05-21T23:51:09.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"kotlin","old_version":"2.0.21","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps `kotlin` from 2.0.21 to 2.3.21.\nUpdates `org.jetbrains.kotlin.multiplatform` from 2.0.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.multiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.multiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.android` from 2.0.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.0.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.jvm` from 2.0.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.native.cocoapods` from 2.0.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.native.cocoapods's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.native.cocoapods's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.parcelize` from 2.0.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.parcelize's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.parcelize's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependab...\n\n_Description has been truncated_","html_url":"https://github.com/estebancastelblanco/Pokedex-v4/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/estebancastelblanco%2FPokedex-v4/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"},{"uuid":"4495228832","node_id":"PR_kwDOGWIjw87d9_nc","number":4164,"state":"closed","title":"chore(deps): [WPB-9777] bump kotlin from 2.3.20 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-22T07:37:15.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-21T14:10:39.000Z","updated_at":"2026-05-22T07:37:25.000Z","time_to_close":62796,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): [WPB-9777]","packages":[{"name":"kotlin","old_version":"2.3.20","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.3.20 to 2.3.21.\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-test` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-native-utils` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-native-utils's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-native-utils's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.multiplatform` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.multiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.multiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.android` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent la...\n\n_Description has been truncated_","html_url":"https://github.com/wireapp/kalium/pull/4164","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/wireapp%2Fkalium/issues/4164","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4164/packages"},{"uuid":"4462863507","node_id":"PR_kwDOSf0FIs7cWF-E","number":8,"state":"closed","title":"Bump kotlin from 1.9.24 to 2.3.21 in /android","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-02T10:33:27.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-17T08:35:47.000Z","updated_at":"2026-06-02T10:33:29.000Z","time_to_close":1389460,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"kotlin","old_version":"1.9.24","new_version":"2.3.21","repository_url":null}],"path":"/android","ecosystem":"maven"},"body":"Bumps `kotlin` from 1.9.24 to 2.3.21.\nUpdates `org.jetbrains.kotlin.android` from 1.9.24 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v1.9.24...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 1.9.24 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v1.9.24...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/royalpinto007/PennyRush/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/royalpinto007%2FPennyRush/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"},{"uuid":"4442025371","node_id":"PR_kwDOIybSP87bU6M2","number":311,"state":"closed","title":"Bump kotlin from 2.4.0-Beta1 to 2.4.0-RC","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":["hfhbd"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-28T00:56:13.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-14T00:09:19.000Z","updated_at":"2026-05-28T00:56:15.000Z","time_to_close":1212414,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"kotlin","old_version":"2.4.0-Beta1","new_version":"2.4.0-RC","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.4.0-Beta1 to 2.4.0-RC.\nUpdates `org.jetbrains.kotlin.jvm` from 2.4.0-Beta1 to 2.4.0-RC\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0-RC\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. J2KLIB\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84877\"\u003e\u003ccode\u003eKT-84877\u003c/code\u003e\u003c/a\u003e [J2KLIB] Remove withKotlinBuiltinsHack present in JKlibIrLinker.kt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85846\"\u003e\u003ccode\u003eKT-85846\u003c/code\u003e\u003c/a\u003e Tests failing with fake override property missing accessors or backing field\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85717\"\u003e\u003ccode\u003eKT-85717\u003c/code\u003e\u003c/a\u003e  IllegalStateException due to already bound symbol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86204\"\u003e\u003ccode\u003eKT-86204\u003c/code\u003e\u003c/a\u003e [JKlib] Propagate private members from dependecies in the IR tree\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86210\"\u003e\u003ccode\u003eKT-86210\u003c/code\u003e\u003c/a\u003e Update -Xannotation-default-target CLI parameter doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85948\"\u003e\u003ccode\u003eKT-85948\u003c/code\u003e\u003c/a\u003e Contracts in 2.4 stdlib is not compatible with 2.3 compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85957\"\u003e\u003ccode\u003eKT-85957\u003c/code\u003e\u003c/a\u003e Contract on function is getting discarded if any of effect declarations is unknown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86130\"\u003e\u003ccode\u003eKT-86130\u003c/code\u003e\u003c/a\u003e False positive UNINITIALIZED_ENUM_COMPANION on LV 2.3 and lower\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84860\"\u003e\u003ccode\u003eKT-84860\u003c/code\u003e\u003c/a\u003e False positive UNINITIALIZED_ENUM_COMPANION in enum access with explicit receiver in enum initializer when enum class has a companion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84319\"\u003e\u003ccode\u003eKT-84319\u003c/code\u003e\u003c/a\u003e Add JVM target bytecode version 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85825\"\u003e\u003ccode\u003eKT-85825\u003c/code\u003e\u003c/a\u003e Context parameter lambda loses context type when wrapped in nested \u003ccode\u003erun\u003c/code\u003e blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84960\"\u003e\u003ccode\u003eKT-84960\u003c/code\u003e\u003c/a\u003e Property contract leaks unsubstituted type parameter in smart cast\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/509945632\"\u003e\u003ccode\u003eb/509945632\u003c/code\u003e\u003c/a\u003e Do not generate groups in inline lambdas without \u003ccode\u003e@Composable\u003c/code\u003e calls\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIR. Interpreter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86083\"\u003e\u003ccode\u003eKT-86083\u003c/code\u003e\u003c/a\u003e Create a new CLI flag to enable \u003ccode\u003eIntrinsicConstEvaluation\u003c/code\u003e feature\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJVM. Reflection\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86017\"\u003e\u003ccode\u003eKT-86017\u003c/code\u003e\u003c/a\u003e KClass.constructors returns all java.lang.String constructors for mapped type kotlin.String\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85999\"\u003e\u003ccode\u003eKT-85999\u003c/code\u003e\u003c/a\u003e Reflection: ByteArray KType incorrectly has type arguments in Kotlin 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86027\"\u003e\u003ccode\u003eKT-86027\u003c/code\u003e\u003c/a\u003e Hide returnsResultOf under a separate flag and remove its usages from kotlin stdlib\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84733\"\u003e\u003ccode\u003eKT-84733\u003c/code\u003e\u003c/a\u003e LLVM Update: rebase LLVM once the upstream stabilizes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Compiler Plugin API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85969\"\u003e\u003ccode\u003eKT-85969\u003c/code\u003e\u003c/a\u003e KtLint incompatible with Kotlin 2.4.0-Beta2 (parsing errors / Extensions storage issue)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Compiler Plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86170\"\u003e\u003ccode\u003eKT-86170\u003c/code\u003e\u003c/a\u003e PowerAssert: Stabilize runtime ABI for initial release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85250\"\u003e\u003ccode\u003eKT-85250\u003c/code\u003e\u003c/a\u003e PowerAssert: Automatically add runtime library dependency\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/v2.4.0-RC/ChangeLog.md\"\u003eorg.jetbrains.kotlin.jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0-RC\u003c/h2\u003e\n\u003ch3\u003eBackend. J2KLIB\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84877\"\u003e\u003ccode\u003eKT-84877\u003c/code\u003e\u003c/a\u003e [J2KLIB] Remove withKotlinBuiltinsHack present in JKlibIrLinker.kt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85846\"\u003e\u003ccode\u003eKT-85846\u003c/code\u003e\u003c/a\u003e Tests failing with fake override property missing accessors or backing field\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85717\"\u003e\u003ccode\u003eKT-85717\u003c/code\u003e\u003c/a\u003e  IllegalStateException due to already bound symbol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86204\"\u003e\u003ccode\u003eKT-86204\u003c/code\u003e\u003c/a\u003e [JKlib] Propagate private members from dependecies in the IR tree\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86210\"\u003e\u003ccode\u003eKT-86210\u003c/code\u003e\u003c/a\u003e Update -Xannotation-default-target CLI parameter doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85948\"\u003e\u003ccode\u003eKT-85948\u003c/code\u003e\u003c/a\u003e Contracts in 2.4 stdlib is not compatible with 2.3 compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85957\"\u003e\u003ccode\u003eKT-85957\u003c/code\u003e\u003c/a\u003e Contract on function is getting discarded if any of effect declarations is unknown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86130\"\u003e\u003ccode\u003eKT-86130\u003c/code\u003e\u003c/a\u003e False positive UNINITIALIZED_ENUM_COMPANION on LV 2.3 and lower\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84860\"\u003e\u003ccode\u003eKT-84860\u003c/code\u003e\u003c/a\u003e False positive UNINITIALIZED_ENUM_COMPANION in enum access with explicit receiver in enum initializer when enum class has a companion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84319\"\u003e\u003ccode\u003eKT-84319\u003c/code\u003e\u003c/a\u003e Add JVM target bytecode version 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85825\"\u003e\u003ccode\u003eKT-85825\u003c/code\u003e\u003c/a\u003e Context parameter lambda loses context type when wrapped in nested \u003ccode\u003erun\u003c/code\u003e blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84960\"\u003e\u003ccode\u003eKT-84960\u003c/code\u003e\u003c/a\u003e Property contract leaks unsubstituted type parameter in smart cast\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/509945632\"\u003e\u003ccode\u003eb/509945632\u003c/code\u003e\u003c/a\u003e Do not generate groups in inline lambdas without \u003ccode\u003e@Composable\u003c/code\u003e calls\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIR. Interpreter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86083\"\u003e\u003ccode\u003eKT-86083\u003c/code\u003e\u003c/a\u003e Create a new CLI flag to enable \u003ccode\u003eIntrinsicConstEvaluation\u003c/code\u003e feature\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJVM. Reflection\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86017\"\u003e\u003ccode\u003eKT-86017\u003c/code\u003e\u003c/a\u003e KClass.constructors returns all java.lang.String constructors for mapped type kotlin.String\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85999\"\u003e\u003ccode\u003eKT-85999\u003c/code\u003e\u003c/a\u003e Reflection: ByteArray KType incorrectly has type arguments in Kotlin 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86027\"\u003e\u003ccode\u003eKT-86027\u003c/code\u003e\u003c/a\u003e Hide returnsResultOf under a separate flag and remove its usages from kotlin stdlib\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84733\"\u003e\u003ccode\u003eKT-84733\u003c/code\u003e\u003c/a\u003e LLVM Update: rebase LLVM once the upstream stabilizes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Compiler Plugin API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85969\"\u003e\u003ccode\u003eKT-85969\u003c/code\u003e\u003c/a\u003e KtLint incompatible with Kotlin 2.4.0-Beta2 (parsing errors / Extensions storage issue)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Compiler Plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86170\"\u003e\u003ccode\u003eKT-86170\u003c/code\u003e\u003c/a\u003e PowerAssert: Stabilize runtime ABI for initial release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85250\"\u003e\u003ccode\u003eKT-85250\u003c/code\u003e\u003c/a\u003e PowerAssert: Automatically add runtime library dependency\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5fbe6f8bebc18839542baef52dfb8117f0ffc456\"\u003e\u003ccode\u003e5fbe6f8\u003c/code\u003e\u003c/a\u003e [KGP] Fix flaky SIGABRT in browser test runners by decoupling pipe reading fr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68d4ddb0a1719d93fc2258d69236b96fccec5304\"\u003e\u003ccode\u003e68d4ddb\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b0ce5da0a2a62939e02a6d8f3ee6ca6d4a965edc\"\u003e\u003ccode\u003eb0ce5da\u003c/code\u003e\u003c/a\u003e CLI: update doc for -Xannotation-default-target argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/760a0068e18ba1924d2673044048bea241c5031c\"\u003e\u003ccode\u003e760a006\u003c/code\u003e\u003c/a\u003e Properly count SwiftPM dependencies for FUS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/cab1a8c0927bbb882bb1f713d907b40b22d8f9ac\"\u003e\u003ccode\u003ecab1a8c\u003c/code\u003e\u003c/a\u003e Reproduce wrong SwiftPM dependencies count\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/18033418a3ec680679d9afb00be19ba978776dc9\"\u003e\u003ccode\u003e1803341\u003c/code\u003e\u003c/a\u003e [KT-86174] Project sync from cached checkout fails in convertSyntheticImportP...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/1f24024926a93830c7a15acaee21cd82820867f5\"\u003e\u003ccode\u003e1f24024\u003c/code\u003e\u003c/a\u003e [KT-86174] Project sync from cached checkout fails in convertSyntheticImportP...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4edd94cd19c21cb83b1ff3f2f9dac1e75aa79ad9\"\u003e\u003ccode\u003e4edd94c\u003c/code\u003e\u003c/a\u003e [JKLIB] Allow private members of Java classes to propagate into the IR.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e839b58a612b2881e83d1c9ba713f903fc5dcc51\"\u003e\u003ccode\u003ee839b58\u003c/code\u003e\u003c/a\u003e Bump bouncycastle to 1.84\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b690069b822cd63c236a5e610390b005304c26f0\"\u003e\u003ccode\u003eb690069\u003c/code\u003e\u003c/a\u003e Cherry pick \u0026quot;[JKLIB] Fix builtins initialization and JVM signature computatio...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.4.0-Beta1...v2.4.0-RC\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.multiplatform` from 2.4.0-Beta1 to 2.4.0-RC\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.multiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0-RC\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. J2KLIB\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84877\"\u003e\u003ccode\u003eKT-84877\u003c/code\u003e\u003c/a\u003e [J2KLIB] Remove withKotlinBuiltinsHack present in JKlibIrLinker.kt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85846\"\u003e\u003ccode\u003eKT-85846\u003c/code\u003e\u003c/a\u003e Tests failing with fake override property missing accessors or backing field\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85717\"\u003e\u003ccode\u003eKT-85717\u003c/code\u003e\u003c/a\u003e  IllegalStateException due to already bound symbol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86204\"\u003e\u003ccode\u003eKT-86204\u003c/code\u003e\u003c/a\u003e [JKlib] Propagate private members from dependecies in the IR tree\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86210\"\u003e\u003ccode\u003eKT-86210\u003c/code\u003e\u003c/a\u003e Update -Xannotation-default-target CLI parameter doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85948\"\u003e\u003ccode\u003eKT-85948\u003c/code\u003e\u003c/a\u003e Contracts in 2.4 stdlib is not compatible with 2.3 compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85957\"\u003e\u003ccode\u003eKT-85957\u003c/code\u003e\u003c/a\u003e Contract on function is getting discarded if any of effect declarations is unknown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86130\"\u003e\u003ccode\u003eKT-86130\u003c/code\u003e\u003c/a\u003e False positive UNINITIALIZED_ENUM_COMPANION on LV 2.3 and lower\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84860\"\u003e\u003ccode\u003eKT-84860\u003c/code\u003e\u003c/a\u003e False positive UNINITIALIZED_ENUM_COMPANION in enum access with explicit receiver in enum initializer when enum class has a companion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84319\"\u003e\u003ccode\u003eKT-84319\u003c/code\u003e\u003c/a\u003e Add JVM target bytecode version 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85825\"\u003e\u003ccode\u003eKT-85825\u003c/code\u003e\u003c/a\u003e Context parameter lambda loses context type when wrapped in nested \u003ccode\u003erun\u003c/code\u003e blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84960\"\u003e\u003ccode\u003eKT-84960\u003c/code\u003e\u003c/a\u003e Property contract leaks unsubstituted type parameter in smart cast\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/509945632\"\u003e\u003ccode\u003eb/509945632\u003c/code\u003e\u003c/a\u003e Do not generate groups in inline lambdas without \u003ccode\u003e@Composable\u003c/code\u003e calls\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIR. Interpreter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86083\"\u003e\u003ccode\u003eKT-86083\u003c/code\u003e\u003c/a\u003e Create a new CLI flag to enable \u003ccode\u003eIntrinsicConstEvaluation\u003c/code\u003e feature\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJVM. Reflection\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86017\"\u003e\u003ccode\u003eKT-86017\u003c/code\u003e\u003c/a\u003e KClass.constructors returns all java.lang.String constructors for mapped type kotlin.String\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85999\"\u003e\u003ccode\u003eKT-85999\u003c/code\u003e\u003c/a\u003e Reflection: ByteArray KType incorrectly has type arguments in Kotlin 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86027\"\u003e\u003ccode\u003eKT-86027\u003c/code\u003e\u003c/a\u003e Hide returnsResultOf under a separate flag and remove its usages from kotlin stdlib\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84733\"\u003e\u003ccode\u003eKT-84733\u003c/code\u003e\u003c/a\u003e LLVM Update: rebase LLVM once the upstream stabilizes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Compiler Plugin API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85969\"\u003e\u003ccode\u003eKT-85969\u003c/code\u003e\u003c/a\u003e KtLint incompatible with Kotlin 2.4.0-Beta2 (parsing errors / Extensions storage issue)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Compiler Plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86170\"\u003e\u003ccode\u003eKT-86170\u003c/code\u003e\u003c/a\u003e PowerAssert: Stabilize runtime ABI for initial release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85250\"\u003e\u003ccode\u003eKT-85250\u003c/code\u003e\u003c/a\u003e PowerAssert: Automatically add runtime library dependency\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/v2.4.0-RC/ChangeLog.md\"\u003eorg.jetbrains.kotlin.multiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0-RC\u003c/h2\u003e\n\u003ch3\u003eBackend. J2KLIB\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84877\"\u003e\u003ccode\u003eKT-84877\u003c/code\u003e\u003c/a\u003e [J2KLIB] Remove withKotlinBuiltinsHack present in JKlibIrLinker.kt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85846\"\u003e\u003ccode\u003eKT-85846\u003c/code\u003e\u003c/a\u003e Tests failing with fake override property missing accessors or backing field\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85717\"\u003e\u003ccode\u003eKT-85717\u003c/code\u003e\u003c/a\u003e  IllegalStateException due to already bound symbol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86204\"\u003e\u003ccode\u003eKT-86204\u003c/code\u003e\u003c/a\u003e [JKlib] Propagate private members from dependecies in the IR tree\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86210\"\u003e\u003ccode\u003eKT-86210\u003c/code\u003e\u003c/a\u003e Update -Xannotation-default-target CLI parameter doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85948\"\u003e\u003ccode\u003eKT-85948\u003c/code\u003e\u003c/a\u003e Contracts in 2.4 stdlib is not compatible with 2.3 compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85957\"\u003e\u003ccode\u003eKT-85957\u003c/code\u003e\u003c/a\u003e Contract on function is getting discarded if any of effect declarations is unknown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86130\"\u003e\u003ccode\u003eKT-86130\u003c/code\u003e\u003c/a\u003e False positive UNINITIALIZED_ENUM_COMPANION on LV 2.3 and lower\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84860\"\u003e\u003ccode\u003eKT-84860\u003c/code\u003e\u003c/a\u003e False positive UNINITIALIZED_ENUM_COMPANION in enum access with explicit receiver in enum initializer when enum class has a companion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84319\"\u003e\u003ccode\u003eKT-84319\u003c/code\u003e\u003c/a\u003e Add JVM target bytecode version 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85825\"\u003e\u003ccode\u003eKT-85825\u003c/code\u003e\u003c/a\u003e Context parameter lambda loses context type when wrapped in nested \u003ccode\u003erun\u003c/code\u003e blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84960\"\u003e\u003ccode\u003eKT-84960\u003c/code\u003e\u003c/a\u003e Property contract leaks unsubstituted type parameter in smart cast\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/509945632\"\u003e\u003ccode\u003eb/509945632\u003c/code\u003e\u003c/a\u003e Do not generate groups in inline lambdas without \u003ccode\u003e@Composable\u003c/code\u003e calls\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIR. Interpreter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86083\"\u003e\u003ccode\u003eKT-86083\u003c/code\u003e\u003c/a\u003e Create a new CLI flag to enable \u003ccode\u003eIntrinsicConstEvaluation\u003c/code\u003e feature\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJVM. Reflection\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86017\"\u003e\u003ccode\u003eKT-86017\u003c/code\u003e\u003c/a\u003e KClass.constructors returns all java.lang.String constructors for mapped type kotlin.String\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85999\"\u003e\u003ccode\u003eKT-85999\u003c/code\u003e\u003c/a\u003e Reflection: ByteArray KType incorrectly has type arguments in Kotlin 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86027\"\u003e\u003ccode\u003eKT-86027\u003c/code\u003e\u003c/a\u003e Hide returnsResultOf under a separate flag and remove its usages from kotlin stdlib\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84733\"\u003e\u003ccode\u003eKT-84733\u003c/code\u003e\u003c/a\u003e LLVM Update: rebase LLVM once the upstream stabilizes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Compiler Plugin API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85969\"\u003e\u003ccode\u003eKT-85969\u003c/code\u003e\u003c/a\u003e KtLint incompatible with Kotlin 2.4.0-Beta2 (parsing errors / Extensions storage issue)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Compiler Plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86170\"\u003e\u003ccode\u003eKT-86170\u003c/code\u003e\u003c/a\u003e PowerAssert: Stabilize runtime ABI for initial release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85250\"\u003e\u003ccode\u003eKT-85250\u003c/code\u003e\u003c/a\u003e PowerAssert: Automatically add runtime library dependency\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5fbe6f8bebc18839542baef52dfb8117f0ffc456\"\u003e\u003ccode\u003e5fbe6f8\u003c/code\u003e\u003c/a\u003e [KGP] Fix flaky SIGABRT in browser test runners by decoupling pipe reading fr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68d4ddb0a1719d93fc2258d69236b96fccec5304\"\u003e\u003ccode\u003e68d4ddb\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b0ce5da0a2a62939e02a6d8f3ee6ca6d4a965edc\"\u003e\u003ccode\u003eb0ce5da\u003c/code\u003e\u003c/a\u003e CLI: update doc for -Xannotation-default-target argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/760a0068e18ba1924d2673044048bea241c5031c\"\u003e\u003ccode\u003e760a006\u003c/code\u003e\u003c/a\u003e Properly count SwiftPM dependencies for FUS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/cab1a8c0927bbb882bb1f713d907b40b22d8f9ac\"\u003e\u003ccode\u003ecab1a8c\u003c/code\u003e\u003c/a\u003e Reproduce wrong SwiftPM dependencies count\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/18033418a3ec680679d9afb00be19ba978776dc9\"\u003e\u003ccode\u003e1803341\u003c/code\u003e\u003c/a\u003e [KT-86174] Project sync from cached checkout fails in convertSyntheticImportP...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/1f24024926a93830c7a15acaee21cd82820867f5\"\u003e\u003ccode\u003e1f24024\u003c/code\u003e\u003c/a\u003e [KT-86174] Project sync from cached checkout fails in convertSyntheticImportP...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4edd94cd19c21cb83b1ff3f2f9dac1e75aa79ad9\"\u003e\u003ccode\u003e4edd94c\u003c/code\u003e\u003c/a\u003e [JKLIB] Allow private members of Java classes to propagate into the IR.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e839b58a612b2881e83d1c9ba713f903fc5dcc51\"\u003e\u003ccode\u003ee839b58\u003c/code\u003e\u003c/a\u003e Bump bouncycastle to 1.84\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b690069b822cd63c236a5e610390b005304c26f0\"\u003e\u003ccode\u003eb690069\u003c/code\u003e\u003c/a\u003e Cherry pick \u0026quot;[JKLIB] Fix builtins initialization and JVM signature computatio...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.4.0-Beta1...v2.4.0-RC\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/hfhbd/serviceloader/pull/311","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hfhbd%2Fserviceloader/issues/311","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/311/packages"},{"uuid":"4372969587","node_id":"PR_kwDOR8nKRs7X02FT","number":23,"state":"closed","title":"chore(deps): bump kotlin from 2.1.10 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-04T06:07:24.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-03T21:00:20.000Z","updated_at":"2026-05-04T06:07:26.000Z","time_to_close":32824,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"kotlin","old_version":"2.1.10","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.1.10 to 2.3.21.\nUpdates `org.jetbrains.kotlin:kotlin-stdlib-jdk8` from 2.1.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-stdlib-jdk8's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-stdlib-jdk8's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.1.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.1.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.android` from 2.1.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.jvm` from 2.1.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.1.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou...\n\n_Description has been truncated_","html_url":"https://github.com/however-yir/howeverandroid-architecture-lab/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/however-yir%2Fhoweverandroid-architecture-lab/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"},{"uuid":"4362219487","node_id":"PR_kwDORX0Ea87XT4yD","number":50,"state":"open","title":"chore(deps): bump kotlin from 2.2.20 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-01T01:04:10.000Z","updated_at":"2026-05-01T01:12:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"kotlin","old_version":"2.2.20","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.2.20 to 2.3.21.\nUpdates `org.jetbrains.kotlin:kotlin-stdlib` from 2.2.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-stdlib-common` from 2.2.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-stdlib-common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-stdlib-common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.2.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.jvm` from 2.2.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/OsgiliathEnterprise/acp-langgraph-langchain-bridge/pull/50","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/OsgiliathEnterprise%2Facp-langgraph-langchain-bridge/issues/50","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/50/packages"},{"uuid":"4339955417","node_id":"PR_kwDOLMyUis7WK4kB","number":199,"state":"open","title":"Bump kotlin from 2.3.20 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-28T01:38:36.000Z","updated_at":"2026-04-28T01:45:04.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"kotlin","old_version":"2.3.20","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.3.20 to 2.3.21.\nUpdates `org.jetbrains.kotlin.jvm` from 2.3.20 to 2.3.21\n\nUpdates `org.jetbrains.kotlin.plugin.sam.with.receiver` from 2.3.20 to 2.3.21\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.3.21\n","html_url":"https://github.com/gmazzo/gradle-android-manifest-lock-plugin/pull/199","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gmazzo%2Fgradle-android-manifest-lock-plugin/issues/199","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/199/packages"},{"uuid":"4335240871","node_id":"PR_kwDOKJiLZM7V7xzh","number":155,"state":"closed","title":"Bump kotlin from 2.3.20 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-27T11:13:13.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-27T11:08:51.000Z","updated_at":"2026-04-27T11:13:25.000Z","time_to_close":262,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"kotlin","old_version":"2.3.20","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.3.20 to 2.3.21.\nUpdates `org.jetbrains.kotlin:kotlin-test` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.jvm` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.sam.with.receiver` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.sam.with.receiver's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.sam.with.receiver's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/gmazzo/gradle-docker-compose-plugin/pull/155","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gmazzo%2Fgradle-docker-compose-plugin/issues/155","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/155/packages"},{"uuid":"4328168859","node_id":"PR_kwDOPTaqrs7VmFIi","number":98,"state":"open","title":"Bump kotlin from 2.3.20 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-25T13:08:28.000Z","updated_at":"2026-04-25T13:10:37.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"kotlin","old_version":"2.3.20","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.3.20 to 2.3.21.\nUpdates `org.jetbrains.kotlin.jvm` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/wduncanfraser/ktor-koin-template/pull/98","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/wduncanfraser%2Fktor-koin-template/issues/98","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/98/packages"},{"uuid":"4326424042","node_id":"PR_kwDORjsXAM7Vgwnr","number":56,"state":"open","title":"chore(deps): bump kotlin from 2.3.20 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java","blocked"],"assignees":["garfiec"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-25T00:41:14.000Z","updated_at":"2026-05-06T01:29:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"kotlin","old_version":"2.3.20","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.3.20 to 2.3.21.\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:compose-compiler-gradle-plugin` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:compose-compiler-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:compose-compiler-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.android` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.multiplatform` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.multiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.multiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e","html_url":"https://github.com/garfiec/Librechat-Mobile/pull/56","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/garfiec%2FLibrechat-Mobile/issues/56","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/56/packages"},{"uuid":"4321379585","node_id":"PR_kwDOKqgy1c7VQKVI","number":194,"state":"open","title":"Bump kotlin from 2.3.20 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-24T07:36:03.000Z","updated_at":"2026-04-24T07:50:16.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"kotlin","old_version":"2.3.20","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.3.20 to 2.3.21.\nUpdates `org.jetbrains.kotlin.jvm` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/liff/db-external-command-auth/pull/194","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/liff%2Fdb-external-command-auth/issues/194","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/194/packages"},{"uuid":"4319606820","node_id":"PR_kwDOMDVFS87VKV17","number":180,"state":"closed","title":"deps(gradle): bump kotlin from 2.3.20 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-04-24T00:13:52.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-24T00:11:44.000Z","updated_at":"2026-04-24T00:13:53.000Z","time_to_close":128,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(gradle)","packages":[{"name":"kotlin","old_version":"2.3.20","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.3.20 to 2.3.21.\nUpdates `org.jetbrains.kotlin:kotlin-test` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.android` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/RyuNen344/GlyphKtx/pull/180","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/RyuNen344%2FGlyphKtx/issues/180","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/180/packages"},{"uuid":"4319357940","node_id":"PR_kwDOIzgPSM7VJips","number":38,"state":"open","title":"Bump kotlin from 2.3.20 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-23T22:57:31.000Z","updated_at":"2026-04-23T22:58:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"kotlin","old_version":"2.3.20","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.3.20 to 2.3.21.\nUpdates `org.jetbrains.kotlin.android` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/chr233/PureNGA/pull/38","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/chr233%2FPureNGA/issues/38","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/38/packages"},{"uuid":"4319294575","node_id":"PR_kwDOPKUpls7VJVcb","number":25,"state":"open","title":"build(deps): bump kotlin from 2.3.10 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-23T22:39:53.000Z","updated_at":"2026-04-28T00:44:54.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"kotlin","old_version":"2.3.10","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.3.10 to 2.3.21.\nUpdates `org.jetbrains.kotlin:kotlin-test` from 2.3.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.3.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.multiplatform` from 2.3.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.multiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.multiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/amirroid/JalaliDate/pull/25","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirroid%2FJalaliDate/issues/25","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/25/packages"},{"uuid":"4318830546","node_id":"PR_kwDOJ_TuiM7VH0hg","number":310,"state":"open","title":"Bump kotlin from 2.3.20 to 2.3.21","user":"dependabot[bot]","labels":["java","dependencies"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-23T20:56:42.000Z","updated_at":"2026-04-23T20:58:51.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"kotlin","old_version":"2.3.20","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.3.20 to 2.3.21.\nUpdates `org.jetbrains.kotlin:kotlin-test` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.jvm` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Escalar-Alcoia-i-Comtat/BackendKotlin/pull/310","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Escalar-Alcoia-i-Comtat%2FBackendKotlin/issues/310","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/310/packages"},{"uuid":"4318335382","node_id":"PR_kwDOCd3ok87VGLaU","number":661,"state":"closed","title":"Bump kotlin from 2.3.20 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":["fibelatti"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-23T21:47:19.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-23T19:26:58.000Z","updated_at":"2026-04-23T21:47:29.000Z","time_to_close":8421,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"kotlin","old_version":"2.3.20","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.3.20 to 2.3.21.\nUpdates `org.jetbrains.kotlin:kotlin-stdlib-jdk8` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-stdlib-jdk8's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-stdlib-jdk8's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-reflect` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-reflect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-reflect's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:compose-compiler-gradle-plugin` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:compose-compiler-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:compose-compiler-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.multiplatform` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.multiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.multiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot s...\n\n_Description has been truncated_","html_url":"https://github.com/fibelatti/pinboard-kotlin/pull/661","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/fibelatti%2Fpinboard-kotlin/issues/661","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/661/packages"}],"issue_packages":[{"old_version":"2.3.21","new_version":"2.4.0","update_type":"minor","path":null,"pr_created_at":"2026-06-04T02:00:43.000Z","version_change":"2.3.21 → 2.4.0","issue":{"uuid":"4585135833","node_id":"PR_kwDOOyeZhM7ifhC-","number":60,"state":"open","title":"Bump kotlin from 2.3.21 to 2.4.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-04T02:00:43.000Z","updated_at":"2026-06-04T02:16:25.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"kotlin","old_version":"2.3.21","new_version":"2.4.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.3.21 to 2.4.0.\nUpdates `org.jetbrains.kotlin.jvm` from 2.3.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.21 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/jeremy-morren/open-telemetry-rider/pull/60","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeremy-morren%2Fopen-telemetry-rider/issues/60","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/60/packages"}},{"old_version":"2.0.21","new_version":"2.3.21","update_type":"minor","path":null,"pr_created_at":"2026-05-25T00:32:29.000Z","version_change":"2.0.21 → 2.3.21","issue":{"uuid":"4513461081","node_id":"PR_kwDOSm1lS87e3YrF","number":6,"state":"open","title":"chore(deps): bump kotlin from 2.0.21 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java","common","android","ios"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-25T00:32:29.000Z","updated_at":"2026-05-25T00:42:49.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"kotlin","old_version":"2.0.21","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.0.21 to 2.3.21.\nUpdates `org.jetbrains.kotlin.multiplatform` from 2.0.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.multiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.multiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.android` from 2.0.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.0.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.0.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.jvm` from 2.0.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.native.cocoapods` from 2.0.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.native.cocoapods's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.native.cocoapods's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.parcelize` from 2.0.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.parcelize's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href...\n\n_Description has been truncated_","html_url":"https://github.com/EstebanCastel/kmp-impact-install-test/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/EstebanCastel%2Fkmp-impact-install-test/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"}},{"old_version":"2.3.20","new_version":"2.3.21","update_type":"patch","path":"/espresso-server","pr_created_at":"2026-05-23T08:48:33.000Z","version_change":"2.3.20 → 2.3.21","issue":{"uuid":"4507544301","node_id":"PR_kwDOBX7G8M7eluF1","number":1166,"state":"closed","title":"chore(deps): bump kotlin from 2.3.20 to 2.3.21 in /espresso-server","user":"dependabot[bot]","labels":["dependencies","released","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-23T09:11:30.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-23T08:48:33.000Z","updated_at":"2026-05-23T09:15:45.000Z","time_to_close":1377,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"kotlin","old_version":"2.3.20","new_version":"2.3.21","repository_url":null}],"path":"/espresso-server","ecosystem":"maven"},"body":"Bumps `kotlin` from 2.3.20 to 2.3.21.\nUpdates `org.jetbrains.kotlin:kotlin-stdlib` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-reflect` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-reflect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-reflect's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-stdlib-jdk8` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-stdlib-jdk8's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-stdlib-jdk8's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-test` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-test-junit` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-test-junit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-test-junit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/appium/appium-espresso-driver/pull/1166","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/appium%2Fappium-espresso-driver/issues/1166","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1166/packages"}},{"old_version":"2.2.21","new_version":"2.3.21","update_type":"minor","path":null,"pr_created_at":"2026-05-22T20:17:21.000Z","version_change":"2.2.21 → 2.3.21","issue":{"uuid":"4505380239","node_id":"PR_kwDOSlP4SM7ee-l5","number":10,"state":"open","title":"Bump kotlin from 2.2.21 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java","common","android","ios"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-22T20:17:21.000Z","updated_at":"2026-05-23T01:03:36.007Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"kotlin","old_version":"2.2.21","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.2.21 to 2.3.21.\nUpdates `org.jetbrains.kotlin.multiplatform` from 2.2.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.multiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.multiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.2.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/EstebanCastel/KMP-IMPACT-DroidconKotlin-with-tool/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/EstebanCastel%2FKMP-IMPACT-DroidconKotlin-with-tool/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"}},{"old_version":"2.0.21","new_version":"2.3.21","update_type":"minor","path":null,"pr_created_at":"2026-05-21T18:20:28.000Z","version_change":"2.0.21 → 2.3.21","issue":{"uuid":"4496950634","node_id":"PR_kwDOSkOyzM7eDoK3","number":4,"state":"open","title":"Bump kotlin from 2.0.21 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java","common","android","ios"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-21T18:20:28.000Z","updated_at":"2026-05-21T23:51:09.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"kotlin","old_version":"2.0.21","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps `kotlin` from 2.0.21 to 2.3.21.\nUpdates `org.jetbrains.kotlin.multiplatform` from 2.0.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.multiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.multiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.android` from 2.0.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.0.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.jvm` from 2.0.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.native.cocoapods` from 2.0.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.native.cocoapods's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.native.cocoapods's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.parcelize` from 2.0.21 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.parcelize's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.parcelize's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependab...\n\n_Description has been truncated_","html_url":"https://github.com/estebancastelblanco/Pokedex-v4/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/estebancastelblanco%2FPokedex-v4/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"}},{"old_version":"2.3.20","new_version":"2.3.21","update_type":"patch","path":null,"pr_created_at":"2026-05-21T14:10:39.000Z","version_change":"2.3.20 → 2.3.21","issue":{"uuid":"4495228832","node_id":"PR_kwDOGWIjw87d9_nc","number":4164,"state":"closed","title":"chore(deps): [WPB-9777] bump kotlin from 2.3.20 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-22T07:37:15.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-21T14:10:39.000Z","updated_at":"2026-05-22T07:37:25.000Z","time_to_close":62796,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): [WPB-9777]","packages":[{"name":"kotlin","old_version":"2.3.20","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.3.20 to 2.3.21.\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-test` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-native-utils` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-native-utils's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-native-utils's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.multiplatform` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.multiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.multiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.android` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent la...\n\n_Description has been truncated_","html_url":"https://github.com/wireapp/kalium/pull/4164","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/wireapp%2Fkalium/issues/4164","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4164/packages"}},{"old_version":"1.9.24","new_version":"2.3.21","update_type":"major","path":"/android","pr_created_at":"2026-05-17T08:35:47.000Z","version_change":"1.9.24 → 2.3.21","issue":{"uuid":"4462863507","node_id":"PR_kwDOSf0FIs7cWF-E","number":8,"state":"closed","title":"Bump kotlin from 1.9.24 to 2.3.21 in /android","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-02T10:33:27.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-17T08:35:47.000Z","updated_at":"2026-06-02T10:33:29.000Z","time_to_close":1389460,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"kotlin","old_version":"1.9.24","new_version":"2.3.21","repository_url":null}],"path":"/android","ecosystem":"maven"},"body":"Bumps `kotlin` from 1.9.24 to 2.3.21.\nUpdates `org.jetbrains.kotlin.android` from 1.9.24 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v1.9.24...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 1.9.24 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v1.9.24...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/royalpinto007/PennyRush/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/royalpinto007%2FPennyRush/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"}},{"old_version":"2.4.0-Beta1","new_version":"2.4.0-RC","update_type":null,"path":null,"pr_created_at":"2026-05-14T00:09:19.000Z","version_change":"2.4.0-Beta1 → 2.4.0-RC","issue":{"uuid":"4442025371","node_id":"PR_kwDOIybSP87bU6M2","number":311,"state":"closed","title":"Bump kotlin from 2.4.0-Beta1 to 2.4.0-RC","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":["hfhbd"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-28T00:56:13.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-14T00:09:19.000Z","updated_at":"2026-05-28T00:56:15.000Z","time_to_close":1212414,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"kotlin","old_version":"2.4.0-Beta1","new_version":"2.4.0-RC","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.4.0-Beta1 to 2.4.0-RC.\nUpdates `org.jetbrains.kotlin.jvm` from 2.4.0-Beta1 to 2.4.0-RC\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0-RC\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. J2KLIB\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84877\"\u003e\u003ccode\u003eKT-84877\u003c/code\u003e\u003c/a\u003e [J2KLIB] Remove withKotlinBuiltinsHack present in JKlibIrLinker.kt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85846\"\u003e\u003ccode\u003eKT-85846\u003c/code\u003e\u003c/a\u003e Tests failing with fake override property missing accessors or backing field\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85717\"\u003e\u003ccode\u003eKT-85717\u003c/code\u003e\u003c/a\u003e  IllegalStateException due to already bound symbol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86204\"\u003e\u003ccode\u003eKT-86204\u003c/code\u003e\u003c/a\u003e [JKlib] Propagate private members from dependecies in the IR tree\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86210\"\u003e\u003ccode\u003eKT-86210\u003c/code\u003e\u003c/a\u003e Update -Xannotation-default-target CLI parameter doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85948\"\u003e\u003ccode\u003eKT-85948\u003c/code\u003e\u003c/a\u003e Contracts in 2.4 stdlib is not compatible with 2.3 compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85957\"\u003e\u003ccode\u003eKT-85957\u003c/code\u003e\u003c/a\u003e Contract on function is getting discarded if any of effect declarations is unknown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86130\"\u003e\u003ccode\u003eKT-86130\u003c/code\u003e\u003c/a\u003e False positive UNINITIALIZED_ENUM_COMPANION on LV 2.3 and lower\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84860\"\u003e\u003ccode\u003eKT-84860\u003c/code\u003e\u003c/a\u003e False positive UNINITIALIZED_ENUM_COMPANION in enum access with explicit receiver in enum initializer when enum class has a companion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84319\"\u003e\u003ccode\u003eKT-84319\u003c/code\u003e\u003c/a\u003e Add JVM target bytecode version 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85825\"\u003e\u003ccode\u003eKT-85825\u003c/code\u003e\u003c/a\u003e Context parameter lambda loses context type when wrapped in nested \u003ccode\u003erun\u003c/code\u003e blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84960\"\u003e\u003ccode\u003eKT-84960\u003c/code\u003e\u003c/a\u003e Property contract leaks unsubstituted type parameter in smart cast\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/509945632\"\u003e\u003ccode\u003eb/509945632\u003c/code\u003e\u003c/a\u003e Do not generate groups in inline lambdas without \u003ccode\u003e@Composable\u003c/code\u003e calls\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIR. Interpreter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86083\"\u003e\u003ccode\u003eKT-86083\u003c/code\u003e\u003c/a\u003e Create a new CLI flag to enable \u003ccode\u003eIntrinsicConstEvaluation\u003c/code\u003e feature\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJVM. Reflection\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86017\"\u003e\u003ccode\u003eKT-86017\u003c/code\u003e\u003c/a\u003e KClass.constructors returns all java.lang.String constructors for mapped type kotlin.String\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85999\"\u003e\u003ccode\u003eKT-85999\u003c/code\u003e\u003c/a\u003e Reflection: ByteArray KType incorrectly has type arguments in Kotlin 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86027\"\u003e\u003ccode\u003eKT-86027\u003c/code\u003e\u003c/a\u003e Hide returnsResultOf under a separate flag and remove its usages from kotlin stdlib\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84733\"\u003e\u003ccode\u003eKT-84733\u003c/code\u003e\u003c/a\u003e LLVM Update: rebase LLVM once the upstream stabilizes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Compiler Plugin API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85969\"\u003e\u003ccode\u003eKT-85969\u003c/code\u003e\u003c/a\u003e KtLint incompatible with Kotlin 2.4.0-Beta2 (parsing errors / Extensions storage issue)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Compiler Plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86170\"\u003e\u003ccode\u003eKT-86170\u003c/code\u003e\u003c/a\u003e PowerAssert: Stabilize runtime ABI for initial release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85250\"\u003e\u003ccode\u003eKT-85250\u003c/code\u003e\u003c/a\u003e PowerAssert: Automatically add runtime library dependency\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/v2.4.0-RC/ChangeLog.md\"\u003eorg.jetbrains.kotlin.jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0-RC\u003c/h2\u003e\n\u003ch3\u003eBackend. J2KLIB\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84877\"\u003e\u003ccode\u003eKT-84877\u003c/code\u003e\u003c/a\u003e [J2KLIB] Remove withKotlinBuiltinsHack present in JKlibIrLinker.kt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85846\"\u003e\u003ccode\u003eKT-85846\u003c/code\u003e\u003c/a\u003e Tests failing with fake override property missing accessors or backing field\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85717\"\u003e\u003ccode\u003eKT-85717\u003c/code\u003e\u003c/a\u003e  IllegalStateException due to already bound symbol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86204\"\u003e\u003ccode\u003eKT-86204\u003c/code\u003e\u003c/a\u003e [JKlib] Propagate private members from dependecies in the IR tree\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86210\"\u003e\u003ccode\u003eKT-86210\u003c/code\u003e\u003c/a\u003e Update -Xannotation-default-target CLI parameter doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85948\"\u003e\u003ccode\u003eKT-85948\u003c/code\u003e\u003c/a\u003e Contracts in 2.4 stdlib is not compatible with 2.3 compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85957\"\u003e\u003ccode\u003eKT-85957\u003c/code\u003e\u003c/a\u003e Contract on function is getting discarded if any of effect declarations is unknown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86130\"\u003e\u003ccode\u003eKT-86130\u003c/code\u003e\u003c/a\u003e False positive UNINITIALIZED_ENUM_COMPANION on LV 2.3 and lower\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84860\"\u003e\u003ccode\u003eKT-84860\u003c/code\u003e\u003c/a\u003e False positive UNINITIALIZED_ENUM_COMPANION in enum access with explicit receiver in enum initializer when enum class has a companion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84319\"\u003e\u003ccode\u003eKT-84319\u003c/code\u003e\u003c/a\u003e Add JVM target bytecode version 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85825\"\u003e\u003ccode\u003eKT-85825\u003c/code\u003e\u003c/a\u003e Context parameter lambda loses context type when wrapped in nested \u003ccode\u003erun\u003c/code\u003e blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84960\"\u003e\u003ccode\u003eKT-84960\u003c/code\u003e\u003c/a\u003e Property contract leaks unsubstituted type parameter in smart cast\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/509945632\"\u003e\u003ccode\u003eb/509945632\u003c/code\u003e\u003c/a\u003e Do not generate groups in inline lambdas without \u003ccode\u003e@Composable\u003c/code\u003e calls\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIR. Interpreter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86083\"\u003e\u003ccode\u003eKT-86083\u003c/code\u003e\u003c/a\u003e Create a new CLI flag to enable \u003ccode\u003eIntrinsicConstEvaluation\u003c/code\u003e feature\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJVM. Reflection\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86017\"\u003e\u003ccode\u003eKT-86017\u003c/code\u003e\u003c/a\u003e KClass.constructors returns all java.lang.String constructors for mapped type kotlin.String\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85999\"\u003e\u003ccode\u003eKT-85999\u003c/code\u003e\u003c/a\u003e Reflection: ByteArray KType incorrectly has type arguments in Kotlin 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86027\"\u003e\u003ccode\u003eKT-86027\u003c/code\u003e\u003c/a\u003e Hide returnsResultOf under a separate flag and remove its usages from kotlin stdlib\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84733\"\u003e\u003ccode\u003eKT-84733\u003c/code\u003e\u003c/a\u003e LLVM Update: rebase LLVM once the upstream stabilizes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Compiler Plugin API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85969\"\u003e\u003ccode\u003eKT-85969\u003c/code\u003e\u003c/a\u003e KtLint incompatible with Kotlin 2.4.0-Beta2 (parsing errors / Extensions storage issue)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Compiler Plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86170\"\u003e\u003ccode\u003eKT-86170\u003c/code\u003e\u003c/a\u003e PowerAssert: Stabilize runtime ABI for initial release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85250\"\u003e\u003ccode\u003eKT-85250\u003c/code\u003e\u003c/a\u003e PowerAssert: Automatically add runtime library dependency\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5fbe6f8bebc18839542baef52dfb8117f0ffc456\"\u003e\u003ccode\u003e5fbe6f8\u003c/code\u003e\u003c/a\u003e [KGP] Fix flaky SIGABRT in browser test runners by decoupling pipe reading fr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68d4ddb0a1719d93fc2258d69236b96fccec5304\"\u003e\u003ccode\u003e68d4ddb\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b0ce5da0a2a62939e02a6d8f3ee6ca6d4a965edc\"\u003e\u003ccode\u003eb0ce5da\u003c/code\u003e\u003c/a\u003e CLI: update doc for -Xannotation-default-target argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/760a0068e18ba1924d2673044048bea241c5031c\"\u003e\u003ccode\u003e760a006\u003c/code\u003e\u003c/a\u003e Properly count SwiftPM dependencies for FUS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/cab1a8c0927bbb882bb1f713d907b40b22d8f9ac\"\u003e\u003ccode\u003ecab1a8c\u003c/code\u003e\u003c/a\u003e Reproduce wrong SwiftPM dependencies count\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/18033418a3ec680679d9afb00be19ba978776dc9\"\u003e\u003ccode\u003e1803341\u003c/code\u003e\u003c/a\u003e [KT-86174] Project sync from cached checkout fails in convertSyntheticImportP...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/1f24024926a93830c7a15acaee21cd82820867f5\"\u003e\u003ccode\u003e1f24024\u003c/code\u003e\u003c/a\u003e [KT-86174] Project sync from cached checkout fails in convertSyntheticImportP...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4edd94cd19c21cb83b1ff3f2f9dac1e75aa79ad9\"\u003e\u003ccode\u003e4edd94c\u003c/code\u003e\u003c/a\u003e [JKLIB] Allow private members of Java classes to propagate into the IR.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e839b58a612b2881e83d1c9ba713f903fc5dcc51\"\u003e\u003ccode\u003ee839b58\u003c/code\u003e\u003c/a\u003e Bump bouncycastle to 1.84\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b690069b822cd63c236a5e610390b005304c26f0\"\u003e\u003ccode\u003eb690069\u003c/code\u003e\u003c/a\u003e Cherry pick \u0026quot;[JKLIB] Fix builtins initialization and JVM signature computatio...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.4.0-Beta1...v2.4.0-RC\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.multiplatform` from 2.4.0-Beta1 to 2.4.0-RC\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.multiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0-RC\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. J2KLIB\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84877\"\u003e\u003ccode\u003eKT-84877\u003c/code\u003e\u003c/a\u003e [J2KLIB] Remove withKotlinBuiltinsHack present in JKlibIrLinker.kt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85846\"\u003e\u003ccode\u003eKT-85846\u003c/code\u003e\u003c/a\u003e Tests failing with fake override property missing accessors or backing field\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85717\"\u003e\u003ccode\u003eKT-85717\u003c/code\u003e\u003c/a\u003e  IllegalStateException due to already bound symbol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86204\"\u003e\u003ccode\u003eKT-86204\u003c/code\u003e\u003c/a\u003e [JKlib] Propagate private members from dependecies in the IR tree\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86210\"\u003e\u003ccode\u003eKT-86210\u003c/code\u003e\u003c/a\u003e Update -Xannotation-default-target CLI parameter doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85948\"\u003e\u003ccode\u003eKT-85948\u003c/code\u003e\u003c/a\u003e Contracts in 2.4 stdlib is not compatible with 2.3 compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85957\"\u003e\u003ccode\u003eKT-85957\u003c/code\u003e\u003c/a\u003e Contract on function is getting discarded if any of effect declarations is unknown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86130\"\u003e\u003ccode\u003eKT-86130\u003c/code\u003e\u003c/a\u003e False positive UNINITIALIZED_ENUM_COMPANION on LV 2.3 and lower\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84860\"\u003e\u003ccode\u003eKT-84860\u003c/code\u003e\u003c/a\u003e False positive UNINITIALIZED_ENUM_COMPANION in enum access with explicit receiver in enum initializer when enum class has a companion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84319\"\u003e\u003ccode\u003eKT-84319\u003c/code\u003e\u003c/a\u003e Add JVM target bytecode version 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85825\"\u003e\u003ccode\u003eKT-85825\u003c/code\u003e\u003c/a\u003e Context parameter lambda loses context type when wrapped in nested \u003ccode\u003erun\u003c/code\u003e blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84960\"\u003e\u003ccode\u003eKT-84960\u003c/code\u003e\u003c/a\u003e Property contract leaks unsubstituted type parameter in smart cast\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/509945632\"\u003e\u003ccode\u003eb/509945632\u003c/code\u003e\u003c/a\u003e Do not generate groups in inline lambdas without \u003ccode\u003e@Composable\u003c/code\u003e calls\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIR. Interpreter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86083\"\u003e\u003ccode\u003eKT-86083\u003c/code\u003e\u003c/a\u003e Create a new CLI flag to enable \u003ccode\u003eIntrinsicConstEvaluation\u003c/code\u003e feature\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJVM. Reflection\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86017\"\u003e\u003ccode\u003eKT-86017\u003c/code\u003e\u003c/a\u003e KClass.constructors returns all java.lang.String constructors for mapped type kotlin.String\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85999\"\u003e\u003ccode\u003eKT-85999\u003c/code\u003e\u003c/a\u003e Reflection: ByteArray KType incorrectly has type arguments in Kotlin 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86027\"\u003e\u003ccode\u003eKT-86027\u003c/code\u003e\u003c/a\u003e Hide returnsResultOf under a separate flag and remove its usages from kotlin stdlib\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84733\"\u003e\u003ccode\u003eKT-84733\u003c/code\u003e\u003c/a\u003e LLVM Update: rebase LLVM once the upstream stabilizes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Compiler Plugin API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85969\"\u003e\u003ccode\u003eKT-85969\u003c/code\u003e\u003c/a\u003e KtLint incompatible with Kotlin 2.4.0-Beta2 (parsing errors / Extensions storage issue)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Compiler Plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86170\"\u003e\u003ccode\u003eKT-86170\u003c/code\u003e\u003c/a\u003e PowerAssert: Stabilize runtime ABI for initial release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85250\"\u003e\u003ccode\u003eKT-85250\u003c/code\u003e\u003c/a\u003e PowerAssert: Automatically add runtime library dependency\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/v2.4.0-RC/ChangeLog.md\"\u003eorg.jetbrains.kotlin.multiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0-RC\u003c/h2\u003e\n\u003ch3\u003eBackend. J2KLIB\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84877\"\u003e\u003ccode\u003eKT-84877\u003c/code\u003e\u003c/a\u003e [J2KLIB] Remove withKotlinBuiltinsHack present in JKlibIrLinker.kt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85846\"\u003e\u003ccode\u003eKT-85846\u003c/code\u003e\u003c/a\u003e Tests failing with fake override property missing accessors or backing field\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85717\"\u003e\u003ccode\u003eKT-85717\u003c/code\u003e\u003c/a\u003e  IllegalStateException due to already bound symbol\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86204\"\u003e\u003ccode\u003eKT-86204\u003c/code\u003e\u003c/a\u003e [JKlib] Propagate private members from dependecies in the IR tree\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86210\"\u003e\u003ccode\u003eKT-86210\u003c/code\u003e\u003c/a\u003e Update -Xannotation-default-target CLI parameter doc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85948\"\u003e\u003ccode\u003eKT-85948\u003c/code\u003e\u003c/a\u003e Contracts in 2.4 stdlib is not compatible with 2.3 compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85957\"\u003e\u003ccode\u003eKT-85957\u003c/code\u003e\u003c/a\u003e Contract on function is getting discarded if any of effect declarations is unknown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86130\"\u003e\u003ccode\u003eKT-86130\u003c/code\u003e\u003c/a\u003e False positive UNINITIALIZED_ENUM_COMPANION on LV 2.3 and lower\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84860\"\u003e\u003ccode\u003eKT-84860\u003c/code\u003e\u003c/a\u003e False positive UNINITIALIZED_ENUM_COMPANION in enum access with explicit receiver in enum initializer when enum class has a companion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84319\"\u003e\u003ccode\u003eKT-84319\u003c/code\u003e\u003c/a\u003e Add JVM target bytecode version 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85825\"\u003e\u003ccode\u003eKT-85825\u003c/code\u003e\u003c/a\u003e Context parameter lambda loses context type when wrapped in nested \u003ccode\u003erun\u003c/code\u003e blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84960\"\u003e\u003ccode\u003eKT-84960\u003c/code\u003e\u003c/a\u003e Property contract leaks unsubstituted type parameter in smart cast\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/509945632\"\u003e\u003ccode\u003eb/509945632\u003c/code\u003e\u003c/a\u003e Do not generate groups in inline lambdas without \u003ccode\u003e@Composable\u003c/code\u003e calls\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIR. Interpreter\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86083\"\u003e\u003ccode\u003eKT-86083\u003c/code\u003e\u003c/a\u003e Create a new CLI flag to enable \u003ccode\u003eIntrinsicConstEvaluation\u003c/code\u003e feature\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJVM. Reflection\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86017\"\u003e\u003ccode\u003eKT-86017\u003c/code\u003e\u003c/a\u003e KClass.constructors returns all java.lang.String constructors for mapped type kotlin.String\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85999\"\u003e\u003ccode\u003eKT-85999\u003c/code\u003e\u003c/a\u003e Reflection: ByteArray KType incorrectly has type arguments in Kotlin 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86027\"\u003e\u003ccode\u003eKT-86027\u003c/code\u003e\u003c/a\u003e Hide returnsResultOf under a separate flag and remove its usages from kotlin stdlib\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84733\"\u003e\u003ccode\u003eKT-84733\u003c/code\u003e\u003c/a\u003e LLVM Update: rebase LLVM once the upstream stabilizes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Compiler Plugin API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85969\"\u003e\u003ccode\u003eKT-85969\u003c/code\u003e\u003c/a\u003e KtLint incompatible with Kotlin 2.4.0-Beta2 (parsing errors / Extensions storage issue)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Compiler Plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86170\"\u003e\u003ccode\u003eKT-86170\u003c/code\u003e\u003c/a\u003e PowerAssert: Stabilize runtime ABI for initial release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85250\"\u003e\u003ccode\u003eKT-85250\u003c/code\u003e\u003c/a\u003e PowerAssert: Automatically add runtime library dependency\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5fbe6f8bebc18839542baef52dfb8117f0ffc456\"\u003e\u003ccode\u003e5fbe6f8\u003c/code\u003e\u003c/a\u003e [KGP] Fix flaky SIGABRT in browser test runners by decoupling pipe reading fr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68d4ddb0a1719d93fc2258d69236b96fccec5304\"\u003e\u003ccode\u003e68d4ddb\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b0ce5da0a2a62939e02a6d8f3ee6ca6d4a965edc\"\u003e\u003ccode\u003eb0ce5da\u003c/code\u003e\u003c/a\u003e CLI: update doc for -Xannotation-default-target argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/760a0068e18ba1924d2673044048bea241c5031c\"\u003e\u003ccode\u003e760a006\u003c/code\u003e\u003c/a\u003e Properly count SwiftPM dependencies for FUS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/cab1a8c0927bbb882bb1f713d907b40b22d8f9ac\"\u003e\u003ccode\u003ecab1a8c\u003c/code\u003e\u003c/a\u003e Reproduce wrong SwiftPM dependencies count\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/18033418a3ec680679d9afb00be19ba978776dc9\"\u003e\u003ccode\u003e1803341\u003c/code\u003e\u003c/a\u003e [KT-86174] Project sync from cached checkout fails in convertSyntheticImportP...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/1f24024926a93830c7a15acaee21cd82820867f5\"\u003e\u003ccode\u003e1f24024\u003c/code\u003e\u003c/a\u003e [KT-86174] Project sync from cached checkout fails in convertSyntheticImportP...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4edd94cd19c21cb83b1ff3f2f9dac1e75aa79ad9\"\u003e\u003ccode\u003e4edd94c\u003c/code\u003e\u003c/a\u003e [JKLIB] Allow private members of Java classes to propagate into the IR.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e839b58a612b2881e83d1c9ba713f903fc5dcc51\"\u003e\u003ccode\u003ee839b58\u003c/code\u003e\u003c/a\u003e Bump bouncycastle to 1.84\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b690069b822cd63c236a5e610390b005304c26f0\"\u003e\u003ccode\u003eb690069\u003c/code\u003e\u003c/a\u003e Cherry pick \u0026quot;[JKLIB] Fix builtins initialization and JVM signature computatio...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.4.0-Beta1...v2.4.0-RC\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/hfhbd/serviceloader/pull/311","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hfhbd%2Fserviceloader/issues/311","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/311/packages"}},{"old_version":"2.1.10","new_version":"2.3.21","update_type":"minor","path":null,"pr_created_at":"2026-05-03T21:00:20.000Z","version_change":"2.1.10 → 2.3.21","issue":{"uuid":"4372969587","node_id":"PR_kwDOR8nKRs7X02FT","number":23,"state":"closed","title":"chore(deps): bump kotlin from 2.1.10 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-04T06:07:24.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-03T21:00:20.000Z","updated_at":"2026-05-04T06:07:26.000Z","time_to_close":32824,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"kotlin","old_version":"2.1.10","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.1.10 to 2.3.21.\nUpdates `org.jetbrains.kotlin:kotlin-stdlib-jdk8` from 2.1.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-stdlib-jdk8's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-stdlib-jdk8's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.1.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.1.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.android` from 2.1.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.jvm` from 2.1.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.1.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou...\n\n_Description has been truncated_","html_url":"https://github.com/however-yir/howeverandroid-architecture-lab/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/however-yir%2Fhoweverandroid-architecture-lab/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"}},{"old_version":"2.2.20","new_version":"2.3.21","update_type":"minor","path":null,"pr_created_at":"2026-05-01T01:04:10.000Z","version_change":"2.2.20 → 2.3.21","issue":{"uuid":"4362219487","node_id":"PR_kwDORX0Ea87XT4yD","number":50,"state":"open","title":"chore(deps): bump kotlin from 2.2.20 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-01T01:04:10.000Z","updated_at":"2026-05-01T01:12:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"kotlin","old_version":"2.2.20","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.2.20 to 2.3.21.\nUpdates `org.jetbrains.kotlin:kotlin-stdlib` from 2.2.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-stdlib-common` from 2.2.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-stdlib-common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-stdlib-common's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.2.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.jvm` from 2.2.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/OsgiliathEnterprise/acp-langgraph-langchain-bridge/pull/50","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/OsgiliathEnterprise%2Facp-langgraph-langchain-bridge/issues/50","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/50/packages"}},{"old_version":"2.3.20","new_version":"2.3.21","update_type":"patch","path":null,"pr_created_at":"2026-04-28T01:38:36.000Z","version_change":"2.3.20 → 2.3.21","issue":{"uuid":"4339955417","node_id":"PR_kwDOLMyUis7WK4kB","number":199,"state":"open","title":"Bump kotlin from 2.3.20 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-28T01:38:36.000Z","updated_at":"2026-04-28T01:45:04.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"kotlin","old_version":"2.3.20","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.3.20 to 2.3.21.\nUpdates `org.jetbrains.kotlin.jvm` from 2.3.20 to 2.3.21\n\nUpdates `org.jetbrains.kotlin.plugin.sam.with.receiver` from 2.3.20 to 2.3.21\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.3.21\n","html_url":"https://github.com/gmazzo/gradle-android-manifest-lock-plugin/pull/199","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gmazzo%2Fgradle-android-manifest-lock-plugin/issues/199","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/199/packages"}},{"old_version":"2.3.20","new_version":"2.3.21","update_type":"patch","path":null,"pr_created_at":"2026-04-27T11:08:51.000Z","version_change":"2.3.20 → 2.3.21","issue":{"uuid":"4335240871","node_id":"PR_kwDOKJiLZM7V7xzh","number":155,"state":"closed","title":"Bump kotlin from 2.3.20 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-27T11:13:13.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-27T11:08:51.000Z","updated_at":"2026-04-27T11:13:25.000Z","time_to_close":262,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"kotlin","old_version":"2.3.20","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.3.20 to 2.3.21.\nUpdates `org.jetbrains.kotlin:kotlin-test` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.jvm` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.sam.with.receiver` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.sam.with.receiver's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.sam.with.receiver's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/gmazzo/gradle-docker-compose-plugin/pull/155","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gmazzo%2Fgradle-docker-compose-plugin/issues/155","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/155/packages"}},{"old_version":"2.3.20","new_version":"2.3.21","update_type":"patch","path":null,"pr_created_at":"2026-04-25T13:08:28.000Z","version_change":"2.3.20 → 2.3.21","issue":{"uuid":"4328168859","node_id":"PR_kwDOPTaqrs7VmFIi","number":98,"state":"open","title":"Bump kotlin from 2.3.20 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-25T13:08:28.000Z","updated_at":"2026-04-25T13:10:37.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"kotlin","old_version":"2.3.20","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.3.20 to 2.3.21.\nUpdates `org.jetbrains.kotlin.jvm` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/wduncanfraser/ktor-koin-template/pull/98","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/wduncanfraser%2Fktor-koin-template/issues/98","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/98/packages"}},{"old_version":"2.3.20","new_version":"2.3.21","update_type":"patch","path":null,"pr_created_at":"2026-04-25T00:41:14.000Z","version_change":"2.3.20 → 2.3.21","issue":{"uuid":"4326424042","node_id":"PR_kwDORjsXAM7Vgwnr","number":56,"state":"open","title":"chore(deps): bump kotlin from 2.3.20 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java","blocked"],"assignees":["garfiec"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-25T00:41:14.000Z","updated_at":"2026-05-06T01:29:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"kotlin","old_version":"2.3.20","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.3.20 to 2.3.21.\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:compose-compiler-gradle-plugin` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:compose-compiler-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:compose-compiler-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.android` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.multiplatform` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.multiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.multiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e","html_url":"https://github.com/garfiec/Librechat-Mobile/pull/56","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/garfiec%2FLibrechat-Mobile/issues/56","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/56/packages"}},{"old_version":"2.3.20","new_version":"2.3.21","update_type":"patch","path":null,"pr_created_at":"2026-04-24T07:36:03.000Z","version_change":"2.3.20 → 2.3.21","issue":{"uuid":"4321379585","node_id":"PR_kwDOKqgy1c7VQKVI","number":194,"state":"open","title":"Bump kotlin from 2.3.20 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-24T07:36:03.000Z","updated_at":"2026-04-24T07:50:16.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"kotlin","old_version":"2.3.20","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.3.20 to 2.3.21.\nUpdates `org.jetbrains.kotlin.jvm` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/liff/db-external-command-auth/pull/194","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/liff%2Fdb-external-command-auth/issues/194","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/194/packages"}},{"old_version":"2.3.20","new_version":"2.3.21","update_type":"patch","path":null,"pr_created_at":"2026-04-24T00:11:44.000Z","version_change":"2.3.20 → 2.3.21","issue":{"uuid":"4319606820","node_id":"PR_kwDOMDVFS87VKV17","number":180,"state":"closed","title":"deps(gradle): bump kotlin from 2.3.20 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-04-24T00:13:52.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-24T00:11:44.000Z","updated_at":"2026-04-24T00:13:53.000Z","time_to_close":128,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(gradle)","packages":[{"name":"kotlin","old_version":"2.3.20","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.3.20 to 2.3.21.\nUpdates `org.jetbrains.kotlin:kotlin-test` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.android` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/RyuNen344/GlyphKtx/pull/180","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/RyuNen344%2FGlyphKtx/issues/180","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/180/packages"}},{"old_version":"2.3.20","new_version":"2.3.21","update_type":"patch","path":null,"pr_created_at":"2026-04-23T22:57:31.000Z","version_change":"2.3.20 → 2.3.21","issue":{"uuid":"4319357940","node_id":"PR_kwDOIzgPSM7VJips","number":38,"state":"open","title":"Bump kotlin from 2.3.20 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-23T22:57:31.000Z","updated_at":"2026-04-23T22:58:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"kotlin","old_version":"2.3.20","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.3.20 to 2.3.21.\nUpdates `org.jetbrains.kotlin.android` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/chr233/PureNGA/pull/38","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/chr233%2FPureNGA/issues/38","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/38/packages"}},{"old_version":"2.3.10","new_version":"2.3.21","update_type":"patch","path":null,"pr_created_at":"2026-04-23T22:39:53.000Z","version_change":"2.3.10 → 2.3.21","issue":{"uuid":"4319294575","node_id":"PR_kwDOPKUpls7VJVcb","number":25,"state":"open","title":"build(deps): bump kotlin from 2.3.10 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-23T22:39:53.000Z","updated_at":"2026-04-28T00:44:54.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"kotlin","old_version":"2.3.10","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.3.10 to 2.3.21.\nUpdates `org.jetbrains.kotlin:kotlin-test` from 2.3.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.3.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.multiplatform` from 2.3.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.multiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.multiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.10 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/amirroid/JalaliDate/pull/25","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirroid%2FJalaliDate/issues/25","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/25/packages"}},{"old_version":"2.3.20","new_version":"2.3.21","update_type":"patch","path":null,"pr_created_at":"2026-04-23T20:56:42.000Z","version_change":"2.3.20 → 2.3.21","issue":{"uuid":"4318830546","node_id":"PR_kwDOJ_TuiM7VH0hg","number":310,"state":"open","title":"Bump kotlin from 2.3.20 to 2.3.21","user":"dependabot[bot]","labels":["java","dependencies"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-23T20:56:42.000Z","updated_at":"2026-04-23T20:58:51.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"kotlin","old_version":"2.3.20","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.3.20 to 2.3.21.\nUpdates `org.jetbrains.kotlin:kotlin-test` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.jvm` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Escalar-Alcoia-i-Comtat/BackendKotlin/pull/310","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Escalar-Alcoia-i-Comtat%2FBackendKotlin/issues/310","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/310/packages"}},{"old_version":"2.3.20","new_version":"2.3.21","update_type":"patch","path":null,"pr_created_at":"2026-04-23T19:26:58.000Z","version_change":"2.3.20 → 2.3.21","issue":{"uuid":"4318335382","node_id":"PR_kwDOCd3ok87VGLaU","number":661,"state":"closed","title":"Bump kotlin from 2.3.20 to 2.3.21","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":["fibelatti"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-23T21:47:19.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-23T19:26:58.000Z","updated_at":"2026-04-23T21:47:29.000Z","time_to_close":8421,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"kotlin","old_version":"2.3.20","new_version":"2.3.21","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps `kotlin` from 2.3.20 to 2.3.21.\nUpdates `org.jetbrains.kotlin:kotlin-stdlib-jdk8` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-stdlib-jdk8's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-stdlib-jdk8's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-reflect` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-reflect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-reflect's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:compose-compiler-gradle-plugin` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:compose-compiler-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:compose-compiler-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.multiplatform` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.multiplatform's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.multiplatform's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot s...\n\n_Description has been truncated_","html_url":"https://github.com/fibelatti/pinboard-kotlin/pull/661","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/fibelatti%2Fpinboard-kotlin/issues/661","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/661/packages"}}]}